@@ -33,7 +33,7 @@ class GetterFragment implements Fragment, FunctionFragment {
3333 ///
3434 /// This is only non-null in erroneous cases since getters don't have type
3535 /// parameters.
36- final List <NominalParameterBuilder >? declaredTypeParameters;
36+ final List <TypeParameterFragment >? declaredTypeParameters;
3737
3838 /// The scope that introduces type parameters on this getter.
3939 ///
@@ -303,9 +303,16 @@ mixin _DirectGetterEncodingMixin implements _GetterEncoding {
303303 asyncMarker: _fragment.asyncModifier)
304304 ..fileOffset = _fragment.formalsOffset
305305 ..fileEndOffset = _fragment.endOffset;
306- buildTypeParametersAndFormals (libraryBuilder, function,
307- _fragment.declaredTypeParameters, _fragment.declaredFormals,
308- classTypeParameters: classTypeParameters, supportsTypeParameters: true );
306+ buildTypeParametersAndFormals (
307+ libraryBuilder,
308+ function,
309+ _fragment
310+ .declaredTypeParameters
311+ // Coverage-ignore(suite): Not run.
312+ ? .builders,
313+ _fragment.declaredFormals,
314+ classTypeParameters: classTypeParameters,
315+ supportsTypeParameters: true );
309316 if (_fragment.returnType is ! InferableTypeBuilder ) {
310317 function.returnType =
311318 _fragment.returnType.build (libraryBuilder, TypeUse .returnType);
@@ -349,7 +356,10 @@ mixin _DirectGetterEncodingMixin implements _GetterEncoding {
349356 libraryBuilder,
350357 bodyBuilderContext,
351358 _fragment.typeParameterScope,
352- _fragment.declaredTypeParameters);
359+ _fragment
360+ .declaredTypeParameters
361+ // Coverage-ignore(suite): Not run.
362+ ? .builders);
353363 _buildFormalsForOutlineExpressions (
354364 libraryBuilder, declarationBuilder, _fragment.declaredFormals,
355365 isClassInstanceMember: isClassInstanceMember);
@@ -368,8 +378,10 @@ mixin _DirectGetterEncodingMixin implements _GetterEncoding {
368378
369379 @override
370380 int computeDefaultTypes (ComputeDefaultTypeContext context) {
371- bool hasErrors = context.reportSimplicityIssuesForTypeParameters (
372- _fragment.declaredTypeParameters);
381+ bool hasErrors = context.reportSimplicityIssuesForTypeParameters (_fragment
382+ .declaredTypeParameters
383+ // Coverage-ignore(suite): Not run.
384+ ? .builders);
373385 context.reportGenericFunctionTypesForFormals (_fragment.declaredFormals);
374386 if (_fragment.returnType is ! OmittedTypeBuilder ) {
375387 hasErrors | =
@@ -378,7 +390,10 @@ mixin _DirectGetterEncodingMixin implements _GetterEncoding {
378390 _fragment.returnType);
379391 }
380392 return context.computeDefaultTypesForVariables (
381- _fragment.declaredTypeParameters,
393+ _fragment
394+ .declaredTypeParameters
395+ // Coverage-ignore(suite): Not run.
396+ ? .builders,
382397 inErrorRecovery: hasErrors);
383398 }
384399
@@ -410,8 +425,10 @@ mixin _DirectGetterEncodingMixin implements _GetterEncoding {
410425 void checkTypes (SourceLibraryBuilder libraryBuilder,
411426 TypeEnvironment typeEnvironment, SourcePropertyBuilder ? setterBuilder,
412427 {required bool isAbstract, required bool isExternal}) {
413- List <TypeParameterBuilder >? typeParameters =
414- _fragment.declaredTypeParameters;
428+ List <TypeParameterBuilder >? typeParameters = _fragment
429+ .declaredTypeParameters
430+ // Coverage-ignore(suite): Not run.
431+ ? .builders;
415432 // Coverage-ignore(suite): Not run.
416433 if (typeParameters != null && typeParameters.isNotEmpty) {
417434 libraryBuilder.checkTypeParameterDependencies (typeParameters);
@@ -441,7 +458,11 @@ mixin _DirectGetterEncodingMixin implements _GetterEncoding {
441458 void checkVariance (
442459 SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {
443460 sourceClassBuilder.checkVarianceInTypeParameters (
444- typeEnvironment, _fragment.declaredTypeParameters);
461+ typeEnvironment,
462+ _fragment
463+ .declaredTypeParameters
464+ // Coverage-ignore(suite): Not run.
465+ ? .builders);
445466 sourceClassBuilder.checkVarianceInFormals (
446467 typeEnvironment, _fragment.declaredFormals);
447468 sourceClassBuilder.checkVarianceInReturnType (
@@ -451,7 +472,10 @@ mixin _DirectGetterEncodingMixin implements _GetterEncoding {
451472
452473 @override
453474 List <NominalParameterBuilder >? get clonedAndDeclaredTypeParameters =>
454- _fragment.declaredTypeParameters;
475+ _fragment
476+ .declaredTypeParameters
477+ // Coverage-ignore(suite): Not run.
478+ ? .builders;
455479
456480 @override
457481 // Coverage-ignore(suite): Not run.
@@ -541,9 +565,16 @@ mixin _ExtensionInstanceGetterEncodingMixin implements _GetterEncoding {
541565 asyncMarker: _fragment.asyncModifier)
542566 ..fileOffset = _fragment.formalsOffset
543567 ..fileEndOffset = _fragment.endOffset;
544- buildTypeParametersAndFormals (libraryBuilder, function,
545- _fragment.declaredTypeParameters, _fragment.declaredFormals,
546- classTypeParameters: classTypeParameters, supportsTypeParameters: true );
568+ buildTypeParametersAndFormals (
569+ libraryBuilder,
570+ function,
571+ _fragment
572+ .declaredTypeParameters
573+ // Coverage-ignore(suite): Not run.
574+ ? .builders,
575+ _fragment.declaredFormals,
576+ classTypeParameters: classTypeParameters,
577+ supportsTypeParameters: true );
547578 if (_fragment.returnType is ! InferableTypeBuilder ) {
548579 function.returnType =
549580 _fragment.returnType.build (libraryBuilder, TypeUse .returnType);
@@ -588,7 +619,10 @@ mixin _ExtensionInstanceGetterEncodingMixin implements _GetterEncoding {
588619 libraryBuilder,
589620 bodyBuilderContext,
590621 _fragment.typeParameterScope,
591- _fragment.declaredTypeParameters);
622+ _fragment
623+ .declaredTypeParameters
624+ // Coverage-ignore(suite): Not run.
625+ ? .builders);
592626 _buildFormalsForOutlineExpressions (
593627 libraryBuilder, declarationBuilder, _fragment.declaredFormals,
594628 isClassInstanceMember: isClassInstanceMember);
@@ -627,8 +661,10 @@ mixin _ExtensionInstanceGetterEncodingMixin implements _GetterEncoding {
627661
628662 @override
629663 int computeDefaultTypes (ComputeDefaultTypeContext context) {
630- bool hasErrors = context.reportSimplicityIssuesForTypeParameters (
631- _fragment.declaredTypeParameters);
664+ bool hasErrors = context.reportSimplicityIssuesForTypeParameters (_fragment
665+ .declaredTypeParameters
666+ // Coverage-ignore(suite): Not run.
667+ ? .builders);
632668 context.reportGenericFunctionTypesForFormals (_fragment.declaredFormals);
633669 if (_fragment.returnType is ! OmittedTypeBuilder ) {
634670 hasErrors | =
@@ -646,15 +682,18 @@ mixin _ExtensionInstanceGetterEncodingMixin implements _GetterEncoding {
646682 // required and unnecessary.
647683 // ignore: unnecessary_non_null_assertion
648684 ..._clonedDeclarationTypeParameters! ,
649- ..._fragment.declaredTypeParameters!
685+ ..._fragment.declaredTypeParameters! .builders
650686 ], inErrorRecovery: hasErrors);
651687 } else if (_clonedDeclarationTypeParameters != null ) {
652688 return context.computeDefaultTypesForVariables (
653689 _clonedDeclarationTypeParameters,
654690 inErrorRecovery: hasErrors);
655691 } else {
656692 return context.computeDefaultTypesForVariables (
657- _fragment.declaredTypeParameters,
693+ _fragment
694+ .declaredTypeParameters
695+ // Coverage-ignore(suite): Not run.
696+ ? .builders,
658697 inErrorRecovery: hasErrors);
659698 }
660699 }
@@ -700,8 +739,10 @@ mixin _ExtensionInstanceGetterEncodingMixin implements _GetterEncoding {
700739 void checkTypes (SourceLibraryBuilder libraryBuilder,
701740 TypeEnvironment typeEnvironment, SourcePropertyBuilder ? setterBuilder,
702741 {required bool isAbstract, required bool isExternal}) {
703- List <TypeParameterBuilder >? typeParameters =
704- _fragment.declaredTypeParameters;
742+ List <TypeParameterBuilder >? typeParameters = _fragment
743+ .declaredTypeParameters
744+ // Coverage-ignore(suite): Not run.
745+ ? .builders;
705746 // Coverage-ignore(suite): Not run.
706747 if (typeParameters != null && typeParameters.isNotEmpty) {
707748 libraryBuilder.checkTypeParameterDependencies (typeParameters);
@@ -732,7 +773,7 @@ mixin _ExtensionInstanceGetterEncodingMixin implements _GetterEncoding {
732773 void checkVariance (
733774 SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {
734775 sourceClassBuilder.checkVarianceInTypeParameters (
735- typeEnvironment, _fragment.declaredTypeParameters);
776+ typeEnvironment, _fragment.declaredTypeParameters? .builders );
736777 sourceClassBuilder.checkVarianceInFormals (
737778 typeEnvironment, _fragment.declaredFormals);
738779 sourceClassBuilder.checkVarianceInReturnType (
@@ -746,7 +787,10 @@ mixin _ExtensionInstanceGetterEncodingMixin implements _GetterEncoding {
746787 _fragment.declaredTypeParameters != null
747788 ? [
748789 ...? _clonedDeclarationTypeParameters,
749- ...? _fragment.declaredTypeParameters
790+ ...? _fragment
791+ .declaredTypeParameters
792+ // Coverage-ignore(suite): Not run.
793+ ? .builders
750794 ]
751795 : null ;
752796
0 commit comments