From 292a247cc44d6647d87ef4eaa6ef54521550a669 Mon Sep 17 00:00:00 2001 From: Joe Savona Date: Mon, 5 Feb 2024 21:51:11 -0800 Subject: [PATCH] Add type to DeclareLocal --- compiler/packages/babel-plugin-react-forget/src/HIR/BuildHIR.ts | 2 ++ compiler/packages/babel-plugin-react-forget/src/HIR/HIR.ts | 1 + .../Inference/InlineImmediatelyInvokedFunctionExpressions.ts | 1 + .../src/Optimization/DeadCodeElimination.ts | 1 + 4 files changed, 5 insertions(+) diff --git a/compiler/packages/babel-plugin-react-forget/src/HIR/BuildHIR.ts b/compiler/packages/babel-plugin-react-forget/src/HIR/BuildHIR.ts index ffe464917f..df9ff21c84 100644 --- a/compiler/packages/babel-plugin-react-forget/src/HIR/BuildHIR.ts +++ b/compiler/packages/babel-plugin-react-forget/src/HIR/BuildHIR.ts @@ -867,6 +867,7 @@ function lowerStatement( kind, place, }, + type: null, loc: id.node.loc ?? GeneratedSource, }); } @@ -1200,6 +1201,7 @@ function lowerStatement( kind: InstructionKind.Catch, place: { ...place }, }, + type: null, loc: handlerBindingPath.node.loc ?? GeneratedSource, }); diff --git a/compiler/packages/babel-plugin-react-forget/src/HIR/HIR.ts b/compiler/packages/babel-plugin-react-forget/src/HIR/HIR.ts index dfd610fccd..6756ef3633 100644 --- a/compiler/packages/babel-plugin-react-forget/src/HIR/HIR.ts +++ b/compiler/packages/babel-plugin-react-forget/src/HIR/HIR.ts @@ -664,6 +664,7 @@ export type InstructionValue = | { kind: "DeclareLocal"; lvalue: LValue; + type: t.FlowType | t.TSType | null; loc: SourceLocation; } | { diff --git a/compiler/packages/babel-plugin-react-forget/src/Inference/InlineImmediatelyInvokedFunctionExpressions.ts b/compiler/packages/babel-plugin-react-forget/src/Inference/InlineImmediatelyInvokedFunctionExpressions.ts index e138b68f00..607c2430cc 100644 --- a/compiler/packages/babel-plugin-react-forget/src/Inference/InlineImmediatelyInvokedFunctionExpressions.ts +++ b/compiler/packages/babel-plugin-react-forget/src/Inference/InlineImmediatelyInvokedFunctionExpressions.ts @@ -288,6 +288,7 @@ function declareTemporary( place: result, kind: InstructionKind.Let, }, + type: null, loc: result.loc, }, }); diff --git a/compiler/packages/babel-plugin-react-forget/src/Optimization/DeadCodeElimination.ts b/compiler/packages/babel-plugin-react-forget/src/Optimization/DeadCodeElimination.ts index b5bd4227dc..e8a56a2a9d 100644 --- a/compiler/packages/babel-plugin-react-forget/src/Optimization/DeadCodeElimination.ts +++ b/compiler/packages/babel-plugin-react-forget/src/Optimization/DeadCodeElimination.ts @@ -251,6 +251,7 @@ function rewriteInstruction(instr: Instruction, state: State): void { instr.value = { kind: "DeclareLocal", lvalue: instr.value.lvalue, + type: instr.value.type, loc: instr.value.loc, }; }