Commit 3b39c26
[ddc] Separate _emitObjectLiteral out from _emitArgumentList
Currently _emitArgumentList handles arguments for Dart
members, JS interop members, and object literal constructors.
It requires an Arguments node, which we end up synthesizing,
which messes with parent pointers erroneously. We also have
to separate out the arguments and do additional checks later
to detect whether the arguments passed correspond to an
object literal constructor.
Instead, we should create the resulting expression directly
in a helper method. A map is passed so that the names of
arguments can be easily changed when we handle @js renaming
on object literal constructors. Lastly, we need to avoid
wrapping the values with assertInterop in the case where the
constructor is from a dart:js_interop interface. That library
only statically allows Functions to be passed if they're
externalized, in which case we shouldn't tell users to wrap
the Function with allowInterop (which doesn't exist anyways in
dart:js_interop).
Change-Id: If6fdc706e80837ab2b698cca704ffd9f08aed28a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/446184
Reviewed-by: Nicholas Shahan <[email protected]>
Commit-Queue: Srujan Gaddam <[email protected]>1 parent 4ccfbc6 commit 3b39c26
File tree
3 files changed
+154
-60
lines changed- pkg/dev_compiler/lib/src/kernel
- tests/lib/js/static_interop_test
3 files changed
+154
-60
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
6935 | 6937 | | |
6936 | 6938 | | |
6937 | 6939 | | |
6938 | | - | |
6939 | | - | |
6940 | | - | |
6941 | | - | |
6942 | | - | |
6943 | | - | |
6944 | | - | |
6945 | | - | |
| 6940 | + | |
| 6941 | + | |
| 6942 | + | |
| 6943 | + | |
6946 | 6944 | | |
6947 | 6945 | | |
6948 | 6946 | | |
| |||
7110 | 7108 | | |
7111 | 7109 | | |
7112 | 7110 | | |
7113 | | - | |
7114 | | - | |
| 7111 | + | |
| 7112 | + | |
7115 | 7113 | | |
7116 | | - | |
| 7114 | + | |
7117 | 7115 | | |
7118 | 7116 | | |
7119 | 7117 | | |
| |||
7140 | 7138 | | |
7141 | 7139 | | |
7142 | 7140 | | |
7143 | | - | |
7144 | | - | |
| 7141 | + | |
| 7142 | + | |
7145 | 7143 | | |
7146 | 7144 | | |
7147 | 7145 | | |
| |||
7168 | 7166 | | |
7169 | 7167 | | |
7170 | 7168 | | |
| 7169 | + | |
| 7170 | + | |
| 7171 | + | |
| 7172 | + | |
| 7173 | + | |
7171 | 7174 | | |
7172 | 7175 | | |
7173 | | - | |
| 7176 | + | |
7174 | 7177 | | |
7175 | 7178 | | |
7176 | 7179 | | |
| |||
7179 | 7182 | | |
7180 | 7183 | | |
7181 | 7184 | | |
7182 | | - | |
7183 | | - | |
7184 | | - | |
7185 | | - | |
7186 | | - | |
7187 | | - | |
7188 | | - | |
| 7185 | + | |
| 7186 | + | |
7189 | 7187 | | |
7190 | 7188 | | |
7191 | 7189 | | |
| |||
7411 | 7409 | | |
7412 | 7410 | | |
7413 | 7411 | | |
7414 | | - | |
| 7412 | + | |
| 7413 | + | |
| 7414 | + | |
| 7415 | + | |
| 7416 | + | |
| 7417 | + | |
| 7418 | + | |
| 7419 | + | |
| 7420 | + | |
7415 | 7421 | | |
7416 | 7422 | | |
7417 | 7423 | | |
| |||
7499 | 7505 | | |
7500 | 7506 | | |
7501 | 7507 | | |
7502 | | - | |
| 7508 | + | |
| 7509 | + | |
| 7510 | + | |
| 7511 | + | |
| 7512 | + | |
| 7513 | + | |
| 7514 | + | |
| 7515 | + | |
| 7516 | + | |
7503 | 7517 | | |
7504 | 7518 | | |
7505 | 7519 | | |
| |||
7527 | 7541 | | |
7528 | 7542 | | |
7529 | 7543 | | |
7530 | | - | |
7531 | | - | |
7532 | | - | |
7533 | | - | |
7534 | | - | |
| 7544 | + | |
| 7545 | + | |
| 7546 | + | |
| 7547 | + | |
| 7548 | + | |
| 7549 | + | |
| 7550 | + | |
| 7551 | + | |
| 7552 | + | |
| 7553 | + | |
| 7554 | + | |
| 7555 | + | |
| 7556 | + | |
| 7557 | + | |
| 7558 | + | |
| 7559 | + | |
| 7560 | + | |
| 7561 | + | |
| 7562 | + | |
| 7563 | + | |
| 7564 | + | |
| 7565 | + | |
| 7566 | + | |
| 7567 | + | |
| 7568 | + | |
| 7569 | + | |
| 7570 | + | |
| 7571 | + | |
7535 | 7572 | | |
7536 | 7573 | | |
7537 | 7574 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
7568 | 7570 | | |
7569 | 7571 | | |
7570 | 7572 | | |
7571 | | - | |
7572 | | - | |
7573 | | - | |
7574 | | - | |
7575 | | - | |
7576 | | - | |
7577 | | - | |
7578 | | - | |
| 7573 | + | |
| 7574 | + | |
| 7575 | + | |
| 7576 | + | |
7579 | 7577 | | |
7580 | 7578 | | |
7581 | 7579 | | |
| |||
7905 | 7903 | | |
7906 | 7904 | | |
7907 | 7905 | | |
7908 | | - | |
7909 | | - | |
| 7906 | + | |
| 7907 | + | |
7910 | 7908 | | |
7911 | | - | |
| 7909 | + | |
7912 | 7910 | | |
7913 | 7911 | | |
7914 | 7912 | | |
| |||
7935 | 7933 | | |
7936 | 7934 | | |
7937 | 7935 | | |
7938 | | - | |
7939 | | - | |
| 7936 | + | |
| 7937 | + | |
7940 | 7938 | | |
7941 | 7939 | | |
7942 | 7940 | | |
| |||
7963 | 7961 | | |
7964 | 7962 | | |
7965 | 7963 | | |
| 7964 | + | |
| 7965 | + | |
| 7966 | + | |
| 7967 | + | |
| 7968 | + | |
7966 | 7969 | | |
7967 | 7970 | | |
7968 | | - | |
| 7971 | + | |
7969 | 7972 | | |
7970 | 7973 | | |
7971 | 7974 | | |
| |||
7974 | 7977 | | |
7975 | 7978 | | |
7976 | 7979 | | |
7977 | | - | |
7978 | | - | |
7979 | | - | |
7980 | | - | |
7981 | | - | |
7982 | | - | |
7983 | | - | |
| 7980 | + | |
| 7981 | + | |
7984 | 7982 | | |
7985 | 7983 | | |
7986 | 7984 | | |
| |||
8206 | 8204 | | |
8207 | 8205 | | |
8208 | 8206 | | |
8209 | | - | |
| 8207 | + | |
| 8208 | + | |
| 8209 | + | |
| 8210 | + | |
| 8211 | + | |
| 8212 | + | |
| 8213 | + | |
| 8214 | + | |
| 8215 | + | |
8210 | 8216 | | |
8211 | 8217 | | |
8212 | 8218 | | |
| |||
8294 | 8300 | | |
8295 | 8301 | | |
8296 | 8302 | | |
8297 | | - | |
| 8303 | + | |
| 8304 | + | |
| 8305 | + | |
| 8306 | + | |
| 8307 | + | |
| 8308 | + | |
| 8309 | + | |
| 8310 | + | |
| 8311 | + | |
8298 | 8312 | | |
8299 | 8313 | | |
8300 | 8314 | | |
| |||
8322 | 8336 | | |
8323 | 8337 | | |
8324 | 8338 | | |
8325 | | - | |
8326 | | - | |
8327 | | - | |
8328 | | - | |
8329 | | - | |
| 8339 | + | |
| 8340 | + | |
| 8341 | + | |
| 8342 | + | |
| 8343 | + | |
| 8344 | + | |
| 8345 | + | |
| 8346 | + | |
| 8347 | + | |
| 8348 | + | |
| 8349 | + | |
| 8350 | + | |
| 8351 | + | |
| 8352 | + | |
| 8353 | + | |
| 8354 | + | |
| 8355 | + | |
| 8356 | + | |
| 8357 | + | |
| 8358 | + | |
| 8359 | + | |
| 8360 | + | |
| 8361 | + | |
| 8362 | + | |
| 8363 | + | |
| 8364 | + | |
| 8365 | + | |
| 8366 | + | |
8330 | 8367 | | |
8331 | 8368 | | |
8332 | 8369 | | |
| |||
Lines changed: 24 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
37 | 49 | | |
38 | 50 | | |
39 | 51 | | |
| |||
143 | 155 | | |
144 | 156 | | |
145 | 157 | | |
146 | | - | |
147 | | - | |
148 | | - | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
149 | 169 | | |
150 | 170 | | |
151 | 171 | | |
| |||
0 commit comments