55import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer_operations.dart' ;
66import 'package:analyzer/dart/analysis/features.dart' ;
77import 'package:analyzer/dart/element/nullability_suffix.dart' ;
8- import 'package:analyzer/dart/element/type.dart' ;
98import 'package:analyzer/source/line_info.dart' ;
109import 'package:analyzer/source/source.dart' ;
1110import 'package:analyzer/src/dart/analysis/session.dart' ;
@@ -122,10 +121,10 @@ mixin ElementsTypesMixin {
122121 bool isAbstract = false ,
123122 bool isAugmentation = false ,
124123 bool isSealed = false ,
125- InterfaceType ? superType,
124+ InterfaceTypeImpl ? superType,
126125 List <TypeParameterElementImpl2 > typeParameters = const [],
127- List <InterfaceType > interfaces = const [],
128- List <InterfaceType > mixins = const [],
126+ List <InterfaceTypeImpl > interfaces = const [],
127+ List <InterfaceTypeImpl > mixins = const [],
129128 List <MethodElementImpl > methods = const [],
130129 }) {
131130 var fragment = ClassElementImpl (name, 0 );
@@ -152,10 +151,10 @@ mixin ElementsTypesMixin {
152151 bool isAbstract = false ,
153152 bool isAugmentation = false ,
154153 bool isSealed = false ,
155- InterfaceType ? superType,
154+ InterfaceTypeImpl ? superType,
156155 List <TypeParameterElementImpl2 > typeParameters = const [],
157- List <InterfaceType > interfaces = const [],
158- List <InterfaceType > mixins = const [],
156+ List <InterfaceTypeImpl > interfaces = const [],
157+ List <InterfaceTypeImpl > mixins = const [],
159158 List <MethodElementImpl2 > methods = const [],
160159 }) {
161160 var fragment = ClassElementImpl (name, 0 );
@@ -178,7 +177,7 @@ mixin ElementsTypesMixin {
178177 return element;
179178 }
180179
181- InterfaceTypeImpl comparableNone (DartType type) {
180+ InterfaceTypeImpl comparableNone (TypeImpl type) {
182181 var coreLibrary = typeProvider.intElement2.library2;
183182 var element = coreLibrary.getClass2 ('Comparable' )! ;
184183 return element.instantiate (
@@ -187,7 +186,7 @@ mixin ElementsTypesMixin {
187186 );
188187 }
189188
190- InterfaceTypeImpl comparableQuestion (DartType type) {
189+ InterfaceTypeImpl comparableQuestion (TypeImpl type) {
191190 var coreLibrary = typeProvider.intElement2.library2;
192191 var element = coreLibrary.getClass2 ('Comparable' )! ;
193192 return element.instantiate (
@@ -246,7 +245,7 @@ mixin ElementsTypesMixin {
246245 String representationName = 'it' ,
247246 required TypeImpl representationType,
248247 List <TypeParameterElementImpl2 > typeParameters = const [],
249- List <InterfaceType > interfaces = const [],
248+ List <InterfaceTypeImpl > interfaces = const [],
250249 }) {
251250 var fragment = ExtensionTypeElementImpl (name, - 1 );
252251 fragment.enclosingElement3 = testLibrary.definingCompilationUnit;
@@ -272,7 +271,7 @@ mixin ElementsTypesMixin {
272271 String representationName = 'it' ,
273272 required TypeImpl representationType,
274273 List <TypeParameterElementImpl2 > typeParameters = const [],
275- List <InterfaceType > interfaces = const [],
274+ List <InterfaceTypeImpl > interfaces = const [],
276275 }) {
277276 var fragment = ExtensionTypeElementImpl (name, - 1 );
278277 fragment.enclosingElement3 = testLibrary.definingCompilationUnit;
@@ -296,7 +295,7 @@ mixin ElementsTypesMixin {
296295 FunctionTypeImpl functionType ({
297296 required List <TypeParameterElementImpl2 > typeParameters,
298297 required List <FormalParameterElementImpl > formalParameters,
299- required DartType returnType,
298+ required TypeImpl returnType,
300299 required NullabilitySuffix nullabilitySuffix,
301300 }) {
302301 return FunctionTypeImpl .v2 (
@@ -310,7 +309,7 @@ mixin ElementsTypesMixin {
310309 FunctionTypeImpl functionTypeNone ({
311310 List <TypeParameterElementImpl2 > typeParameters = const [],
312311 List <FormalParameterElementImpl > formalParameters = const [],
313- required DartType returnType,
312+ required TypeImpl returnType,
314313 }) {
315314 return functionType (
316315 typeParameters: typeParameters,
@@ -323,7 +322,7 @@ mixin ElementsTypesMixin {
323322 FunctionTypeImpl functionTypeQuestion ({
324323 List <TypeParameterElementImpl2 > typeParameters = const [],
325324 List <FormalParameterElementImpl > formalParameters = const [],
326- required DartType returnType,
325+ required TypeImpl returnType,
327326 }) {
328327 return functionType (
329328 typeParameters: typeParameters,
@@ -333,28 +332,28 @@ mixin ElementsTypesMixin {
333332 );
334333 }
335334
336- InterfaceTypeImpl futureNone (DartType type) {
335+ InterfaceTypeImpl futureNone (TypeImpl type) {
337336 return typeProvider.futureElement.instantiate (
338337 typeArguments: [type],
339338 nullabilitySuffix: NullabilitySuffix .none,
340339 );
341340 }
342341
343- InterfaceTypeImpl futureOrNone (DartType type) {
342+ InterfaceTypeImpl futureOrNone (TypeImpl type) {
344343 return typeProvider.futureOrElement.instantiate (
345344 typeArguments: [type],
346345 nullabilitySuffix: NullabilitySuffix .none,
347346 );
348347 }
349348
350- InterfaceTypeImpl futureOrQuestion (DartType type) {
349+ InterfaceTypeImpl futureOrQuestion (TypeImpl type) {
351350 return typeProvider.futureOrElement.instantiate (
352351 typeArguments: [type],
353352 nullabilitySuffix: NullabilitySuffix .question,
354353 );
355354 }
356355
357- InterfaceTypeImpl futureQuestion (DartType type) {
356+ InterfaceTypeImpl futureQuestion (TypeImpl type) {
358357 return typeProvider.futureElement.instantiate (
359358 typeArguments: [type],
360359 nullabilitySuffix: NullabilitySuffix .question,
@@ -363,7 +362,7 @@ mixin ElementsTypesMixin {
363362
364363 InterfaceTypeImpl interfaceType (
365364 InterfaceElementImpl element, {
366- List <DartType > typeArguments = const [],
365+ List <TypeImpl > typeArguments = const [],
367366 required NullabilitySuffix nullabilitySuffix,
368367 }) {
369368 return element.instantiate (
@@ -374,7 +373,7 @@ mixin ElementsTypesMixin {
374373
375374 InterfaceTypeImpl interfaceTypeNone (
376375 InterfaceElementImpl2 element, {
377- List <DartType > typeArguments = const [],
376+ List <TypeImpl > typeArguments = const [],
378377 }) {
379378 return element.instantiate (
380379 typeArguments: typeArguments,
@@ -384,7 +383,7 @@ mixin ElementsTypesMixin {
384383
385384 InterfaceTypeImpl interfaceTypeQuestion (
386385 InterfaceElementImpl element, {
387- List <DartType > typeArguments = const [],
386+ List <TypeImpl > typeArguments = const [],
388387 }) {
389388 return element.instantiate (
390389 typeArguments: typeArguments,
@@ -394,22 +393,22 @@ mixin ElementsTypesMixin {
394393
395394 InterfaceTypeImpl interfaceTypeQuestion2 (
396395 InterfaceElementImpl2 element, {
397- List <DartType > typeArguments = const [],
396+ List <TypeImpl > typeArguments = const [],
398397 }) {
399398 return element.instantiate (
400399 typeArguments: typeArguments,
401400 nullabilitySuffix: NullabilitySuffix .question,
402401 );
403402 }
404403
405- InterfaceTypeImpl iterableNone (DartType type) {
404+ InterfaceTypeImpl iterableNone (TypeImpl type) {
406405 return typeProvider.iterableElement.instantiate (
407406 typeArguments: [type],
408407 nullabilitySuffix: NullabilitySuffix .none,
409408 );
410409 }
411410
412- InterfaceTypeImpl iterableQuestion (DartType type) {
411+ InterfaceTypeImpl iterableQuestion (TypeImpl type) {
413412 return typeProvider.iterableElement.instantiate (
414413 typeArguments: [type],
415414 nullabilitySuffix: NullabilitySuffix .question,
@@ -447,28 +446,28 @@ mixin ElementsTypesMixin {
447446 return library;
448447 }
449448
450- InterfaceTypeImpl listNone (DartType type) {
449+ InterfaceTypeImpl listNone (TypeImpl type) {
451450 return typeProvider.listElement.instantiate (
452451 typeArguments: [type],
453452 nullabilitySuffix: NullabilitySuffix .none,
454453 );
455454 }
456455
457- InterfaceTypeImpl listQuestion (DartType type) {
456+ InterfaceTypeImpl listQuestion (TypeImpl type) {
458457 return typeProvider.listElement.instantiate (
459458 typeArguments: [type],
460459 nullabilitySuffix: NullabilitySuffix .question,
461460 );
462461 }
463462
464- InterfaceTypeImpl mapNone (DartType key, DartType value) {
463+ InterfaceTypeImpl mapNone (TypeImpl key, TypeImpl value) {
465464 return typeProvider.mapElement.instantiate (
466465 typeArguments: [key, value],
467466 nullabilitySuffix: NullabilitySuffix .none,
468467 );
469468 }
470469
471- InterfaceTypeImpl mapQuestion (DartType key, DartType value) {
470+ InterfaceTypeImpl mapQuestion (TypeImpl key, TypeImpl value) {
472471 return typeProvider.mapElement.instantiate (
473472 typeArguments: [key, value],
474473 nullabilitySuffix: NullabilitySuffix .question,
@@ -477,7 +476,7 @@ mixin ElementsTypesMixin {
477476
478477 MethodElementImpl method (
479478 String name,
480- DartType returnType, {
479+ TypeImpl returnType, {
481480 bool isStatic = false ,
482481 List <TypeParameterElementImpl2 > typeParameters = const [],
483482 List <FormalParameterElementImpl > formalParameters = const [],
@@ -493,8 +492,8 @@ mixin ElementsTypesMixin {
493492 required String name,
494493 bool isAugmentation = false ,
495494 List <TypeParameterElementImpl2 > typeParameters = const [],
496- List <InterfaceType >? constraints,
497- List <InterfaceType > interfaces = const [],
495+ List <InterfaceTypeImpl >? constraints,
496+ List <InterfaceTypeImpl > interfaces = const [],
498497 }) {
499498 var fragment = MixinElementImpl (name, 0 );
500499 fragment.isAugmentation = isAugmentation;
@@ -516,8 +515,8 @@ mixin ElementsTypesMixin {
516515 required String name,
517516 bool isAugmentation = false ,
518517 List <TypeParameterElementImpl2 > typeParameters = const [],
519- List <InterfaceType >? constraints,
520- List <InterfaceType > interfaces = const [],
518+ List <InterfaceTypeImpl >? constraints,
519+ List <InterfaceTypeImpl > interfaces = const [],
521520 }) {
522521 var fragment = MixinElementImpl (name, 0 );
523522 fragment.isAugmentation = isAugmentation;
@@ -591,7 +590,7 @@ mixin ElementsTypesMixin {
591590 TypeParameterTypeImpl promotedTypeParameterType ({
592591 required TypeParameterElementImpl2 element,
593592 required NullabilitySuffix nullabilitySuffix,
594- required DartType promotedBound,
593+ required TypeImpl promotedBound,
595594 }) {
596595 return TypeParameterTypeImpl .v2 (
597596 element: element,
@@ -602,7 +601,7 @@ mixin ElementsTypesMixin {
602601
603602 TypeParameterTypeImpl promotedTypeParameterTypeNone (
604603 TypeParameterElementImpl2 element,
605- DartType promotedBound,
604+ TypeImpl promotedBound,
606605 ) {
607606 return promotedTypeParameterType (
608607 element: element,
@@ -613,7 +612,7 @@ mixin ElementsTypesMixin {
613612
614613 TypeParameterTypeImpl promotedTypeParameterTypeQuestion (
615614 TypeParameterElementImpl2 element,
616- DartType promotedBound,
615+ TypeImpl promotedBound,
617616 ) {
618617 return promotedTypeParameterType (
619618 element: element,
@@ -623,8 +622,8 @@ mixin ElementsTypesMixin {
623622 }
624623
625624 RecordTypeImpl recordType ({
626- List <DartType > positionalTypes = const [],
627- Map <String , DartType > namedTypes = const {},
625+ List <TypeImpl > positionalTypes = const [],
626+ Map <String , TypeImpl > namedTypes = const {},
628627 required NullabilitySuffix nullabilitySuffix,
629628 }) {
630629 return RecordTypeImpl (
@@ -644,8 +643,8 @@ mixin ElementsTypesMixin {
644643 }
645644
646645 RecordTypeImpl recordTypeNone ({
647- List <DartType > positionalTypes = const [],
648- Map <String , DartType > namedTypes = const {},
646+ List <TypeImpl > positionalTypes = const [],
647+ Map <String , TypeImpl > namedTypes = const {},
649648 }) {
650649 return recordType (
651650 positionalTypes: positionalTypes,
@@ -655,8 +654,8 @@ mixin ElementsTypesMixin {
655654 }
656655
657656 RecordTypeImpl recordTypeQuestion ({
658- List <DartType > positionalTypes = const [],
659- Map <String , DartType > namedTypes = const {},
657+ List <TypeImpl > positionalTypes = const [],
658+ Map <String , TypeImpl > namedTypes = const {},
660659 }) {
661660 return recordType (
662661 positionalTypes: positionalTypes,
@@ -685,7 +684,7 @@ mixin ElementsTypesMixin {
685684 TypeAliasElementImpl2 typeAlias ({
686685 required String name,
687686 required List <TypeParameterElementImpl2 > typeParameters,
688- required DartType aliasedType,
687+ required TypeImpl aliasedType,
689688 }) {
690689 var fragment = TypeAliasElementImpl (name, 0 );
691690 fragment.name2 = name;
@@ -698,7 +697,7 @@ mixin ElementsTypesMixin {
698697
699698 TypeImpl typeAliasTypeNone (
700699 TypeAliasElementImpl2 element, {
701- List <DartType > typeArguments = const [],
700+ List <TypeImpl > typeArguments = const [],
702701 }) {
703702 return element.instantiate (
704703 typeArguments: typeArguments,
@@ -722,7 +721,7 @@ mixin ElementsTypesMixin {
722721 TypeParameterTypeImpl typeParameterType (
723722 TypeParameterElementImpl2 element, {
724723 required NullabilitySuffix nullabilitySuffix,
725- DartType ? promotedBound,
724+ TypeImpl ? promotedBound,
726725 }) {
727726 return TypeParameterTypeImpl .v2 (
728727 element: element,
@@ -733,7 +732,7 @@ mixin ElementsTypesMixin {
733732
734733 TypeParameterTypeImpl typeParameterTypeNone (
735734 TypeParameterElementImpl2 element, {
736- DartType ? promotedBound,
735+ TypeImpl ? promotedBound,
737736 }) {
738737 return typeParameterType (
739738 element,
@@ -744,7 +743,7 @@ mixin ElementsTypesMixin {
744743
745744 TypeParameterTypeImpl typeParameterTypeQuestion (
746745 TypeParameterElementImpl2 element, {
747- DartType ? promotedBound,
746+ TypeImpl ? promotedBound,
748747 }) {
749748 return typeParameterType (
750749 element,
0 commit comments