You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fine-grained manifests now capture more information about function and
constructor parameters so the analyzer can detect semantically relevant
changes.
What’s changed
- Record the default value of optional named and positional parameters as
a `ManifestNode`, and include it in matching/serialization logic.
- Track whether a parameter is an initializing formal (`this`) or a super
formal (`super`) and persist these flags in manifests.
- Add a `never_` entry to `ManifestAstElementKind` and collect
`NeverElementImpl` so const initializers that reference `Never` are
represented correctly.
- Enhance result printing to display `this`/`super` markers, default
values, and decode `Never` in element indices.
- Bump `AnalysisDriver.DATA_VERSION` to 552 to invalidate stale caches.
Why Previously, default parameter values and formal origin
(`this`/`super`) were not part of the manifest. Changing them could
leave linked data unchanged, producing stale analysis results. By
encoding these details (and handling `Never`), we ensure manifest
matching reflects the true API surface and triggers re-linking when
defaults or formal kinds change.
Change-Id: Icae8281f923879574fdc6143fd2c9d6018f4d48f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/449363
Commit-Queue: Konstantin Shcheglov <[email protected]>
Reviewed-by: Johnni Winther <[email protected]>
0 commit comments