Commit 3cc5f56
Fine. Persist isSimplyBounded; track isValidMixin indirectly.
Capture the simply-boundedness of instance elements in the fine-grained
manifest and stop baking `isValidMixin` into item IDs.
What:
- Add `isSimplyBounded` to `InstanceItem` and all subclasses
(`ClassItem`, `EnumItem`, `ExtensionItem`, `ExtensionTypeItem`,
`MixinItem`). Persist it in summaries and compare it in `match`.
- Update the summary schema to write/read `isSimplyBounded` immediately
after `typeParameters` for all instance items.
- Reclassify `ClassElementImpl.isValidMixin` from
`@trackedIncludedInId` to `@trackedIndirectly`.
- Bump `AnalysisDriver.DATA_VERSION` from 533 to 536.
Why:
- `isSimplyBounded` is an observable property of generic declarations.
Not recording it could allow identity reuse when simply-boundedness
changes without other shape differences. Persisting it yields more
precise matching and invalidation.
- `isValidMixin` is derived from other fields (e.g., `supertype`,
constructors). Tracking it indirectly avoids unnecessary ID churn and
reduces over-invalidation while remaining responsive to the inputs it
depends on.
Impact:
- More accurate fine-grained dependency tracking for generics.
- Fewer spurious item-ID changes from mixin validity checks.
- Existing caches are invalidated due to the data format bump; no public
API changes.
Change-Id: I2700b16add664a4fd127f492fb186c8e1f3635e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/448100
Commit-Queue: Konstantin Shcheglov <[email protected]>
Reviewed-by: Johnni Winther <[email protected]>
Reviewed-by: Paul Berry <[email protected]>1 parent 579ad24 commit 3cc5f56
File tree
4 files changed
+154
-3
lines changed- pkg/analyzer
- lib/src
- dart
- analysis
- element
- fine
- test/src/dart/analysis
4 files changed
+154
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
341 | | - | |
| 341 | + | |
342 | 342 | | |
343 | 343 | | |
344 | 344 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| 62 | + | |
61 | 63 | | |
62 | 64 | | |
63 | 65 | | |
| |||
85 | 87 | | |
86 | 88 | | |
87 | 89 | | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
136 | 139 | | |
137 | 140 | | |
138 | 141 | | |
| 142 | + | |
139 | 143 | | |
140 | 144 | | |
141 | 145 | | |
| |||
159 | 163 | | |
160 | 164 | | |
161 | 165 | | |
| 166 | + | |
162 | 167 | | |
163 | 168 | | |
164 | 169 | | |
| |||
179 | 184 | | |
180 | 185 | | |
181 | 186 | | |
| 187 | + | |
182 | 188 | | |
183 | 189 | | |
184 | 190 | | |
| |||
202 | 208 | | |
203 | 209 | | |
204 | 210 | | |
| 211 | + | |
205 | 212 | | |
206 | 213 | | |
207 | 214 | | |
| |||
222 | 229 | | |
223 | 230 | | |
224 | 231 | | |
| 232 | + | |
225 | 233 | | |
226 | 234 | | |
227 | 235 | | |
| |||
239 | 247 | | |
240 | 248 | | |
241 | 249 | | |
| 250 | + | |
242 | 251 | | |
243 | 252 | | |
244 | 253 | | |
| |||
273 | 282 | | |
274 | 283 | | |
275 | 284 | | |
| 285 | + | |
276 | 286 | | |
277 | 287 | | |
278 | 288 | | |
| |||
300 | 310 | | |
301 | 311 | | |
302 | 312 | | |
| 313 | + | |
303 | 314 | | |
304 | 315 | | |
305 | 316 | | |
| |||
324 | 335 | | |
325 | 336 | | |
326 | 337 | | |
| 338 | + | |
327 | 339 | | |
328 | 340 | | |
329 | 341 | | |
| |||
366 | 378 | | |
367 | 379 | | |
368 | 380 | | |
| 381 | + | |
369 | 382 | | |
370 | 383 | | |
371 | 384 | | |
| |||
382 | 395 | | |
383 | 396 | | |
384 | 397 | | |
| 398 | + | |
385 | 399 | | |
386 | 400 | | |
387 | 401 | | |
| |||
550 | 564 | | |
551 | 565 | | |
552 | 566 | | |
553 | | - | |
| 567 | + | |
| 568 | + | |
554 | 569 | | |
555 | 570 | | |
556 | 571 | | |
557 | 572 | | |
558 | 573 | | |
559 | 574 | | |
| 575 | + | |
560 | 576 | | |
561 | 577 | | |
562 | 578 | | |
| |||
918 | 934 | | |
919 | 935 | | |
920 | 936 | | |
| 937 | + | |
921 | 938 | | |
922 | 939 | | |
923 | 940 | | |
| |||
1220 | 1237 | | |
1221 | 1238 | | |
1222 | 1239 | | |
| 1240 | + | |
1223 | 1241 | | |
1224 | 1242 | | |
1225 | 1243 | | |
| |||
1248 | 1266 | | |
1249 | 1267 | | |
1250 | 1268 | | |
| 1269 | + | |
1251 | 1270 | | |
1252 | 1271 | | |
1253 | 1272 | | |
| |||
1273 | 1292 | | |
1274 | 1293 | | |
1275 | 1294 | | |
| 1295 | + | |
1276 | 1296 | | |
1277 | 1297 | | |
1278 | 1298 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12278 | 12278 | | |
12279 | 12279 | | |
12280 | 12280 | | |
| 12281 | + | |
| 12282 | + | |
| 12283 | + | |
| 12284 | + | |
| 12285 | + | |
| 12286 | + | |
| 12287 | + | |
| 12288 | + | |
| 12289 | + | |
| 12290 | + | |
| 12291 | + | |
| 12292 | + | |
| 12293 | + | |
| 12294 | + | |
| 12295 | + | |
| 12296 | + | |
| 12297 | + | |
| 12298 | + | |
| 12299 | + | |
| 12300 | + | |
| 12301 | + | |
| 12302 | + | |
| 12303 | + | |
| 12304 | + | |
| 12305 | + | |
| 12306 | + | |
| 12307 | + | |
| 12308 | + | |
| 12309 | + | |
| 12310 | + | |
| 12311 | + | |
| 12312 | + | |
| 12313 | + | |
| 12314 | + | |
| 12315 | + | |
| 12316 | + | |
| 12317 | + | |
| 12318 | + | |
| 12319 | + | |
| 12320 | + | |
| 12321 | + | |
| 12322 | + | |
| 12323 | + | |
| 12324 | + | |
| 12325 | + | |
| 12326 | + | |
| 12327 | + | |
| 12328 | + | |
| 12329 | + | |
| 12330 | + | |
| 12331 | + | |
| 12332 | + | |
| 12333 | + | |
| 12334 | + | |
| 12335 | + | |
| 12336 | + | |
| 12337 | + | |
| 12338 | + | |
| 12339 | + | |
| 12340 | + | |
| 12341 | + | |
| 12342 | + | |
| 12343 | + | |
| 12344 | + | |
| 12345 | + | |
| 12346 | + | |
| 12347 | + | |
| 12348 | + | |
| 12349 | + | |
| 12350 | + | |
| 12351 | + | |
| 12352 | + | |
| 12353 | + | |
| 12354 | + | |
| 12355 | + | |
| 12356 | + | |
| 12357 | + | |
| 12358 | + | |
| 12359 | + | |
| 12360 | + | |
| 12361 | + | |
| 12362 | + | |
| 12363 | + | |
| 12364 | + | |
| 12365 | + | |
| 12366 | + | |
| 12367 | + | |
| 12368 | + | |
| 12369 | + | |
| 12370 | + | |
| 12371 | + | |
| 12372 | + | |
| 12373 | + | |
| 12374 | + | |
| 12375 | + | |
| 12376 | + | |
| 12377 | + | |
| 12378 | + | |
| 12379 | + | |
12281 | 12380 | | |
12282 | 12381 | | |
12283 | 12382 | | |
| |||
44680 | 44779 | | |
44681 | 44780 | | |
44682 | 44781 | | |
| 44782 | + | |
| 44783 | + | |
| 44784 | + | |
| 44785 | + | |
| 44786 | + | |
| 44787 | + | |
| 44788 | + | |
| 44789 | + | |
| 44790 | + | |
| 44791 | + | |
| 44792 | + | |
| 44793 | + | |
| 44794 | + | |
| 44795 | + | |
| 44796 | + | |
| 44797 | + | |
| 44798 | + | |
| 44799 | + | |
| 44800 | + | |
| 44801 | + | |
| 44802 | + | |
| 44803 | + | |
| 44804 | + | |
| 44805 | + | |
| 44806 | + | |
| 44807 | + | |
| 44808 | + | |
| 44809 | + | |
| 44810 | + | |
| 44811 | + | |
| 44812 | + | |
| 44813 | + | |
44683 | 44814 | | |
44684 | 44815 | | |
44685 | 44816 | | |
| |||
0 commit comments