Skip to content

Commit 4140c5f

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate ElementsTypesMixin to TypeImpl.
Change-Id: Icb33629c0eb6482089e73b30a0dfeb073f1058d6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/410560 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Paul Berry <[email protected]>
1 parent 12be1f7 commit 4140c5f

File tree

11 files changed

+189
-194
lines changed

11 files changed

+189
-194
lines changed

pkg/analyzer/lib/src/dart/element/type.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -712,7 +712,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
712712
}
713713

714714
@override
715-
List<InterfaceType> get interfaces {
715+
List<InterfaceTypeImpl> get interfaces {
716716
return _instantiateSuperTypes(element.interfaces);
717717
}
718718

@@ -820,7 +820,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
820820
methods.map((e) => e.asElement2).toList();
821821

822822
@override
823-
List<InterfaceType> get mixins {
823+
List<InterfaceTypeImpl> get mixins {
824824
return _instantiateSuperTypes(element.mixins);
825825
}
826826

@@ -851,7 +851,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
851851
.toList();
852852

853853
@override
854-
InterfaceType? get superclass {
854+
InterfaceTypeImpl? get superclass {
855855
var supertype = element.supertype;
856856
if (supertype == null) {
857857
return null;

pkg/analyzer/test/generated/elements_types_mixin.dart

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer_operations.dart';
66
import 'package:analyzer/dart/analysis/features.dart';
77
import 'package:analyzer/dart/element/nullability_suffix.dart';
8-
import 'package:analyzer/dart/element/type.dart';
98
import 'package:analyzer/source/line_info.dart';
109
import 'package:analyzer/source/source.dart';
1110
import '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,

pkg/analyzer/test/src/dart/element/class_hierarchy_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ mixin _AbstractClassHierarchyMixin on ElementsTypesMixin {
8585
}
8686

8787
void _checkA({
88-
required List<DartType> typeArguments,
88+
required List<TypeImpl> typeArguments,
8989
required List<String> interfaces,
9090
List<String> errors = const [],
9191
}) {

0 commit comments

Comments
 (0)