Skip to content

Commit 2f7670a

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Use InterfaceElementImpl2 to create InterfaceTypeImpl.
Change-Id: Ia80cd54c6b637476b2139bbeba4ad37513687cea Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/404902 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Paul Berry <[email protected]>
1 parent 9f465e5 commit 2f7670a

File tree

10 files changed

+198
-156
lines changed

10 files changed

+198
-156
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6628,7 +6628,7 @@ abstract class InterfaceElementImpl2 extends InstanceElementImpl2
66286628
}
66296629
}
66306630

6631-
var result = InterfaceTypeImpl.v2(
6631+
var result = InterfaceTypeImpl(
66326632
element: this,
66336633
typeArguments: typeArguments,
66346634
nullabilitySuffix: nullabilitySuffix,
@@ -7342,7 +7342,7 @@ class LibraryElementImpl extends ElementImpl
73427342
}
73437343

73447344
@override
7345-
ClassElement2? getClass2(String name) {
7345+
ClassElementImpl2? getClass2(String name) {
73467346
return _getElementByName(classes, name);
73477347
}
73487348

@@ -11012,9 +11012,9 @@ class TypeAliasElementImpl extends _ExistingElementImpl
1101211012
typeArguments: typeArguments,
1101311013
),
1101411014
);
11015-
} else if (type is InterfaceType) {
11015+
} else if (type is InterfaceTypeImpl) {
1101611016
return InterfaceTypeImpl(
11017-
element: type.element,
11017+
element: type.element3,
1101811018
typeArguments: type.typeArguments,
1101911019
nullabilitySuffix: resultNullability,
1102011020
alias: InstantiatedTypeAliasElementImpl(

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class InterfaceLeastUpperBoundHelper {
9191
}
9292
}
9393

94-
return InterfaceTypeImpl.v2(
94+
return InterfaceTypeImpl(
9595
element: type1.element3,
9696
typeArguments: args,
9797
nullabilitySuffix: nullability,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class ReplaceTopBottomVisitor {
111111
newTypeArguments.add(newTypeArgument);
112112
}
113113

114-
return InterfaceTypeImpl.v2(
114+
return InterfaceTypeImpl(
115115
element: type.element3,
116116
nullabilitySuffix: type.nullabilitySuffix,
117117
typeArguments: newTypeArguments,

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class ReplacementVisitor
7676
}
7777

7878
DartType? createInterfaceType({
79-
required InterfaceType type,
79+
required InterfaceTypeImpl type,
8080
required InstantiatedTypeAliasElement? newAlias,
8181
required List<DartType>? newTypeArguments,
8282
required NullabilitySuffix? newNullability,
@@ -88,7 +88,7 @@ class ReplacementVisitor
8888
}
8989

9090
return InterfaceTypeImpl(
91-
element: type.element,
91+
element: type.element3,
9292
typeArguments: newTypeArguments ?? type.typeArguments,
9393
nullabilitySuffix: newNullability ?? type.nullabilitySuffix,
9494
alias: newAlias ?? type.alias,
@@ -356,7 +356,7 @@ class ReplacementVisitor
356356
}
357357

358358
@override
359-
DartType? visitInterfaceType(InterfaceType type) {
359+
DartType? visitInterfaceType(covariant InterfaceTypeImpl type) {
360360
var newNullability = visitNullability(type);
361361

362362
InstantiatedTypeAliasElement? newAlias;

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

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -590,22 +590,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
590590
List<MethodElement>? _methods;
591591

592592
factory InterfaceTypeImpl({
593-
required InterfaceElement element,
594-
required List<DartType> typeArguments,
595-
required NullabilitySuffix nullabilitySuffix,
596-
InstantiatedTypeAliasElement? alias,
597-
}) {
598-
// TODO(paulberry): avoid this cast by changing the type of `element`
599-
element as InterfaceElementImpl;
600-
return InterfaceTypeImpl.v2(
601-
element: element.asElement2,
602-
typeArguments: typeArguments,
603-
nullabilitySuffix: nullabilitySuffix,
604-
alias: alias,
605-
);
606-
}
607-
608-
factory InterfaceTypeImpl.v2({
609593
required InterfaceElementImpl2 element,
610594
required List<DartType> typeArguments,
611595
required NullabilitySuffix nullabilitySuffix,
@@ -1178,7 +1162,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
11781162
if (this.nullabilitySuffix == nullabilitySuffix) return this;
11791163

11801164
return InterfaceTypeImpl(
1181-
element: element,
1165+
element: element3,
11821166
typeArguments: typeArguments,
11831167
nullabilitySuffix: nullabilitySuffix,
11841168
alias: alias,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ abstract class _TypeSubstitutor
566566
}
567567

568568
@override
569-
DartType visitInterfaceType(InterfaceType type) {
569+
DartType visitInterfaceType(covariant InterfaceTypeImpl type) {
570570
if (type.typeArguments.isEmpty && type.alias == null) {
571571
return type;
572572
}
@@ -579,7 +579,7 @@ abstract class _TypeSubstitutor
579579
}
580580

581581
return InterfaceTypeImpl(
582-
element: type.element,
582+
element: type.element3,
583583
typeArguments: typeArguments,
584584
nullabilitySuffix: type.nullabilitySuffix,
585585
alias: alias,

0 commit comments

Comments
 (0)