Fine. Add internal _firstFragment getter to avoid API tracking

Previously, internal analyzer logic that accessed element properties
would would require `globalResultRequirements.includedInId()` wrapper to
avoid inadvertently trigger opaque API usage tracking. This created
unnecessary overhead for internal operations.

This change introduces a new internal `_firstFragment` getter on
`ElementImpl` and its subclasses. Element properties that are used
internally are updated to access data directly through `_firstFragment`,
bypassing the API tracking wrapper.

The existing `firstFragment` field in most element implementations has
been renamed to `_firstFragment`, and a new public getter is provided to
maintain the public API.

As part of this refactoring, `MultiplyDefinedFragmentImpl` is also
updated to extend `FragmentImpl` for consistency.

Change-Id: I391d64fa3dd24451acefe37d8bc100fdfe88be4a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/445782
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
This commit is contained in:
Konstantin Shcheglov
2025-08-18 13:31:24 -07:00
committed by Commit Queue
parent 0db0c4865e
commit 0de52e8086
File diff suppressed because it is too large Load Diff