Stuart Cook 20664a430e
Permit %%placeholder%% in left-hand-side of a let declaration (#12725)
* Permit %%placeholder%% in left-hand-side of a let declaration

* Test that "let" followed by modulo is still treated as an identifier

* More tests for edge-case handling of "let" with placeholders enabled
2021-02-01 20:00:21 -05:00

61 lines
2.3 KiB
JSON

{
"type": "File",
"start":0,"end":31,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":17}},
"program": {
"type": "Program",
"start":0,"end":31,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":17}},
"sourceType": "script",
"interpreter": null,
"body": [
{
"type": "IfStatement",
"start":0,"end":13,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":13}},
"test": {
"type": "Identifier",
"start":4,"end":8,"loc":{"start":{"line":1,"column":4},"end":{"line":1,"column":8},"identifierName":"cond"},
"name": "cond"
},
"consequent": {
"type": "ExpressionStatement",
"start":10,"end":13,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":13}},
"expression": {
"type": "Identifier",
"start":10,"end":13,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":13},"identifierName":"let"},
"name": "let"
}
},
"alternate": null
},
{
"type": "ExpressionStatement",
"start":14,"end":31,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":17}},
"expression": {
"type": "AssignmentExpression",
"start":14,"end":31,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":17}},
"operator": "=",
"left": {
"type": "Placeholder",
"start":14,"end":21,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":7}},
"name": {
"type": "Identifier",
"start":16,"end":19,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":5},"identifierName":"LHS"},
"name": "LHS"
},
"expectedNode": "Pattern"
},
"right": {
"type": "Placeholder",
"start":24,"end":31,"loc":{"start":{"line":2,"column":10},"end":{"line":2,"column":17}},
"name": {
"type": "Identifier",
"start":26,"end":29,"loc":{"start":{"line":2,"column":12},"end":{"line":2,"column":15},"identifierName":"RHS"},
"name": "RHS"
},
"expectedNode": "Expression"
}
}
}
],
"directives": []
}
}