@@ -4176,6 +4176,9 @@ class ExtensionTypeElementImpl extends InterfaceElementImpl
41764176 implements ExtensionTypeElement , ExtensionTypeFragment {
41774177 late ExtensionTypeElementImpl2 augmentedInternal;
41784178
4179+ @override
4180+ late DartType typeErasure;
4181+
41794182 /// Whether the element has direct or indirect reference to itself,
41804183 /// in representation.
41814184 bool hasRepresentationSelfReference = false ;
@@ -4212,7 +4215,7 @@ class ExtensionTypeElementImpl extends InterfaceElementImpl
42124215
42134216 @override
42144217 ConstructorElementImpl get primaryConstructor {
4215- return element.primaryConstructor ;
4218+ return constructors.first ;
42164219 }
42174220
42184221 @override
@@ -4221,17 +4224,12 @@ class ExtensionTypeElementImpl extends InterfaceElementImpl
42214224
42224225 @override
42234226 FieldElementImpl get representation {
4224- return element.representation ;
4227+ return fields.first ;
42254228 }
42264229
42274230 @override
42284231 FieldFragment get representation2 => representation as FieldFragment ;
42294232
4230- @override
4231- DartType get typeErasure {
4232- return element.typeErasure;
4233- }
4234-
42354233 @Deprecated ('Use Element2 and accept2() instead' )
42364234 @override
42374235 T ? accept <T >(ElementVisitor <T > visitor) {
@@ -4252,15 +4250,6 @@ class ExtensionTypeElementImpl2 extends InterfaceElementImpl2
42524250 @override
42534251 final ExtensionTypeElementImpl firstFragment;
42544252
4255- @override
4256- late ConstructorElementImpl primaryConstructor;
4257-
4258- @override
4259- late FieldElementImpl representation;
4260-
4261- @override
4262- late DartType typeErasure;
4263-
42644253 ExtensionTypeElementImpl2 (this .reference, this .firstFragment) {
42654254 reference.element2 = this ;
42664255 firstFragment.augmentedInternal = this ;
@@ -4301,10 +4290,17 @@ class ExtensionTypeElementImpl2 extends InterfaceElementImpl2
43014290 }
43024291
43034292 @override
4304- ConstructorElement2 get primaryConstructor2 => primaryConstructor.element;
4293+ ConstructorElement2 get primaryConstructor2 {
4294+ return firstFragment.primaryConstructor.element;
4295+ }
4296+
4297+ @override
4298+ FieldElement2OrMember get representation2 {
4299+ return firstFragment.representation.asElement2;
4300+ }
43054301
43064302 @override
4307- FieldElement2OrMember get representation2 => representation.asElement2 ;
4303+ DartType get typeErasure => firstFragment.typeErasure ;
43084304
43094305 @override
43104306 T ? accept2 <T >(ElementVisitor2 <T > visitor) {
0 commit comments