Commit be68f15
[cfe] Perform extension invocation inference on the original arguments
This changes how extension invocation is performed. Previously the inference was done on the lowered encoding, requiring the inference to bypass the synthesized extension type parameters and the extension receiver. The new approach uses the arguments directly for the source, avoiding a lot of complexity in the inference and aligning with the principle of only performing lowering _after_ inference.
Change-Id: I70973ee647b074589e1905c2993a846c15a70ce4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447581
Commit-Queue: Johnni Winther <[email protected]>
Reviewed-by: Chloe Stefantsova <[email protected]>1 parent 9a0992f commit be68f15
File tree
30 files changed
+847
-708
lines changed- pkg/front_end
- lib/src
- kernel
- type_inference
- testcases
- constructor_tearoffs
- extensions
- general
- inference_update_1
- named_arguments_anywhere
- patterns
30 files changed
+847
-708
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6323 | 6323 | | |
6324 | 6324 | | |
6325 | 6325 | | |
6326 | | - | |
6327 | | - | |
| 6326 | + | |
6328 | 6327 | | |
6329 | 6328 | | |
6330 | 6329 | | |
6331 | 6330 | | |
6332 | 6331 | | |
6333 | | - | |
6334 | | - | |
6335 | | - | |
6336 | | - | |
6337 | | - | |
6338 | | - | |
6339 | | - | |
6340 | 6332 | | |
6341 | 6333 | | |
6342 | 6334 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| 50 | + | |
49 | 51 | | |
50 | 52 | | |
51 | 53 | | |
| |||
141 | 143 | | |
142 | 144 | | |
143 | 145 | | |
| 146 | + | |
144 | 147 | | |
145 | 148 | | |
146 | 149 | | |
| |||
475 | 478 | | |
476 | 479 | | |
477 | 480 | | |
| 481 | + | |
478 | 482 | | |
479 | 483 | | |
480 | 484 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
| 19 | + | |
21 | 20 | | |
22 | 21 | | |
23 | 22 | | |
| |||
Lines changed: 23 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
113 | 118 | | |
114 | 119 | | |
115 | 120 | | |
| |||
141 | 146 | | |
142 | 147 | | |
143 | 148 | | |
144 | | - | |
| 149 | + | |
| 150 | + | |
145 | 151 | | |
146 | 152 | | |
147 | 153 | | |
| |||
189 | 195 | | |
190 | 196 | | |
191 | 197 | | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
192 | 211 | | |
193 | 212 | | |
194 | 213 | | |
| |||
233 | 252 | | |
234 | 253 | | |
235 | 254 | | |
236 | | - | |
| 255 | + | |
| 256 | + | |
237 | 257 | | |
238 | 258 | | |
239 | 259 | | |
| |||
Lines changed: 8 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1538 | 1538 | | |
1539 | 1539 | | |
1540 | 1540 | | |
1541 | | - | |
1542 | | - | |
1543 | | - | |
1544 | 1541 | | |
1545 | | - | |
1546 | | - | |
1547 | 1542 | | |
1548 | | - | |
1549 | | - | |
1550 | | - | |
1551 | | - | |
| 1543 | + | |
| 1544 | + | |
1552 | 1545 | | |
| 1546 | + | |
| 1547 | + | |
1553 | 1548 | | |
1554 | 1549 | | |
1555 | 1550 | | |
1556 | 1551 | | |
| 1552 | + | |
| 1553 | + | |
1557 | 1554 | | |
1558 | 1555 | | |
1559 | 1556 | | |
1560 | | - | |
1561 | | - | |
| 1557 | + | |
| 1558 | + | |
1562 | 1559 | | |
1563 | 1560 | | |
1564 | 1561 | | |
| |||
0 commit comments