Files
sdk/pkg/analyzer/lib
Konstantin Shcheglov b308ee0801 DeCo. Remove ExtensionTypeElementImpl.primaryFormalParameter
Remove the `ExtensionTypeElementImpl.primaryFormalParameter` API and
rely on the existing `representation` field to model the backing storage
for extension types.

Previously, extension type linking updated both the representation field
and the primary formal parameter to keep their types in sync. With
declaring formal parameters now wired through the shared DeCo
infrastructure, this duplication is no longer necessary.

The change:
- Drops `primaryFormalParameter` from `ExtensionTypeElementImpl` and
  removes its use in extension type linking.
- Moves `_copyDeclaringFormalParametersExplicitTypes()` earlier in
  `TypesBuilder.build()`, so explicit types from declaring formal
  parameters are propagated to their backing fields before extension
  types are built.

This simplifies the extension type element API, removes redundant state
between parameters and fields, and lets extension types reuse the common
declaring-formal-parameter machinery instead of a special case.

Change-Id: I7028c4a3203ace81217db7a851475b76b13a8352
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467241
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2025-12-09 16:25:09 -08:00
..