diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inner-function/nullable-objects/array-map-named-callback-cross-context.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inner-function/nullable-objects/array-map-named-callback-cross-context.expect.md
index d24536d616a43..c1a6dfb3eae11 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inner-function/nullable-objects/array-map-named-callback-cross-context.expect.md
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inner-function/nullable-objects/array-map-named-callback-cross-context.expect.md
@@ -57,67 +57,62 @@ import { Stringify } from "shared-runtime";
* - cb1 is not assumed to be called since it's only used as a call operand
*/
function useFoo(t0) {
- const $ = _c(14);
- let arr1;
- let arr2;
+ const $ = _c(13);
+ const { arr1, arr2 } = t0;
let t1;
- if ($[0] !== t0) {
- ({ arr1, arr2 } = t0);
- let t2;
- if ($[4] !== arr1[0]) {
- t2 = (e) => arr1[0].value + e.value;
- $[4] = arr1[0];
- $[5] = t2;
- } else {
- t2 = $[5];
- }
- const cb1 = t2;
- t1 = () => arr1.map(cb1);
- $[0] = t0;
- $[1] = arr1;
- $[2] = arr2;
- $[3] = t1;
+ if ($[0] !== arr1[0]) {
+ t1 = (e) => arr1[0].value + e.value;
+ $[0] = arr1[0];
+ $[1] = t1;
} else {
- arr1 = $[1];
- arr2 = $[2];
- t1 = $[3];
+ t1 = $[1];
}
- const getArrMap1 = t1;
+ const cb1 = t1;
let t2;
- if ($[6] !== arr2) {
- t2 = (e_0) => arr2[0].value + e_0.value;
- $[6] = arr2;
- $[7] = t2;
+ if ($[2] !== arr1 || $[3] !== cb1) {
+ t2 = () => arr1.map(cb1);
+ $[2] = arr1;
+ $[3] = cb1;
+ $[4] = t2;
} else {
- t2 = $[7];
+ t2 = $[4];
}
- const cb2 = t2;
+ const getArrMap1 = t2;
let t3;
- if ($[8] !== arr1 || $[9] !== cb2) {
- t3 = () => arr1.map(cb2);
- $[8] = arr1;
- $[9] = cb2;
- $[10] = t3;
+ if ($[5] !== arr2) {
+ t3 = (e_0) => arr2[0].value + e_0.value;
+ $[5] = arr2;
+ $[6] = t3;
} else {
- t3 = $[10];
+ t3 = $[6];
}
- const getArrMap2 = t3;
+ const cb2 = t3;
let t4;
- if ($[11] !== getArrMap1 || $[12] !== getArrMap2) {
- t4 = (
+ if ($[7] !== arr1 || $[8] !== cb2) {
+ t4 = () => arr1.map(cb2);
+ $[7] = arr1;
+ $[8] = cb2;
+ $[9] = t4;
+ } else {
+ t4 = $[9];
+ }
+ const getArrMap2 = t4;
+ let t5;
+ if ($[10] !== getArrMap1 || $[11] !== getArrMap2) {
+ t5 = (
);
- $[11] = getArrMap1;
- $[12] = getArrMap2;
- $[13] = t4;
+ $[10] = getArrMap1;
+ $[11] = getArrMap2;
+ $[12] = t5;
} else {
- t4 = $[13];
+ t5 = $[12];
}
- return t4;
+ return t5;
}
export const FIXTURE_ENTRYPOINT = {
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/array-map-named-callback-cross-context.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/array-map-named-callback-cross-context.expect.md
index a36b862052ab2..7bc2c193cf7cc 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/array-map-named-callback-cross-context.expect.md
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/array-map-named-callback-cross-context.expect.md
@@ -58,67 +58,62 @@ import { Stringify } from "shared-runtime";
* - cb1 is not assumed to be called since it's only used as a call operand
*/
function useFoo(t0) {
- const $ = _c(14);
- let arr1;
- let arr2;
+ const $ = _c(13);
+ const { arr1, arr2 } = t0;
let t1;
- if ($[0] !== t0) {
- ({ arr1, arr2 } = t0);
- let t2;
- if ($[4] !== arr1[0]) {
- t2 = (e) => arr1[0].value + e.value;
- $[4] = arr1[0];
- $[5] = t2;
- } else {
- t2 = $[5];
- }
- const cb1 = t2;
- t1 = () => arr1.map(cb1);
- $[0] = t0;
- $[1] = arr1;
- $[2] = arr2;
- $[3] = t1;
+ if ($[0] !== arr1[0]) {
+ t1 = (e) => arr1[0].value + e.value;
+ $[0] = arr1[0];
+ $[1] = t1;
} else {
- arr1 = $[1];
- arr2 = $[2];
- t1 = $[3];
+ t1 = $[1];
}
- const getArrMap1 = t1;
+ const cb1 = t1;
let t2;
- if ($[6] !== arr2) {
- t2 = (e_0) => arr2[0].value + e_0.value;
- $[6] = arr2;
- $[7] = t2;
+ if ($[2] !== arr1 || $[3] !== cb1) {
+ t2 = () => arr1.map(cb1);
+ $[2] = arr1;
+ $[3] = cb1;
+ $[4] = t2;
} else {
- t2 = $[7];
+ t2 = $[4];
}
- const cb2 = t2;
+ const getArrMap1 = t2;
let t3;
- if ($[8] !== arr1 || $[9] !== cb2) {
- t3 = () => arr1.map(cb2);
- $[8] = arr1;
- $[9] = cb2;
- $[10] = t3;
+ if ($[5] !== arr2) {
+ t3 = (e_0) => arr2[0].value + e_0.value;
+ $[5] = arr2;
+ $[6] = t3;
} else {
- t3 = $[10];
+ t3 = $[6];
}
- const getArrMap2 = t3;
+ const cb2 = t3;
let t4;
- if ($[11] !== getArrMap1 || $[12] !== getArrMap2) {
- t4 = (
+ if ($[7] !== arr1 || $[8] !== cb2) {
+ t4 = () => arr1.map(cb2);
+ $[7] = arr1;
+ $[8] = cb2;
+ $[9] = t4;
+ } else {
+ t4 = $[9];
+ }
+ const getArrMap2 = t4;
+ let t5;
+ if ($[10] !== getArrMap1 || $[11] !== getArrMap2) {
+ t5 = (
);
- $[11] = getArrMap1;
- $[12] = getArrMap2;
- $[13] = t4;
+ $[10] = getArrMap1;
+ $[11] = getArrMap2;
+ $[12] = t5;
} else {
- t4 = $[13];
+ t5 = $[12];
}
- return t4;
+ return t5;
}
export const FIXTURE_ENTRYPOINT = {
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.expect.md
index 3f361c2019043..39bd61aaf34a7 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.expect.md
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.expect.md
@@ -30,60 +30,47 @@ import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire @enabl
import { fire } from "react";
function Component(t0) {
- const $ = _c(13);
- let bar;
- let baz;
- let foo;
- if ($[0] !== t0) {
- ({ bar, baz } = t0);
- let t1;
- if ($[4] !== bar) {
- t1 = () => {
- console.log(bar);
- };
- $[4] = bar;
- $[5] = t1;
- } else {
- t1 = $[5];
- }
- foo = t1;
- $[0] = t0;
- $[1] = bar;
- $[2] = baz;
- $[3] = foo;
- } else {
- bar = $[1];
- baz = $[2];
- foo = $[3];
- }
- const t1 = useFire(foo);
- const t2 = useFire(baz);
- let t3;
- if ($[6] !== bar || $[7] !== t1 || $[8] !== t2) {
- t3 = () => {
- t1(bar);
- t2(bar);
+ const $ = _c(9);
+ const { bar, baz } = t0;
+ let t1;
+ if ($[0] !== bar) {
+ t1 = () => {
+ console.log(bar);
};
- $[6] = bar;
- $[7] = t1;
- $[8] = t2;
- $[9] = t3;
+ $[0] = bar;
+ $[1] = t1;
} else {
- t3 = $[9];
+ t1 = $[1];
}
- useEffect(t3);
+ const foo = t1;
+ const t2 = useFire(foo);
+ const t3 = useFire(baz);
let t4;
- if ($[10] !== bar || $[11] !== t1) {
+ if ($[2] !== bar || $[3] !== t2 || $[4] !== t3) {
t4 = () => {
- t1(bar);
+ t2(bar);
+ t3(bar);
};
- $[10] = bar;
- $[11] = t1;
- $[12] = t4;
+ $[2] = bar;
+ $[3] = t2;
+ $[4] = t3;
+ $[5] = t4;
} else {
- t4 = $[12];
+ t4 = $[5];
}
useEffect(t4);
+ let t5;
+ if ($[6] !== bar || $[7] !== t2) {
+ t5 = () => {
+ t2(bar);
+ };
+ $[6] = bar;
+ $[7] = t2;
+ $[8] = t5;
+ } else {
+ t5 = $[8];
+ }
+ useEffect(t5);
return null;
}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.expect.md
index d98b3e03ab926..92dbf9843ad65 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.expect.md
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.expect.md
@@ -30,60 +30,47 @@ import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire
import { fire } from "react";
function Component(t0) {
- const $ = _c(13);
- let bar;
- let baz;
- let foo;
- if ($[0] !== t0) {
- ({ bar, baz } = t0);
- let t1;
- if ($[4] !== bar) {
- t1 = () => {
- console.log(bar);
- };
- $[4] = bar;
- $[5] = t1;
- } else {
- t1 = $[5];
- }
- foo = t1;
- $[0] = t0;
- $[1] = bar;
- $[2] = baz;
- $[3] = foo;
- } else {
- bar = $[1];
- baz = $[2];
- foo = $[3];
- }
- const t1 = useFire(foo);
- const t2 = useFire(baz);
- let t3;
- if ($[6] !== bar || $[7] !== t1 || $[8] !== t2) {
- t3 = () => {
- t1(bar);
- t2(bar);
+ const $ = _c(9);
+ const { bar, baz } = t0;
+ let t1;
+ if ($[0] !== bar) {
+ t1 = () => {
+ console.log(bar);
};
- $[6] = bar;
- $[7] = t1;
- $[8] = t2;
- $[9] = t3;
+ $[0] = bar;
+ $[1] = t1;
} else {
- t3 = $[9];
+ t1 = $[1];
}
- useEffect(t3);
+ const foo = t1;
+ const t2 = useFire(foo);
+ const t3 = useFire(baz);
let t4;
- if ($[10] !== bar || $[11] !== t1) {
+ if ($[2] !== bar || $[3] !== t2 || $[4] !== t3) {
t4 = () => {
- t1(bar);
+ t2(bar);
+ t3(bar);
};
- $[10] = bar;
- $[11] = t1;
- $[12] = t4;
+ $[2] = bar;
+ $[3] = t2;
+ $[4] = t3;
+ $[5] = t4;
} else {
- t4 = $[12];
+ t4 = $[5];
}
useEffect(t4);
+ let t5;
+ if ($[6] !== bar || $[7] !== t2) {
+ t5 = () => {
+ t2(bar);
+ };
+ $[6] = bar;
+ $[7] = t2;
+ $[8] = t5;
+ } else {
+ t5 = $[8];
+ }
+ useEffect(t5);
return null;
}