dillon1000/react

Commit

Build -> Codegen for LabelTerminal

NOTE: See background in #1476. 

Updates BuildHIR to use the new LabelTerminal for LabeledStatements, and adds 
support for HIR->ReactiveFunction transformation and codegen. Note that we 
sometimes produce an extraneous block wrapper if it turns out the label wasn't 
necessary, that seems...fine?
Browse files
Changed paths18 files
First-parent comparison
M compiler/forget/src/HIR/BuildHIR.ts ModifiedM compiler/forget/src/HIR/HIR.ts ModifiedM compiler/forget/src/HIR/HIRBuilder.ts ModifiedM compiler/forget/src/ReactiveScopes/BuildReactiveFunction.ts ModifiedM compiler/forget/src/ReactiveScopes/CodegenReactiveFunction.ts ModifiedM compiler/forget/src/ReactiveScopes/FlattenReactiveLoops.ts ModifiedM compiler/forget/src/ReactiveScopes/PrintReactiveFunction.ts ModifiedM compiler/forget/src/ReactiveScopes/PropagateScopeDependencies.ts ModifiedM compiler/forget/src/ReactiveScopes/visitors.ts ModifiedM compiler/forget/src/SSA/LeaveSSA.ts ModifiedM compiler/forget/src/__tests__/fixtures/compiler/complex-while.expect.md ModifiedA compiler/forget/src/__tests__/fixtures/compiler/conditional-break-labeled.expect.md AddedR compiler/forget/src/__tests__/fixtures/compiler/error.conditional-break-labeled.js →compiler/forget/src/__tests__/fixtures/compiler/conditional-break-labeled.js RenamedD compiler/forget/src/__tests__/fixtures/compiler/error.conditional-break-labeled.expect.md DeletedR compiler/forget/src/__tests__/fixtures/compiler/error.inverted-if-else.expect.md →compiler/forget/src/__tests__/fixtures/compiler/inverted-if-else.expect.md RenamedR compiler/forget/src/__tests__/fixtures/compiler/error.inverted-if-else.js →compiler/forget/src/__tests__/fixtures/compiler/inverted-if-else.js RenamedM compiler/forget/src/__tests__/fixtures/compiler/inverted-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/compiler/unconditional-break-label.expect.md Modified
Patch

Files changed

Rendering syntax-highlighted changes…