Skip to content

Commit a756e3a

Browse files
committed
[compiler] Fork fixtures for enablePropagateDepsInHIR
- flip `enablePropagateDepsInHIR` to off by default - fork fixtures which produce compilation differences in #30894 to separate directory `propagate-scope-deps-hir-fork`, to be cleaned up when we remove this flag ghstack-source-id: 7d5b8dc Pull Request resolved: #30949
1 parent 49dc13f commit a756e3a

File tree

69 files changed

+2445
-19
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+2445
-19
lines changed

compiler/packages/babel-plugin-react-compiler/src/HIR/Environment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ const EnvironmentConfigSchema = z.object({
223223
*/
224224
enableUseTypeAnnotations: z.boolean().default(false),
225225

226-
enablePropagateDepsInHIR: z.boolean().default(true),
226+
enablePropagateDepsInHIR: z.boolean().default(false),
227227

228228
/**
229229
* Enables inference of optional dependency chains. Without this flag

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-as-memo-dep.expect.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Input
33

44
```javascript
5-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
66
function Component(props) {
77
const data = useMemo(() => {
88
return props?.items.edges?.nodes.map();
@@ -15,7 +15,7 @@ function Component(props) {
1515
## Code
1616
1717
```javascript
18-
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
18+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
1919
function Component(props) {
2020
const $ = _c(4);
2121

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-as-memo-dep.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
22
function Component(props) {
33
const data = useMemo(() => {
44
return props?.items.edges?.nodes.map();

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-inverted-optionals-parallel-paths.expect.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Input
33

44
```javascript
5-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
66
import {ValidateMemoization} from 'shared-runtime';
77
function Component(props) {
88
const data = useMemo(() => {
@@ -19,7 +19,7 @@ function Component(props) {
1919
## Code
2020
2121
```javascript
22-
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
22+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
2323
import { ValidateMemoization } from "shared-runtime";
2424
function Component(props) {
2525
const $ = _c(2);

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-inverted-optionals-parallel-paths.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
22
import {ValidateMemoization} from 'shared-runtime';
33
function Component(props) {
44
const data = useMemo(() => {

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-single-with-unconditional.expect.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Input
33

44
```javascript
5-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
66
import {ValidateMemoization} from 'shared-runtime';
77
function Component(props) {
88
const data = useMemo(() => {
@@ -19,7 +19,7 @@ function Component(props) {
1919
## Code
2020
2121
```javascript
22-
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
22+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
2323
import { ValidateMemoization } from "shared-runtime";
2424
function Component(props) {
2525
const $ = _c(7);

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-single-with-unconditional.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
22
import {ValidateMemoization} from 'shared-runtime';
33
function Component(props) {
44
const data = useMemo(() => {

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-single.expect.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Input
33

44
```javascript
5-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
66
import {ValidateMemoization} from 'shared-runtime';
77
function Component(props) {
88
const data = useMemo(() => {
@@ -18,7 +18,7 @@ function Component(props) {
1818
## Code
1919
2020
```javascript
21-
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
21+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
2222
import { ValidateMemoization } from "shared-runtime";
2323
function Component(props) {
2424
const $ = _c(7);

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-single.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
22
import {ValidateMemoization} from 'shared-runtime';
33
function Component(props) {
44
const data = useMemo(() => {

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-with-conditional-optional.expect.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Input
33

44
```javascript
5-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
66
import {ValidateMemoization} from 'shared-runtime';
77
function Component(props) {
88
const data = useMemo(() => {
@@ -23,7 +23,7 @@ function Component(props) {
2323
## Code
2424
2525
```javascript
26-
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
26+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
2727
import { ValidateMemoization } from "shared-runtime";
2828
function Component(props) {
2929
const $ = _c(9);

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-with-conditional-optional.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
22
import {ValidateMemoization} from 'shared-runtime';
33
function Component(props) {
44
const data = useMemo(() => {

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-with-conditional.expect.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Input
33

44
```javascript
5-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
66
import {ValidateMemoization} from 'shared-runtime';
77
function Component(props) {
88
const data = useMemo(() => {
@@ -23,7 +23,7 @@ function Component(props) {
2323
## Code
2424
2525
```javascript
26-
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
26+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
2727
import { ValidateMemoization } from "shared-runtime";
2828
function Component(props) {
2929
const $ = _c(9);

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-member-expression-with-conditional.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR:false
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
22
import {ValidateMemoization} from 'shared-runtime';
33
function Component(props) {
44
const data = useMemo(() => {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
2+
## Input
3+
4+
```javascript
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
6+
function Component(props) {
7+
const data = useMemo(() => {
8+
return props?.items.edges?.nodes.map();
9+
}, [props?.items.edges?.nodes]);
10+
return <Foo data={data} />;
11+
}
12+
13+
```
14+
15+
## Code
16+
17+
```javascript
18+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
19+
function Component(props) {
20+
const $ = _c(4);
21+
22+
props?.items.edges?.nodes;
23+
let t0;
24+
let t1;
25+
if ($[0] !== props?.items.edges?.nodes) {
26+
t1 = props?.items.edges?.nodes.map();
27+
$[0] = props?.items.edges?.nodes;
28+
$[1] = t1;
29+
} else {
30+
t1 = $[1];
31+
}
32+
t0 = t1;
33+
const data = t0;
34+
let t2;
35+
if ($[2] !== data) {
36+
t2 = <Foo data={data} />;
37+
$[2] = data;
38+
$[3] = t2;
39+
} else {
40+
t2 = $[3];
41+
}
42+
return t2;
43+
}
44+
45+
```
46+
47+
### Eval output
48+
(kind: exception) Fixture not implemented
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
2+
function Component(props) {
3+
const data = useMemo(() => {
4+
return props?.items.edges?.nodes.map();
5+
}, [props?.items.edges?.nodes]);
6+
return <Foo data={data} />;
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
## Input
3+
4+
```javascript
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
6+
import {ValidateMemoization} from 'shared-runtime';
7+
function Component(props) {
8+
const data = useMemo(() => {
9+
const x = [];
10+
x.push(props?.a.b?.c.d?.e);
11+
x.push(props.a?.b.c?.d.e);
12+
return x;
13+
}, [props.a.b.c.d.e]);
14+
return <ValidateMemoization inputs={[props.a.b.c.d.e]} output={x} />;
15+
}
16+
17+
```
18+
19+
## Code
20+
21+
```javascript
22+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
23+
import { ValidateMemoization } from "shared-runtime";
24+
function Component(props) {
25+
const $ = _c(2);
26+
let t0;
27+
28+
const x$0 = [];
29+
x$0.push(props?.a.b?.c.d?.e);
30+
x$0.push(props.a?.b.c?.d.e);
31+
t0 = x$0;
32+
let t1;
33+
if ($[0] !== props.a.b.c.d.e) {
34+
t1 = <ValidateMemoization inputs={[props.a.b.c.d.e]} output={x} />;
35+
$[0] = props.a.b.c.d.e;
36+
$[1] = t1;
37+
} else {
38+
t1 = $[1];
39+
}
40+
return t1;
41+
}
42+
43+
```
44+
45+
### Eval output
46+
(kind: exception) Fixture not implemented
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
2+
import {ValidateMemoization} from 'shared-runtime';
3+
function Component(props) {
4+
const data = useMemo(() => {
5+
const x = [];
6+
x.push(props?.a.b?.c.d?.e);
7+
x.push(props.a?.b.c?.d.e);
8+
return x;
9+
}, [props.a.b.c.d.e]);
10+
return <ValidateMemoization inputs={[props.a.b.c.d.e]} output={x} />;
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
2+
## Input
3+
4+
```javascript
5+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
6+
import {ValidateMemoization} from 'shared-runtime';
7+
function Component(props) {
8+
const data = useMemo(() => {
9+
const x = [];
10+
x.push(props?.items);
11+
x.push(props.items);
12+
return x;
13+
}, [props.items]);
14+
return <ValidateMemoization inputs={[props.items]} output={data} />;
15+
}
16+
17+
```
18+
19+
## Code
20+
21+
```javascript
22+
import { c as _c } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
23+
import { ValidateMemoization } from "shared-runtime";
24+
function Component(props) {
25+
const $ = _c(7);
26+
let t0;
27+
let x;
28+
if ($[0] !== props.items) {
29+
x = [];
30+
x.push(props?.items);
31+
x.push(props.items);
32+
$[0] = props.items;
33+
$[1] = x;
34+
} else {
35+
x = $[1];
36+
}
37+
t0 = x;
38+
const data = t0;
39+
let t1;
40+
if ($[2] !== props.items) {
41+
t1 = [props.items];
42+
$[2] = props.items;
43+
$[3] = t1;
44+
} else {
45+
t1 = $[3];
46+
}
47+
let t2;
48+
if ($[4] !== t1 || $[5] !== data) {
49+
t2 = <ValidateMemoization inputs={t1} output={data} />;
50+
$[4] = t1;
51+
$[5] = data;
52+
$[6] = t2;
53+
} else {
54+
t2 = $[6];
55+
}
56+
return t2;
57+
}
58+
59+
```
60+
61+
### Eval output
62+
(kind: exception) Fixture not implemented
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enablePropagateDepsInHIR
2+
import {ValidateMemoization} from 'shared-runtime';
3+
function Component(props) {
4+
const data = useMemo(() => {
5+
const x = [];
6+
x.push(props?.items);
7+
x.push(props.items);
8+
return x;
9+
}, [props.items]);
10+
return <ValidateMemoization inputs={[props.items]} output={data} />;
11+
}

0 commit comments

Comments
 (0)