dillon1000/react
Commit
Browse files Merge scopes that interleave or cross control-flow boundaries together
- [x] Merge scopes that are interleaved - [x] Merge scopes if they both cross control-flow boundaries together - [x] Don't merge scopes that strictly shadow Still WIP because I want to double-check and see if i can find a simpler algorithm for this. But it works.
Changed paths31 files
First-parent comparisoncompiler/forget/src/HIR/InferReactiveScopes.ts ModifiedM compiler/forget/src/HIR/PrintHIR.ts ModifiedM compiler/forget/src/__tests__/fixtures/hir/alias-while.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-on-mutable.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/extend-scopes-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/hooks-freeze-possibly-mutable-arguments.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/independent-across-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/interdependent-across-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/logical-expression.expect.md ModifiedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-interleaved.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-interleaved.js AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-shadowed.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-shadowed.js AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-shadowing-within-block.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-shadowing-within-block.js AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-while.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-while.js AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-within-block.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-within-block.js AddedM compiler/forget/src/__tests__/fixtures/hir/reassignment-conditional.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reverse-postorder.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-if-else.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-objectexpression-phi.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-return.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-shadowing.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-simple-phi.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-switch.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-throw.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-while.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/switch-non-final-default.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/switch.expect.md ModifiedPatch
Files changed
Rendering syntax-highlighted changes…