b308ee0801
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>