[INTERNAL] JSModuleAnalyzer: update language metadata #44
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.
The JSModuleAnalyzer internally uses some metadata describing for each
type of ESTree node what properties represent conditionally executed
code branches and what properties represent unconditionally executed
branches. The metadata is used while visiting an AST to classify
dependencies as 'static' or 'conditional'.
During the migration of the analyzer from Java to JavaScript, metadata
was only maintained for a rudimentary set of nodes (basically ES5) and all
other nodes have been marked as 'toBeDone'.
This change closes this gap and maintains metadata for all ES6 node
types; only the types planned for ES7 are kept as 'toBeDone'