[compiler][be] Clean up bug test fixtures; evaluate more fixtures (#31812)
Test fixtures testing different compiler features (e.g. non-auto memoization) should live in separate directories. Remove bug-prefixed fixtures that have since been fixed Add test evaluator export to more fixtures
mofeiZ committed
Feb 18, 2025 at 12:25 UTC
86b191347474fa98f002217ed88926efc8164c1e
43 files changed
+664
-139
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/call-spread.expect.md
+19
-3
@@ -2,22 +2,31 @@
2
## Input
3
4
```javascript
5
+import {makeArray} from 'shared-runtime';
6
+
7
function Component(props) {
6
- const x = foo(...props.a, null, ...props.b);
8
+ const x = makeArray(...props.a, null, ...props.b);
9
return x;
10
}
11
12
+export const FIXTURE_ENTRYPOINT = {
13
+ fn: Component,
14
+ params: [{a: [1, 2], b: [2, 3, 4]}],
15
+};
16
+
17
```
18
19
## Code
20
21
```javascript
22
import { c as _c } from "react/compiler-runtime";
23
+import { makeArray } from "shared-runtime";
24
+
25
function Component(props) {
26
const $ = _c(3);
27
let t0;
28
if ($[0] !== props.a || $[1] !== props.b) {
20
- t0 = foo(...props.a, null, ...props.b);
29
+ t0 = makeArray(...props.a, null, ...props.b);
30
$[0] = props.a;
31
$[1] = props.b;
32
$[2] = t0;
@@ -28,5 +37,12 @@ function Component(props) {
37
return x;
38
}
39
40
+export const FIXTURE_ENTRYPOINT = {
41
+ fn: Component,
42
+ params: [{ a: [1, 2], b: [2, 3, 4] }],
43
+};
44
+
45
```
32
-
\ No newline at end of file
46
+
47
+### Eval output
48
+(kind: ok) [1,2,null,2,3,4]
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/call-spread.js
+8
-1
@@ -1,4 +1,11 @@
1
+import {makeArray} from 'shared-runtime';
2
+
3
function Component(props) {
2
- const x = foo(...props.a, null, ...props.b);
4
+ const x = makeArray(...props.a, null, ...props.b);
5
return x;
6
}
7
+
8
+export const FIXTURE_ENTRYPOINT = {
9
+ fn: Component,
10
+ params: [{a: [1, 2], b: [2, 3, 4]}],
11
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-fun-alias-captured-mutate-2.expect.md
+35
-3
@@ -2,7 +2,9 @@
2
## Input
3
4
```javascript
5
-function component(foo, bar) {
5
+import {mutate} from 'shared-runtime';
6
+
7
+function Component({foo, bar}) {
8
let x = {foo};
9
let y = {bar};
10
const f0 = function () {
@@ -15,14 +17,28 @@ function component(foo, bar) {
17
return x;
18
}
19
20
+export const FIXTURE_ENTRYPOINT = {
21
+ fn: Component,
22
+ params: [{foo: 2, bar: 3}],
23
+ sequentialRenders: [
24
+ {foo: 2, bar: 3},
25
+ {foo: 2, bar: 3},
26
+ {foo: 2, bar: 4},
27
+ {foo: 3, bar: 4},
28
+ ],
29
+};
30
+
31
```
32
33
## Code
34
35
```javascript
36
import { c as _c } from "react/compiler-runtime";
24
-function component(foo, bar) {
37
+import { mutate } from "shared-runtime";
38
+
39
+function Component(t0) {
40
const $ = _c(3);
41
+ const { foo, bar } = t0;
42
let x;
43
if ($[0] !== bar || $[1] !== foo) {
44
x = { foo };
@@ -44,5 +60,21 @@ function component(foo, bar) {
60
return x;
61
}
62
63
+export const FIXTURE_ENTRYPOINT = {
64
+ fn: Component,
65
+ params: [{ foo: 2, bar: 3 }],
66
+ sequentialRenders: [
67
+ { foo: 2, bar: 3 },
68
+ { foo: 2, bar: 3 },
69
+ { foo: 2, bar: 4 },
70
+ { foo: 3, bar: 4 },
71
+ ],
72
+};
73
+
74
```
48
-
\ No newline at end of file
75
+
76
+### Eval output
77
+(kind: ok) {"foo":2}
78
+{"foo":2}
79
+{"foo":2}
80
+{"foo":3}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-fun-alias-captured-mutate-2.js
+14
-1
@@ -1,4 +1,6 @@
1
-function component(foo, bar) {
1
+import {mutate} from 'shared-runtime';
2
+
3
+function Component({foo, bar}) {
4
let x = {foo};
5
let y = {bar};
6
const f0 = function () {
@@ -10,3 +12,14 @@ function component(foo, bar) {
12
mutate(y);
13
return x;
14
}
15
+
16
+export const FIXTURE_ENTRYPOINT = {
17
+ fn: Component,
18
+ params: [{foo: 2, bar: 3}],
19
+ sequentialRenders: [
20
+ {foo: 2, bar: 3},
21
+ {foo: 2, bar: 3},
22
+ {foo: 2, bar: 4},
23
+ {foo: 3, bar: 4},
24
+ ],
25
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-fun-alias-captured-mutate-arr-2.expect.md
+35
-3
@@ -2,7 +2,9 @@
2
## Input
3
4
```javascript
5
-function component(foo, bar) {
5
+import {mutate} from 'shared-runtime';
6
+
7
+function Component({foo, bar}) {
8
let x = {foo};
9
let y = {bar};
10
const f0 = function () {
@@ -15,14 +17,28 @@ function component(foo, bar) {
17
return x;
18
}
19
20
+export const FIXTURE_ENTRYPOINT = {
21
+ fn: Component,
22
+ params: [{foo: 2, bar: 3}],
23
+ sequentialRenders: [
24
+ {foo: 2, bar: 3},
25
+ {foo: 2, bar: 3},
26
+ {foo: 2, bar: 4},
27
+ {foo: 3, bar: 4},
28
+ ],
29
+};
30
+
31
```
32
33
## Code
34
35
```javascript
36
import { c as _c } from "react/compiler-runtime";
24
-function component(foo, bar) {
37
+import { mutate } from "shared-runtime";
38
+
39
+function Component(t0) {
40
const $ = _c(3);
41
+ const { foo, bar } = t0;
42
let x;
43
if ($[0] !== bar || $[1] !== foo) {
44
x = { foo };
@@ -44,5 +60,21 @@ function component(foo, bar) {
60
return x;
61
}
62
63
+export const FIXTURE_ENTRYPOINT = {
64
+ fn: Component,
65
+ params: [{ foo: 2, bar: 3 }],
66
+ sequentialRenders: [
67
+ { foo: 2, bar: 3 },
68
+ { foo: 2, bar: 3 },
69
+ { foo: 2, bar: 4 },
70
+ { foo: 3, bar: 4 },
71
+ ],
72
+};
73
+
74
```
48
-
\ No newline at end of file
75
+
76
+### Eval output
77
+(kind: ok) {"foo":2}
78
+{"foo":2}
79
+{"foo":2}
80
+{"foo":3}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-fun-alias-captured-mutate-arr-2.js
+14
-1
@@ -1,4 +1,6 @@
1
-function component(foo, bar) {
1
+import {mutate} from 'shared-runtime';
2
+
3
+function Component({foo, bar}) {
4
let x = {foo};
5
let y = {bar};
6
const f0 = function () {
@@ -10,3 +12,14 @@ function component(foo, bar) {
12
mutate(y);
13
return x;
14
}
15
+
16
+export const FIXTURE_ENTRYPOINT = {
17
+ fn: Component,
18
+ params: [{foo: 2, bar: 3}],
19
+ sequentialRenders: [
20
+ {foo: 2, bar: 3},
21
+ {foo: 2, bar: 3},
22
+ {foo: 2, bar: 4},
23
+ {foo: 3, bar: 4},
24
+ ],
25
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-captured-mutate-arr.expect.md
+33
-3
@@ -2,7 +2,8 @@
2
## Input
3
4
```javascript
5
-function component(foo, bar) {
5
+import {mutate} from 'shared-runtime';
6
+function Component({foo, bar}) {
7
let x = {foo};
8
let y = {bar};
9
const f0 = function () {
@@ -15,14 +16,27 @@ function component(foo, bar) {
16
return y;
17
}
18
19
+export const FIXTURE_ENTRYPOINT = {
20
+ fn: Component,
21
+ params: [{foo: 2, bar: 3}],
22
+ sequentialRenders: [
23
+ {foo: 2, bar: 3},
24
+ {foo: 2, bar: 3},
25
+ {foo: 2, bar: 4},
26
+ {foo: 3, bar: 4},
27
+ ],
28
+};
29
+
30
```
31
32
## Code
33
34
```javascript
35
import { c as _c } from "react/compiler-runtime";
24
-function component(foo, bar) {
36
+import { mutate } from "shared-runtime";
37
+function Component(t0) {
38
const $ = _c(3);
39
+ const { foo, bar } = t0;
40
let y;
41
if ($[0] !== bar || $[1] !== foo) {
42
const x = { foo };
@@ -44,5 +58,21 @@ function component(foo, bar) {
58
return y;
59
}
60
61
+export const FIXTURE_ENTRYPOINT = {
62
+ fn: Component,
63
+ params: [{ foo: 2, bar: 3 }],
64
+ sequentialRenders: [
65
+ { foo: 2, bar: 3 },
66
+ { foo: 2, bar: 3 },
67
+ { foo: 2, bar: 4 },
68
+ { foo: 3, bar: 4 },
69
+ ],
70
+};
71
+
72
```
48
-
\ No newline at end of file
73
+
74
+### Eval output
75
+(kind: ok) {"bar":3,"wat0":"joe"}
76
+{"bar":3,"wat0":"joe"}
77
+{"bar":4,"wat0":"joe"}
78
+{"bar":4,"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-captured-mutate-arr.js
+13
-1
@@ -1,4 +1,5 @@
1
-function component(foo, bar) {
1
+import {mutate} from 'shared-runtime';
2
+function Component({foo, bar}) {
3
let x = {foo};
4
let y = {bar};
5
const f0 = function () {
@@ -10,3 +11,14 @@ function component(foo, bar) {
11
mutate(y);
12
return y;
13
}
14
+
15
+export const FIXTURE_ENTRYPOINT = {
16
+ fn: Component,
17
+ params: [{foo: 2, bar: 3}],
18
+ sequentialRenders: [
19
+ {foo: 2, bar: 3},
20
+ {foo: 2, bar: 3},
21
+ {foo: 2, bar: 4},
22
+ {foo: 3, bar: 4},
23
+ ],
24
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-computed-mutate.expect.md
+22
-3
@@ -2,7 +2,8 @@
2
## Input
3
4
```javascript
5
-function component(a) {
5
+import {mutate} from 'shared-runtime';
6
+function Component({a}) {
7
let x = {a};
8
let y = {};
9
const f0 = function () {
@@ -13,14 +14,22 @@ function component(a) {
14
return y;
15
}
16
17
+export const FIXTURE_ENTRYPOINT = {
18
+ fn: Component,
19
+ params: [{a: 2}],
20
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
21
+};
22
+
23
```
24
25
## Code
26
27
```javascript
28
import { c as _c } from "react/compiler-runtime";
22
-function component(a) {
29
+import { mutate } from "shared-runtime";
30
+function Component(t0) {
31
const $ = _c(2);
32
+ const { a } = t0;
33
let y;
34
if ($[0] !== a) {
35
const x = { a };
@@ -39,5 +48,15 @@ function component(a) {
48
return y;
49
}
50
51
+export const FIXTURE_ENTRYPOINT = {
52
+ fn: Component,
53
+ params: [{ a: 2 }],
54
+ sequentialRenders: [{ a: 2 }, { a: 2 }, { a: 3 }],
55
+};
56
+
57
```
43
-
\ No newline at end of file
58
+
59
+### Eval output
60
+(kind: ok) {"x":{"a":2},"wat0":"joe"}
61
+{"x":{"a":2},"wat0":"joe"}
62
+{"x":{"a":3},"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-computed-mutate.js
+8
-1
@@ -1,4 +1,5 @@
1
-function component(a) {
1
+import {mutate} from 'shared-runtime';
2
+function Component({a}) {
3
let x = {a};
4
let y = {};
5
const f0 = function () {
@@ -8,3 +9,9 @@ function component(a) {
9
mutate(y);
10
return y;
11
}
12
+
13
+export const FIXTURE_ENTRYPOINT = {
14
+ fn: Component,
15
+ params: [{a: 2}],
16
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
17
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-mutate.expect.md
+22
-3
@@ -2,7 +2,8 @@
2
## Input
3
4
```javascript
5
-function component(a) {
5
+import {mutate} from 'shared-runtime';
6
+function Component({a}) {
7
let x = {a};
8
let y = {};
9
const f0 = function () {
@@ -13,14 +14,22 @@ function component(a) {
14
return y;
15
}
16
17
+export const FIXTURE_ENTRYPOINT = {
18
+ fn: Component,
19
+ params: [{a: 2}],
20
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
21
+};
22
+
23
```
24
25
## Code
26
27
```javascript
28
import { c as _c } from "react/compiler-runtime";
22
-function component(a) {
29
+import { mutate } from "shared-runtime";
30
+function Component(t0) {
31
const $ = _c(2);
32
+ const { a } = t0;
33
let y;
34
if ($[0] !== a) {
35
const x = { a };
@@ -39,5 +48,15 @@ function component(a) {
48
return y;
49
}
50
51
+export const FIXTURE_ENTRYPOINT = {
52
+ fn: Component,
53
+ params: [{ a: 2 }],
54
+ sequentialRenders: [{ a: 2 }, { a: 2 }, { a: 3 }],
55
+};
56
+
57
```
43
-
\ No newline at end of file
58
+
59
+### Eval output
60
+(kind: ok) {"x":{"a":2},"wat0":"joe"}
61
+{"x":{"a":2},"wat0":"joe"}
62
+{"x":{"a":3},"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-mutate.js
+8
-1
@@ -1,4 +1,5 @@
1
-function component(a) {
1
+import {mutate} from 'shared-runtime';
2
+function Component({a}) {
3
let x = {a};
4
let y = {};
5
const f0 = function () {
@@ -8,3 +9,9 @@ function component(a) {
9
mutate(y);
10
return y;
11
}
12
+
13
+export const FIXTURE_ENTRYPOINT = {
14
+ fn: Component,
15
+ params: [{a: 2}],
16
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
17
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-receiver-computed-mutate.expect.md
+24
-3
@@ -2,7 +2,9 @@
2
## Input
3
4
```javascript
5
-function component(a) {
5
+import {mutate} from 'shared-runtime';
6
+
7
+function Component({a}) {
8
let x = {a};
9
let y = {};
10
const f0 = function () {
@@ -14,14 +16,23 @@ function component(a) {
16
return y;
17
}
18
19
+export const FIXTURE_ENTRYPOINT = {
20
+ fn: Component,
21
+ params: [{a: 2}],
22
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
23
+};
24
+
25
```
26
27
## Code
28
29
```javascript
30
import { c as _c } from "react/compiler-runtime";
23
-function component(a) {
31
+import { mutate } from "shared-runtime";
32
+
33
+function Component(t0) {
34
const $ = _c(2);
35
+ const { a } = t0;
36
let y;
37
if ($[0] !== a) {
38
const x = { a };
@@ -41,5 +52,15 @@ function component(a) {
52
return y;
53
}
54
55
+export const FIXTURE_ENTRYPOINT = {
56
+ fn: Component,
57
+ params: [{ a: 2 }],
58
+ sequentialRenders: [{ a: 2 }, { a: 2 }, { a: 3 }],
59
+};
60
+
61
```
45
-
\ No newline at end of file
62
+
63
+### Eval output
64
+(kind: ok) {"x":{"a":2},"wat0":"joe"}
65
+{"x":{"a":2},"wat0":"joe"}
66
+{"x":{"a":3},"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-receiver-computed-mutate.js
+9
-1
@@ -1,4 +1,6 @@
1
-function component(a) {
1
+import {mutate} from 'shared-runtime';
2
+
3
+function Component({a}) {
4
let x = {a};
5
let y = {};
6
const f0 = function () {
@@ -9,3 +11,9 @@ function component(a) {
11
mutate(y);
12
return y;
13
}
14
+
15
+export const FIXTURE_ENTRYPOINT = {
16
+ fn: Component,
17
+ params: [{a: 2}],
18
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
19
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-receiver-mutate.expect.md
+24
-3
@@ -2,7 +2,9 @@
2
## Input
3
4
```javascript
5
-function component(a) {
5
+import {mutate} from 'shared-runtime';
6
+
7
+function Component({a}) {
8
let x = {a};
9
let y = {};
10
const f0 = function () {
@@ -14,14 +16,23 @@ function component(a) {
16
return y;
17
}
18
19
+export const FIXTURE_ENTRYPOINT = {
20
+ fn: Component,
21
+ params: [{a: 2}],
22
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
23
+};
24
+
25
```
26
27
## Code
28
29
```javascript
30
import { c as _c } from "react/compiler-runtime";
23
-function component(a) {
31
+import { mutate } from "shared-runtime";
32
+
33
+function Component(t0) {
34
const $ = _c(2);
35
+ const { a } = t0;
36
let y;
37
if ($[0] !== a) {
38
const x = { a };
@@ -41,5 +52,15 @@ function component(a) {
52
return y;
53
}
54
55
+export const FIXTURE_ENTRYPOINT = {
56
+ fn: Component,
57
+ params: [{ a: 2 }],
58
+ sequentialRenders: [{ a: 2 }, { a: 2 }, { a: 3 }],
59
+};
60
+
61
```
45
-
\ No newline at end of file
62
+
63
+### Eval output
64
+(kind: ok) {"x":{"a":2},"wat0":"joe"}
65
+{"x":{"a":2},"wat0":"joe"}
66
+{"x":{"a":3},"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-alias-receiver-mutate.js
+9
-1
@@ -1,4 +1,6 @@
1
-function component(a) {
1
+import {mutate} from 'shared-runtime';
2
+
3
+function Component({a}) {
4
let x = {a};
5
let y = {};
6
const f0 = function () {
@@ -9,3 +11,9 @@ function component(a) {
11
mutate(y);
12
return y;
13
}
14
+
15
+export const FIXTURE_ENTRYPOINT = {
16
+ fn: Component,
17
+ params: [{a: 2}],
18
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
19
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-simple-alias.expect.md
+24
-3
@@ -2,7 +2,9 @@
2
## Input
3
4
```javascript
5
-function component(a) {
5
+import {mutate} from 'shared-runtime';
6
+
7
+function Component({a}) {
8
let x = {a};
9
let y = {};
10
const f0 = function () {
@@ -13,14 +15,23 @@ function component(a) {
15
return y;
16
}
17
18
+export const FIXTURE_ENTRYPOINT = {
19
+ fn: Component,
20
+ params: [{a: 2}],
21
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
22
+};
23
+
24
```
25
26
## Code
27
28
```javascript
29
import { c as _c } from "react/compiler-runtime";
22
-function component(a) {
30
+import { mutate } from "shared-runtime";
31
+
32
+function Component(t0) {
33
const $ = _c(2);
34
+ const { a } = t0;
35
let y;
36
if ($[0] !== a) {
37
const x = { a };
@@ -39,5 +50,15 @@ function component(a) {
50
return y;
51
}
52
53
+export const FIXTURE_ENTRYPOINT = {
54
+ fn: Component,
55
+ params: [{ a: 2 }],
56
+ sequentialRenders: [{ a: 2 }, { a: 2 }, { a: 3 }],
57
+};
58
+
59
```
43
-
\ No newline at end of file
60
+
61
+### Eval output
62
+(kind: ok) {"a":2,"wat0":"joe"}
63
+{"a":2,"wat0":"joe"}
64
+{"a":3,"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-func-simple-alias.js
+9
-1
@@ -1,4 +1,6 @@
1
-function component(a) {
1
+import {mutate} from 'shared-runtime';
2
+
3
+function Component({a}) {
4
let x = {a};
5
let y = {};
6
const f0 = function () {
@@ -8,3 +10,9 @@ function component(a) {
10
mutate(y);
11
return y;
12
}
13
+
14
+export const FIXTURE_ENTRYPOINT = {
15
+ fn: Component,
16
+ params: [{a: 2}],
17
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
18
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-capture-ref-before-rename.expect.md
+45
-13
@@ -2,7 +2,9 @@
2
## Input
3
4
```javascript
5
-function component(a, b) {
5
+import {mutate} from 'shared-runtime';
6
+
7
+function Component({a, b}) {
8
let z = {a};
9
(function () {
10
mutate(z);
@@ -17,14 +19,28 @@ function component(a, b) {
19
return y;
20
}
21
22
+export const FIXTURE_ENTRYPOINT = {
23
+ fn: Component,
24
+ params: [{a: 2, b: 3}],
25
+ sequentialRenders: [
26
+ {a: 2, b: 3},
27
+ {a: 2, b: 3},
28
+ {a: 2, b: 4},
29
+ {a: 3, b: 4},
30
+ ],
31
+};
32
+
33
```
34
35
## Code
36
37
```javascript
38
import { c as _c } from "react/compiler-runtime";
26
-function component(a, b) {
39
+import { mutate } from "shared-runtime";
40
+
41
+function Component(t0) {
42
const $ = _c(7);
43
+ const { a, b } = t0;
44
let z;
45
if ($[0] !== a) {
46
z = { a };
@@ -37,27 +53,43 @@ function component(a, b) {
53
}
54
55
let y = z;
40
- let t0;
56
+ let t1;
57
if ($[2] !== b) {
42
- t0 = { b };
58
+ t1 = { b };
59
$[2] = b;
44
- $[3] = t0;
60
+ $[3] = t1;
61
} else {
46
- t0 = $[3];
62
+ t1 = $[3];
63
}
48
- const z_0 = t0;
49
- let t1;
64
+ const z_0 = t1;
65
+ let t2;
66
if ($[4] !== y || $[5] !== z_0) {
51
- t1 = { y, z: z_0 };
67
+ t2 = { y, z: z_0 };
68
$[4] = y;
69
$[5] = z_0;
54
- $[6] = t1;
70
+ $[6] = t2;
71
} else {
56
- t1 = $[6];
72
+ t2 = $[6];
73
}
58
- y = t1;
74
+ y = t2;
75
return y;
76
}
77
78
+export const FIXTURE_ENTRYPOINT = {
79
+ fn: Component,
80
+ params: [{ a: 2, b: 3 }],
81
+ sequentialRenders: [
82
+ { a: 2, b: 3 },
83
+ { a: 2, b: 3 },
84
+ { a: 2, b: 4 },
85
+ { a: 3, b: 4 },
86
+ ],
87
+};
88
+
89
```
63
-
\ No newline at end of file
90
+
91
+### Eval output
92
+(kind: ok) {"y":{"a":2,"wat0":"joe"},"z":{"b":3}}
93
+{"y":{"a":2,"wat0":"joe"},"z":{"b":3}}
94
+{"y":{"a":2,"wat0":"joe"},"z":{"b":4}}
95
+{"y":{"a":3,"wat0":"joe"},"z":{"b":4}}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-capture-ref-before-rename.js
+14
-1
@@ -1,4 +1,6 @@
1
-function component(a, b) {
1
+import {mutate} from 'shared-runtime';
2
+
3
+function Component({a, b}) {
4
let z = {a};
5
(function () {
6
mutate(z);
@@ -12,3 +14,14 @@ function component(a, b) {
14
}
15
return y;
16
}
17
+
18
+export const FIXTURE_ENTRYPOINT = {
19
+ fn: Component,
20
+ params: [{a: 2, b: 3}],
21
+ sequentialRenders: [
22
+ {a: 2, b: 3},
23
+ {a: 2, b: 3},
24
+ {a: 2, b: 4},
25
+ {a: 3, b: 4},
26
+ ],
27
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-conditional-capture-mutate.expect.md
+3
-4
@@ -2,8 +2,7 @@
2
## Input
3
4
```javascript
5
-// @debug
6
-function component(a, b) {
5
+function useHook(a, b) {
6
let z = {a};
7
let y = b;
8
let x = function () {
@@ -22,8 +21,8 @@ function component(a, b) {
21
## Code
22
23
```javascript
25
-import { c as _c } from "react/compiler-runtime"; // @debug
26
-function component(a, b) {
24
+import { c as _c } from "react/compiler-runtime";
25
+function useHook(a, b) {
26
const $ = _c(5);
27
let t0;
28
if ($[0] !== a) {
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-conditional-capture-mutate.js
+1
-2
@@ -1,5 +1,4 @@
1
-// @debug
2
-function component(a, b) {
1
+function useHook(a, b) {
2
let z = {a};
3
let y = b;
4
let x = function () {
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-renamed-ref.expect.md
+40
-8
@@ -2,7 +2,9 @@
2
## Input
3
4
```javascript
5
-function component(a, b) {
5
+import {mutate} from 'shared-runtime';
6
+
7
+function useHook({a, b}) {
8
let z = {a};
9
{
10
let z = {b};
@@ -13,23 +15,37 @@ function component(a, b) {
15
return z;
16
}
17
18
+export const FIXTURE_ENTRYPOINT = {
19
+ fn: useHook,
20
+ params: [{a: 2, b: 3}],
21
+ sequentialRenders: [
22
+ {a: 2, b: 3},
23
+ {a: 2, b: 3},
24
+ {a: 2, b: 4},
25
+ {a: 3, b: 4},
26
+ ],
27
+};
28
+
29
```
30
31
## Code
32
33
```javascript
34
import { c as _c } from "react/compiler-runtime";
22
-function component(a, b) {
35
+import { mutate } from "shared-runtime";
36
+
37
+function useHook(t0) {
38
const $ = _c(2);
24
- let t0;
39
+ const { a, b } = t0;
40
+ let t1;
41
if ($[0] !== a) {
26
- t0 = { a };
42
+ t1 = { a };
43
$[0] = a;
28
- $[1] = t0;
44
+ $[1] = t1;
45
} else {
30
- t0 = $[1];
46
+ t1 = $[1];
47
}
32
- const z = t0;
48
+ const z = t1;
49
50
const z_0 = { b };
51
@@ -37,5 +53,21 @@ function component(a, b) {
53
return z;
54
}
55
56
+export const FIXTURE_ENTRYPOINT = {
57
+ fn: useHook,
58
+ params: [{ a: 2, b: 3 }],
59
+ sequentialRenders: [
60
+ { a: 2, b: 3 },
61
+ { a: 2, b: 3 },
62
+ { a: 2, b: 4 },
63
+ { a: 3, b: 4 },
64
+ ],
65
+};
66
+
67
```
41
-
\ No newline at end of file
68
+
69
+### Eval output
70
+(kind: ok) {"a":2}
71
+{"a":2}
72
+{"a":2}
73
+{"a":3}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-renamed-ref.js
+14
-1
@@ -1,4 +1,6 @@
1
-function component(a, b) {
1
+import {mutate} from 'shared-runtime';
2
+
3
+function useHook({a, b}) {
4
let z = {a};
5
{
6
let z = {b};
@@ -8,3 +10,14 @@ function component(a, b) {
10
}
11
return z;
12
}
13
+
14
+export const FIXTURE_ENTRYPOINT = {
15
+ fn: useHook,
16
+ params: [{a: 2, b: 3}],
17
+ sequentialRenders: [
18
+ {a: 2, b: 3},
19
+ {a: 2, b: 3},
20
+ {a: 2, b: 4},
21
+ {a: 3, b: 4},
22
+ ],
23
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-runs-inference.expect.md
+37
-19
@@ -2,11 +2,17 @@
2
## Input
3
4
```javascript
5
-function component(a, b) {
5
+import {Stringify} from 'shared-runtime';
6
+function Component({a, b}) {
7
let z = {a};
7
- let p = () => <Foo>{z}</Foo>;
8
+ let p = () => <Stringify>{z}</Stringify>;
9
return p();
10
}
11
+export const FIXTURE_ENTRYPOINT = {
12
+ fn: Component,
13
+ params: [{a: 1}],
14
+ sequentialRenders: [{a: 1}, {a: 1}, {a: 2}],
15
+};
16
17
```
18
@@ -14,36 +20,48 @@ function component(a, b) {
20
21
```javascript
22
import { c as _c } from "react/compiler-runtime";
17
-function component(a, b) {
23
+import { Stringify } from "shared-runtime";
24
+function Component(t0) {
25
const $ = _c(6);
19
- let t0;
26
+ const { a } = t0;
27
+ let t1;
28
if ($[0] !== a) {
21
- t0 = { a };
29
+ t1 = { a };
30
$[0] = a;
23
- $[1] = t0;
31
+ $[1] = t1;
32
} else {
25
- t0 = $[1];
33
+ t1 = $[1];
34
}
27
- const z = t0;
28
- let t1;
35
+ const z = t1;
36
+ let t2;
37
if ($[2] !== z) {
30
- t1 = () => <Foo>{z}</Foo>;
38
+ t2 = () => <Stringify>{z}</Stringify>;
39
$[2] = z;
32
- $[3] = t1;
40
+ $[3] = t2;
41
} else {
34
- t1 = $[3];
42
+ t2 = $[3];
43
}
36
- const p = t1;
37
- let t2;
44
+ const p = t2;
45
+ let t3;
46
if ($[4] !== p) {
39
- t2 = p();
47
+ t3 = p();
48
$[4] = p;
41
- $[5] = t2;
49
+ $[5] = t3;
50
} else {
43
- t2 = $[5];
51
+ t3 = $[5];
52
}
45
- return t2;
53
+ return t3;
54
}
55
56
+export const FIXTURE_ENTRYPOINT = {
57
+ fn: Component,
58
+ params: [{ a: 1 }],
59
+ sequentialRenders: [{ a: 1 }, { a: 1 }, { a: 2 }],
60
+};
61
+
62
```
49
-
\ No newline at end of file
63
+
64
+### Eval output
65
+(kind: ok) <div>{"children":{"a":1}}</div>
66
+<div>{"children":{"a":1}}</div>
67
+<div>{"children":{"a":2}}</div>
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-runs-inference.js
+8
-2
@@ -1,5 +1,11 @@
1
-function component(a, b) {
1
+import {Stringify} from 'shared-runtime';
2
+function Component({a, b}) {
3
let z = {a};
3
- let p = () => <Foo>{z}</Foo>;
4
+ let p = () => <Stringify>{z}</Stringify>;
5
return p();
6
}
7
+export const FIXTURE_ENTRYPOINT = {
8
+ fn: Component,
9
+ params: [{a: 1}],
10
+ sequentialRenders: [{a: 1}, {a: 1}, {a: 2}],
11
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-shadow-captured.expect.md
+35
-5
@@ -2,28 +2,58 @@
2
## Input
3
4
```javascript
5
-function component(a) {
5
+import {mutate, Stringify} from 'shared-runtime';
6
+function Component({a}) {
7
let z = {a};
8
let x = function () {
9
let z;
10
mutate(z);
11
+ return z;
12
};
11
- return x;
13
+ return <Stringify fn={x} shouldInvokeFns={true} />;
14
}
15
16
+export const FIXTURE_ENTRYPOINT = {
17
+ fn: Component,
18
+ params: [{a: 1}],
19
+ sequentialRenders: [{a: 1}, {a: 1}, {a: 2}],
20
+};
21
+
22
```
23
24
## Code
25
26
```javascript
19
-function component(a) {
27
+import { c as _c } from "react/compiler-runtime";
28
+import { mutate, Stringify } from "shared-runtime";
29
+function Component(t0) {
30
+ const $ = _c(1);
31
+
32
const x = _temp;
21
- return x;
33
+ let t1;
34
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
35
+ t1 = <Stringify fn={x} shouldInvokeFns={true} />;
36
+ $[0] = t1;
37
+ } else {
38
+ t1 = $[0];
39
+ }
40
+ return t1;
41
}
42
function _temp() {
43
let z_0;
44
mutate(z_0);
45
+ return z_0;
46
}
47
48
+export const FIXTURE_ENTRYPOINT = {
49
+ fn: Component,
50
+ params: [{ a: 1 }],
51
+ sequentialRenders: [{ a: 1 }, { a: 1 }, { a: 2 }],
52
+};
53
+
54
```
29
-
\ No newline at end of file
55
+
56
+### Eval output
57
+(kind: ok) <div>{"fn":{"kind":"Function"},"shouldInvokeFns":true}</div>
58
+<div>{"fn":{"kind":"Function"},"shouldInvokeFns":true}</div>
59
+<div>{"fn":{"kind":"Function"},"shouldInvokeFns":true}</div>
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-function-shadow-captured.js
+10
-2
@@ -1,8 +1,16 @@
1
-function component(a) {
1
+import {mutate, Stringify} from 'shared-runtime';
2
+function Component({a}) {
3
let z = {a};
4
let x = function () {
5
let z;
6
mutate(z);
7
+ return z;
8
};
7
- return x;
9
+ return <Stringify fn={x} shouldInvokeFns={true} />;
10
}
11
+
12
+export const FIXTURE_ENTRYPOINT = {
13
+ fn: Component,
14
+ params: [{a: 1}],
15
+ sequentialRenders: [{a: 1}, {a: 1}, {a: 2}],
16
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-reference-changes-type.expect.md
+22
-3
@@ -2,7 +2,8 @@
2
## Input
3
4
```javascript
5
-function component(a) {
5
+import {mutate} from 'shared-runtime';
6
+function Component({a}) {
7
let x = {a};
8
let y = 1;
9
(function () {
@@ -12,14 +13,22 @@ function component(a) {
13
return y;
14
}
15
16
+export const FIXTURE_ENTRYPOINT = {
17
+ fn: Component,
18
+ params: [{a: 2}],
19
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
20
+};
21
+
22
```
23
24
## Code
25
26
```javascript
27
import { c as _c } from "react/compiler-runtime";
21
-function component(a) {
28
+import { mutate } from "shared-runtime";
29
+function Component(t0) {
30
const $ = _c(2);
31
+ const { a } = t0;
32
let y;
33
if ($[0] !== a) {
34
const x = { a };
@@ -36,5 +45,15 @@ function component(a) {
45
return y;
46
}
47
48
+export const FIXTURE_ENTRYPOINT = {
49
+ fn: Component,
50
+ params: [{ a: 2 }],
51
+ sequentialRenders: [{ a: 2 }, { a: 2 }, { a: 3 }],
52
+};
53
+
54
```
40
-
\ No newline at end of file
55
+
56
+### Eval output
57
+(kind: ok) {"a":2,"wat0":"joe"}
58
+{"a":2,"wat0":"joe"}
59
+{"a":3,"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/capturing-reference-changes-type.js
+8
-1
@@ -1,4 +1,5 @@
1
-function component(a) {
1
+import {mutate} from 'shared-runtime';
2
+function Component({a}) {
3
let x = {a};
4
let y = 1;
5
(function () {
@@ -7,3 +8,9 @@ function component(a) {
8
mutate(y);
9
return y;
10
}
11
+
12
+export const FIXTURE_ENTRYPOINT = {
13
+ fn: Component,
14
+ params: [{a: 2}],
15
+ sequentialRenders: [{a: 2}, {a: 2}, {a: 3}],
16
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/computed-store-alias.expect.md
+30
-3
@@ -2,7 +2,8 @@
2
## Input
3
4
```javascript
5
-function component(a, b) {
5
+import {mutate} from 'shared-runtime';
6
+function useHook({a, b}) {
7
let y = {a};
8
let x = {b};
9
x['y'] = y;
@@ -10,14 +11,26 @@ function component(a, b) {
11
return x;
12
}
13
14
+export const FIXTURE_ENTRYPOINT = {
15
+ fn: useHook,
16
+ params: [{a: 2, b: 3}],
17
+ sequentialRenders: [
18
+ {a: 2, b: 3},
19
+ {a: 2, b: 3},
20
+ {a: 3, b: 3},
21
+ ],
22
+};
23
+
24
```
25
26
## Code
27
28
```javascript
29
import { c as _c } from "react/compiler-runtime";
19
-function component(a, b) {
30
+import { mutate } from "shared-runtime";
31
+function useHook(t0) {
32
const $ = _c(3);
33
+ const { a, b } = t0;
34
let x;
35
if ($[0] !== a || $[1] !== b) {
36
const y = { a };
@@ -33,5 +46,19 @@ function component(a, b) {
46
return x;
47
}
48
49
+export const FIXTURE_ENTRYPOINT = {
50
+ fn: useHook,
51
+ params: [{ a: 2, b: 3 }],
52
+ sequentialRenders: [
53
+ { a: 2, b: 3 },
54
+ { a: 2, b: 3 },
55
+ { a: 3, b: 3 },
56
+ ],
57
+};
58
+
59
```
37
-
\ No newline at end of file
60
+
61
+### Eval output
62
+(kind: ok) {"b":3,"y":{"a":2},"wat0":"joe"}
63
+{"b":3,"y":{"a":2},"wat0":"joe"}
64
+{"b":3,"y":{"a":3},"wat0":"joe"}
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/computed-store-alias.js
+12
-1
@@ -1,7 +1,18 @@
1
-function component(a, b) {
1
+import {mutate} from 'shared-runtime';
2
+function useHook({a, b}) {
3
let y = {a};
4
let x = {b};
5
x['y'] = y;
6
mutate(x);
7
return x;
8
}
9
+
10
+export const FIXTURE_ENTRYPOINT = {
11
+ fn: useHook,
12
+ params: [{a: 2, b: 3}],
13
+ sequentialRenders: [
14
+ {a: 2, b: 3},
15
+ {a: 2, b: 3},
16
+ {a: 3, b: 3},
17
+ ],
18
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/constant-propagation-into-function-expressions.expect.md
+24
-5
@@ -2,27 +2,37 @@
2
## Input
3
4
```javascript
5
+import {Stringify, identity} from 'shared-runtime';
6
+
7
function Component(props) {
8
const x = 42;
9
const onEvent = () => {
8
- console.log(x);
10
+ return identity(x);
11
};
10
- return <Foo onEvent={onEvent} />;
12
+ return <Stringify onEvent={onEvent} shouldInvokeFns={true} />;
13
}
14
15
+export const FIXTURE_ENTRYPOINT = {
16
+ fn: Component,
17
+ params: [{}],
18
+ sequentialRenders: [{}, {}],
19
+};
20
+
21
```
22
23
## Code
24
25
```javascript
26
import { c as _c } from "react/compiler-runtime";
27
+import { Stringify, identity } from "shared-runtime";
28
+
29
function Component(props) {
30
const $ = _c(1);
31
32
const onEvent = _temp;
33
let t0;
34
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
25
- t0 = <Foo onEvent={onEvent} />;
35
+ t0 = <Stringify onEvent={onEvent} shouldInvokeFns={true} />;
36
$[0] = t0;
37
} else {
38
t0 = $[0];
@@ -30,8 +40,17 @@ function Component(props) {
40
return t0;
41
}
42
function _temp() {
33
- console.log(42);
43
+ return identity(42);
44
}
45
46
+export const FIXTURE_ENTRYPOINT = {
47
+ fn: Component,
48
+ params: [{}],
49
+ sequentialRenders: [{}, {}],
50
+};
51
+
52
```
37
-
\ No newline at end of file
53
+
54
+### Eval output
55
+(kind: ok) <div>{"onEvent":{"kind":"Function","result":42},"shouldInvokeFns":true}</div>
56
+<div>{"onEvent":{"kind":"Function","result":42},"shouldInvokeFns":true}</div>
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/constant-propagation-into-function-expressions.js
+10
-2
@@ -1,7 +1,15 @@
1
+import {Stringify, identity} from 'shared-runtime';
2
+
3
function Component(props) {
4
const x = 42;
5
const onEvent = () => {
4
- console.log(x);
6
+ return identity(x);
7
};
6
- return <Foo onEvent={onEvent} />;
8
+ return <Stringify onEvent={onEvent} shouldInvokeFns={true} />;
9
}
10
+
11
+export const FIXTURE_ENTRYPOINT = {
12
+ fn: Component,
13
+ params: [{}],
14
+ sequentialRenders: [{}, {}],
15
+};
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hoisting-functionexpr-conditional-dep.expect.md
renamed
+3
-1
@@ -90,4 +90,6 @@ export const FIXTURE_ENTRYPOINT = {
90
};
91
92
```
93
-
\ No newline at end of file
93
+
94
+### Eval output
95
+(kind: ok) <div>{"shouldInvokeFns":true,"callback":{"kind":"Function","result":null}}</div>
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hoisting-functionexpr-conditional-dep.tsx
renamed
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/reduce-reactive-deps/edge-case-merge-uncond-optional-chain-and-cond.expect.md
renamed
+4
-1
@@ -85,4 +85,7 @@ export const FIXTURE_ENTRYPOINT = {
85
};
86
87
```
88
-
\ No newline at end of file
88
+
89
+### Eval output
90
+(kind: ok) {}
91
+[[ (exception in render) TypeError: Cannot read properties of null (reading 'title_text') ]]
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/reduce-reactive-deps/edge-case-merge-uncond-optional-chain-and-cond.ts
renamed
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/reduce-reactive-deps/infer-function-cond-access-not-hoisted.expect.md
renamed
+5
-1
@@ -70,4 +70,8 @@ export const FIXTURE_ENTRYPOINT = {
70
};
71
72
```
73
-
\ No newline at end of file
73
+
74
+### Eval output
75
+(kind: ok) [[ (exception in render) TypeError: Cannot read properties of null (reading 'b') ]]
76
+<div>{"fn":{"kind":"Function","result":null},"shouldInvokeFns":true}</div>
77
+<div>{"fn":{"kind":"Function","result":4},"shouldInvokeFns":true}</div>
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/reduce-reactive-deps/infer-function-cond-access-not-hoisted.tsx
renamed
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/try-catch-maybe-null-dependency.expect.md
renamed
+6
-1
@@ -70,4 +70,9 @@ export const FIXTURE_ENTRYPOINT = {
70
};
71
72
```
73
-
\ No newline at end of file
73
+
74
+### Eval output
75
+(kind: ok) ["null"]
76
+[null]
77
+[null]
78
+["null"]
\ No newline at end of file
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/try-catch-maybe-null-dependency.ts
renamed
compiler/packages/snap/src/SproutTodoFilter.ts
+3
-27
@@ -229,31 +229,15 @@ const skipFilter = new Set([
229
'builtin-jsx-tag-lowered-between-mutations',
230
'call-args-assignment',
231
'call-args-destructuring-assignment',
232
- 'call-spread',
232
'call-with-independently-memoizable-arg',
233
'capture-param-mutate',
235
- 'capturing-fun-alias-captured-mutate-2',
236
- 'capturing-fun-alias-captured-mutate-arr-2',
237
- 'capturing-func-alias-captured-mutate-arr',
238
- 'capturing-func-alias-computed-mutate',
239
- 'capturing-func-alias-mutate',
240
- 'capturing-func-alias-receiver-computed-mutate',
241
- 'capturing-func-alias-receiver-mutate',
242
- 'capturing-func-simple-alias',
243
- 'capturing-function-capture-ref-before-rename',
234
'capturing-function-conditional-capture-mutate',
235
'capturing-function-member-expr-arguments',
236
'capturing-function-member-expr-call',
247
- 'capturing-function-renamed-ref',
248
- 'capturing-function-runs-inference',
249
- 'capturing-function-shadow-captured',
250
- 'capturing-reference-changes-type',
237
'codegen-emit-imports-same-source',
238
'codegen-emit-make-read-only',
239
'computed-call-spread',
240
'computed-load-primitive-as-dependency',
255
- 'computed-store-alias',
256
- 'constant-propagation-into-function-expressions',
241
'destructuring-mixed-scope-declarations-and-locals',
242
'destructuring-property-inference',
243
'do-while-conditional-break',
@@ -477,23 +461,15 @@ const skipFilter = new Set([
461
'invalid-jsx-lowercase-localvar',
462
463
// bugs
480
- 'fbt/bug-fbt-plural-multiple-function-calls',
481
- 'fbt/bug-fbt-plural-multiple-mixed-call-tag',
482
- `bug-capturing-func-maybealias-captured-mutate`,
464
'bug-object-expression-computed-key-modified-during-after-construction-hoisted-sequence-expr',
484
- 'bug-invalid-hoisting-functionexpr',
465
+ `bug-capturing-func-maybealias-captured-mutate`,
466
'bug-aliased-capture-aliased-mutate',
467
'bug-aliased-capture-mutate',
468
'bug-functiondecl-hoisting',
488
- 'bug-try-catch-maybe-null-dependency',
489
- 'bug-invalid-mixedreadonly-map-shape',
469
'bug-type-inference-control-flow',
491
- 'reduce-reactive-deps/bug-infer-function-cond-access-not-hoisted',
470
+ 'fbt/bug-fbt-plural-multiple-function-calls',
471
+ 'fbt/bug-fbt-plural-multiple-mixed-call-tag',
472
'bug-invalid-phi-as-dependency',
493
- 'reduce-reactive-deps/bug-merge-uncond-optional-chain-and-cond',
494
- 'original-reactive-scopes-fork/bug-nonmutating-capture-in-unsplittable-memo-block',
495
- 'original-reactive-scopes-fork/bug-hoisted-declaration-with-scope',
496
- 'bug-codegen-inline-iife',
473
474
// 'react-compiler-runtime' not yet supported
475
'flag-enable-emit-hook-guards',