dillon1000/react
Commit
Browse files [valueblocks] Lower logical expressions into logical terminals
Changes the lowering for LogicalExpression to use the new 'logical' terminal. Whereas before we tried to more directly model the semantics of `??` by generating an `if (<lhs> != null)`, we now generate a branch terminal that looks at the lhs. The HIR -> ReactiveFunction construction for logical and branch terminals are placeholders while I refactor the ReactiveFunction representation to support value blocks.
Changed paths6 files
First-parent comparisoncompiler/forget/src/HIR/BuildHIR.ts ModifiedM compiler/forget/src/HIR/HIRBuilder.ts ModifiedM compiler/forget/src/ReactiveScopes/BuildReactiveFunction.ts ModifiedM compiler/forget/src/SSA/LeaveSSA.ts ModifiedM compiler/forget/src/__tests__/fixtures/hir/logical-expression.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/logical-expression.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…