Enable expressions to use index accessor for object properties #1184
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Summary
The grammar for expressions was not allowing:
[createObject('a',1)['a']
to work which is supported by ARM. This also allows the property name to be an expression.In the grammar, we allow for a single-quoted string in addition to an expression or number. Then in the parser, we handle this additional index kind. During execution, we detect if the index is a string and try to get the object property by that name.
Also fixed debug tracing so the contents of the Node are emitted instead of the struct.
PR Context
Fix #1180