tree 50bd68f66efd60fe072a0e984aa12b7b3e3387da
parent fc1bd94daaf72c3a6f88d9385462428a612056e1
author Konstantin Shcheglov <scheglov@google.com> 1757431392 -0700
committer Commit Queue <dart-scoped@luci-project-accounts.iam.gserviceaccount.com> 1757431392 -0700

Fine. Track constructor/method/top-level function APIs.

Fine-grained dependency tracking missed several element APIs and edge
cases. This change annotates and records usage of key properties on
`ConstructorElementImpl`, `MethodElementImpl`, and
`TopLevelFunctionElementImpl`, and extends the manifest/serialization to
capture relationships and inference state that affect API shape.

What’s included

- Add `@elementClass` and granular tracking on members:
  - Mark identifiers and flags with `@trackedIncludedInId`.
  - Mark getters like `firstFragment`, `fragments`, `lastFragment`,
    `accept()`, `visitChildren()` as `@trackedDirectlyOpaque` and record
    opaque API use.
  - Mark derived properties as `@trackedIndirectly` and internal caches
    as `@trackedInternal`.
  - Expose `_fragments` lists so tracked access doesn’t bypass recording.
- Constructors:
  - Track `isConst`, `isFactory`, `constantInitializers`.
  - Persist and match `redirectedConstructor` and `superConstructor`
    via new optional `ManifestElement` fields.
  - Compute `isGenerative` as `!isFactory` to avoid fragment drift.
- Methods:
  - Persist `isOperatorEqualWithParameterTypeFromObject`.
  - Serialize `typeInferenceError` and surface it in manifests.
- Add binary I/O for `TopLevelInferenceError` (read/write/optional,
  equality) and print it in result output.
- Extend `ManifestElement` with `encodeOptional()/readOptional()` and a
  helper extension for matching/writing optionals.
- Update the result printer to show:
  - Method flags and optional `typeInferenceError`.
  - Constructor `redirectedConstructor` and `superConstructor`.
- Bump `AnalysisDriver.DATA_VERSION` to 547 to invalidate old caches.
- Minor fixes:
  - Use `baseElement.firstFragmentLocation.libraryFragment!.source` when
    wiring the diagnostic reporter in constant evaluation to align with
    fragment locations.

Why

Clients of the fine-grained dependency system rely on accurate
identification and usage tracking of element APIs. Missing tracking for
fragments/visitors and absent manifest fields (constructor redirection/
super calls, method inference errors) could let incompatible API changes
slip past invalidation and requirement checks. Persisting these details
ensures correct cache keys, precise requirement verification, and more
actionable diagnostics.

Compatibility

- Data/summary format changes require a cache rebuild (version 547).
- No user-visible API changes.

Change-Id: Ifdc1a97e87dc6e2decabcf0d9a9c634825da6e85
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/448900
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
