Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Get rid of immutable.js and implement tree-shaking for broken control…
… flow (#3153) * Switch to a mutable context TODO: recursion prevention TODO: replace "immutable" in the immutable entity path tracker * Turn the unknown key into a Symbol * Get rid of immutable and create a new path tracker * Replace mutable entity tracker with the new simple path tracker * Refactor context to align ignore properties * Move function ignore reset to actual functions * Prevent recursions on call expression level * Add infinite recursion protection again * Fix perf script * Use a Symbol for unknown values as well * Fix tests after merge * Add separate context for inclusion * Handle broken control flow due to errors * Make if-statement logic more clear * Simplify BreakFlow type * Restore broken flow after conditional statements * Also break on return statements * Implement basic break support * Implement continue statements and basic support * Add basic label support * Refine label support * Improve switch-statement handling * Ignore side-effects after broken control flow, treat hoisted functions as initialized * Make sure labeled statements do not swallow other break statements * Refactor switch statement slightly * Update dependencies and fix tests * Make the context the first include argument * Reuse inclusion context when including functions * Reuse inclusion context when including call arguments * Reuse inclusion context when including local variables * Improve coverage for catch scopes * Improve coverage, check access side-effects for instantiation, respect annotations in new expressions * Fix old Node syntax error * Improve coverage * Improve coverage
- Loading branch information
1 parent
53266e6
commit 4b16548
Showing
226 changed files
with
3,196 additions
and
1,995 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.