dillon1000/react
Commit
Browse files Record scope outputs
While we're collecting scope dependencies, we have the exact right information to record scope outputs. These are variables that need to be defined outside of the scope and populated by recomputing (on change) or via the cached value (if no change).
Changed paths90 files
First-parent comparisoncompiler/forget/src/HIR/HIR.ts ModifiedM compiler/forget/src/HIR/InferReactiveScopeVariables.ts ModifiedM compiler/forget/src/HIR/PrintReactiveFunction.ts ModifiedM compiler/forget/src/HIR/PropagateScopeDependencies.ts ModifiedM compiler/forget/src/__tests__/fixtures/hir/_bug_conditional-break-labeled.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/alias-nested-member-path-mutate.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/alias-nested-member-path.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/alias-while.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/assignment-variations.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/call.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/component.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-break.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-on-mutable.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/constructor.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/dependencies-outputs.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/dependencies.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/extend-scopes-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/frozen-after-alias.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/hook-call.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/hooks-freeze-arguments.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/independent.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/interdependent-across-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/interdependent.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/inverted-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/issue852.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/jsx-fragment.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/logical-expression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-lifetime-loops.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-lifetime-with-aliasing.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-liverange-loop.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-interleaved-by-terminal.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-interleaved.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-shadowed.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-shadowing-within-block.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-while.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/overlapping-scopes-within-block.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/property-assignment.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reactive-scope-grouping.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reactive-scopes-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reactive-scopes.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reassignment-conditional.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reassignment-separate-scopes.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reassignment.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reverse-postorder.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/simple-alias.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/simple.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-arrayexpression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-call-jsx-2.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-call-jsx.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-complex-multiple-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-complex-single-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-for-of.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-for-trivial-update.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-for.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-multiple-phis.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-multiple-phis.js ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-nested-partial-phi.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-nested-partial-reassignment.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-newexpression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-objectexpression-phi.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-objectexpression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-alias-alias-mutate-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-alias-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-alias-mutate-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-alias-mutate-inside-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-alias-mutate.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-call.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-mutate-2.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-mutate-alias.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property-mutate.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/ssa-property.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-sibling-phis.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 ModifiedM compiler/forget/src/__tests__/fixtures/hir/transitive-alias-fields.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/type-args-test-binary-operator.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/type-binary-operator.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/type-field-load.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/type-test-field-load-binary-op.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/type-test-field-store.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/type-test-polymorphic.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/type-test-return-type-inference.expect.md ModifiedPatch
Files changed
Rendering syntax-highlighted changes…