Elements. Remove InterfaceFragmentImpl.instantiateImpl()
Change-Id: I245cb954a12fa7c777855066423b83a1d6008586
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/431681
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index d685039..829902f 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -5108,7 +5108,7 @@
} else {
typeArguments = const [];
}
- return _thisType = firstFragment.instantiateImpl(
+ return _thisType = instantiateImpl(
typeArguments: typeArguments,
nullabilitySuffix: NullabilitySuffix.none,
);
@@ -5477,16 +5477,6 @@
_supertype = value as InterfaceTypeImpl?;
}
- InterfaceTypeImpl instantiateImpl({
- required List<TypeImpl> typeArguments,
- required NullabilitySuffix nullabilitySuffix,
- }) {
- return element.instantiateImpl(
- typeArguments: typeArguments,
- nullabilitySuffix: nullabilitySuffix,
- );
- }
-
/// Builds constructors for this mixin application.
void _buildMixinAppConstructors() {}
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
index d8d4845..046ffad 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -2076,24 +2076,23 @@
var type = _readFunctionType();
return _readAliasElementArguments(type);
} else if (tag == Tag.InterfaceType) {
- var element = readElement() as InterfaceFragmentImpl;
+ var element = readElement2() as InterfaceElementImpl2;
var typeArguments = _readTypeList();
var nullability = _readNullability();
- var type = InterfaceTypeImpl(
- element: element.asElement2,
+ var type = element.instantiateImpl(
typeArguments: typeArguments,
nullabilitySuffix: nullability,
);
return _readAliasElementArguments(type);
} else if (tag == Tag.InterfaceType_noTypeArguments_none) {
- var element = readElement() as InterfaceFragmentImpl;
+ var element = readElement2() as InterfaceElementImpl2;
var type = element.instantiateImpl(
typeArguments: const [],
nullabilitySuffix: NullabilitySuffix.none,
);
return _readAliasElementArguments(type);
} else if (tag == Tag.InterfaceType_noTypeArguments_question) {
- var element = readElement() as InterfaceFragmentImpl;
+ var element = readElement2() as InterfaceElementImpl2;
var type = element.instantiateImpl(
typeArguments: const [],
nullabilitySuffix: NullabilitySuffix.question,
@@ -2110,12 +2109,9 @@
var type = _readRecordType();
return _readAliasElementArguments(type);
} else if (tag == Tag.TypeParameterType) {
- var element = readElement() as TypeParameterFragmentImpl;
+ var element = readElement2() as TypeParameterElementImpl2;
var nullability = _readNullability();
- var type = TypeParameterTypeImpl(
- element3: element.asElement2,
- nullabilitySuffix: nullability,
- );
+ var type = element.instantiate(nullabilitySuffix: nullability);
return _readAliasElementArguments(type);
} else if (tag == Tag.VoidType) {
var type = VoidTypeImpl.instance;
diff --git a/pkg/analyzer/test/generated/elements_types_mixin.dart b/pkg/analyzer/test/generated/elements_types_mixin.dart
index 543b9b3..66c6c75 100644
--- a/pkg/analyzer/test/generated/elements_types_mixin.dart
+++ b/pkg/analyzer/test/generated/elements_types_mixin.dart
@@ -27,7 +27,7 @@
InterfaceTypeImpl get boolQuestion {
var element = typeProvider.boolElement2;
- return interfaceTypeQuestion2(element);
+ return interfaceTypeQuestion(element);
}
InterfaceTypeImpl get doubleNone {
@@ -37,7 +37,7 @@
InterfaceTypeImpl get doubleQuestion {
var element = typeProvider.doubleElement2;
- return interfaceTypeQuestion2(element);
+ return interfaceTypeQuestion(element);
}
TypeImpl get dynamicType => DynamicTypeImpl.instance;
@@ -49,7 +49,7 @@
InterfaceTypeImpl get functionQuestion {
var element = typeProvider.functionElement2;
- return interfaceTypeQuestion2(element);
+ return interfaceTypeQuestion(element);
}
InterfaceTypeImpl get intNone {
@@ -59,7 +59,7 @@
InterfaceTypeImpl get intQuestion {
var element = typeProvider.intElement2;
- return interfaceTypeQuestion2(element);
+ return interfaceTypeQuestion(element);
}
TypeImpl get invalidType => InvalidTypeImpl.instance;
@@ -80,7 +80,7 @@
InterfaceTypeImpl get numQuestion {
var element = typeProvider.numElement2;
- return interfaceTypeQuestion2(element);
+ return interfaceTypeQuestion(element);
}
InterfaceTypeImpl get objectNone {
@@ -90,7 +90,7 @@
InterfaceTypeImpl get objectQuestion {
var element = typeProvider.objectElement2;
- return interfaceTypeQuestion2(element);
+ return interfaceTypeQuestion(element);
}
InterfaceTypeImpl get recordNone {
@@ -105,7 +105,7 @@
InterfaceTypeImpl get stringQuestion {
var element = typeProvider.stringElement2;
- return interfaceTypeQuestion2(element);
+ return interfaceTypeQuestion(element);
}
LibraryElementImpl get testLibrary => throw UnimplementedError();
@@ -345,17 +345,6 @@
);
}
- InterfaceTypeImpl interfaceType(
- InterfaceFragmentImpl element, {
- List<TypeImpl> typeArguments = const [],
- required NullabilitySuffix nullabilitySuffix,
- }) {
- return element.instantiateImpl(
- typeArguments: typeArguments,
- nullabilitySuffix: nullabilitySuffix,
- );
- }
-
InterfaceTypeImpl interfaceTypeNone(
InterfaceElementImpl2 element, {
List<TypeImpl> typeArguments = const [],
@@ -367,16 +356,6 @@
}
InterfaceTypeImpl interfaceTypeQuestion(
- InterfaceFragmentImpl element, {
- List<TypeImpl> typeArguments = const [],
- }) {
- return element.instantiateImpl(
- typeArguments: typeArguments,
- nullabilitySuffix: NullabilitySuffix.question,
- );
- }
-
- InterfaceTypeImpl interfaceTypeQuestion2(
InterfaceElementImpl2 element, {
List<TypeImpl> typeArguments = const [],
}) {
diff --git a/pkg/analyzer/test/src/dart/element/always_exhaustive_test.dart b/pkg/analyzer/test/src/dart/element/always_exhaustive_test.dart
index e99ab1a..e074216 100644
--- a/pkg/analyzer/test/src/dart/element/always_exhaustive_test.dart
+++ b/pkg/analyzer/test/src/dart/element/always_exhaustive_test.dart
@@ -41,13 +41,13 @@
test_class_sealed() {
var A = class_2(name: 'A', isSealed: true);
isAlwaysExhaustive(interfaceTypeNone(A));
- isAlwaysExhaustive(interfaceTypeQuestion2(A));
+ isAlwaysExhaustive(interfaceTypeQuestion(A));
}
test_enum() {
var E = enum_2(name: 'E', constants: []);
isAlwaysExhaustive(interfaceTypeNone(E));
- isAlwaysExhaustive(interfaceTypeQuestion2(E));
+ isAlwaysExhaustive(interfaceTypeQuestion(E));
}
test_extensionType() {
diff --git a/pkg/analyzer/test/src/dart/element/flatten_type_test.dart b/pkg/analyzer/test/src/dart/element/flatten_type_test.dart
index 5af8c1c..4969a81 100644
--- a/pkg/analyzer/test/src/dart/element/flatten_type_test.dart
+++ b/pkg/analyzer/test/src/dart/element/flatten_type_test.dart
@@ -134,7 +134,7 @@
var A = class_2(name: 'A', interfaces: [futureNone(intNone)]);
_check(interfaceTypeNone(A), 'Future<int>');
- _check(interfaceTypeQuestion2(A), null);
+ _check(interfaceTypeQuestion(A), null);
}
test_interfaceType() {
diff --git a/pkg/analyzer/test/src/dart/element/nullable_test.dart b/pkg/analyzer/test/src/dart/element/nullable_test.dart
index e55f89a..dfde08e 100644
--- a/pkg/analyzer/test/src/dart/element/nullable_test.dart
+++ b/pkg/analyzer/test/src/dart/element/nullable_test.dart
@@ -180,7 +180,7 @@
);
isNullable(
- interfaceTypeQuestion2(
+ interfaceTypeQuestion(
extensionType2('A', representationType: intNone, interfaces: [intNone]),
),
);
@@ -317,7 +317,7 @@
test_interface_extensionType2() {
isPotentiallyNullable(
- interfaceTypeQuestion2(extensionType2('A', representationType: intNone)),
+ interfaceTypeQuestion(extensionType2('A', representationType: intNone)),
);
isPotentiallyNullable(
diff --git a/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart b/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart
index 9b1a8a7..ab17853 100644
--- a/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart
+++ b/pkg/analyzer/test/src/dart/element/upper_lower_bound_test.dart
@@ -1783,12 +1783,12 @@
void test_directSuperclass_nullability() {
var aElement = class_2(name: 'A');
- var aQuestion = interfaceTypeQuestion2(aElement);
+ var aQuestion = interfaceTypeQuestion(aElement);
var aNone = interfaceTypeNone(aElement);
var bElementNone = class_2(name: 'B', superType: aNone);
- var bNoneQuestion = interfaceTypeQuestion2(bElementNone);
+ var bNoneQuestion = interfaceTypeQuestion(bElementNone);
var bNoneNone = interfaceTypeNone(bElementNone);
@@ -1842,7 +1842,7 @@
void test_sameElement_nullability() {
var aElement = class_2(name: 'A');
- var aQuestion = interfaceTypeQuestion2(aElement);
+ var aQuestion = interfaceTypeQuestion(aElement);
var aNone = interfaceTypeNone(aElement);
void assertLUB(TypeImpl type1, TypeImpl type2, TypeImpl expected) {
@@ -1943,16 +1943,16 @@
void test_sharedSuperclass1_nullability() {
var aElement = class_2(name: 'A');
- var aQuestion = interfaceTypeQuestion2(aElement);
+ var aQuestion = interfaceTypeQuestion(aElement);
var aNone = interfaceTypeNone(aElement);
var bElementNone = class_2(name: 'B', superType: aNone);
var cElementNone = class_2(name: 'C', superType: aNone);
- var bNoneQuestion = interfaceTypeQuestion2(bElementNone);
+ var bNoneQuestion = interfaceTypeQuestion(bElementNone);
var bNoneNone = interfaceTypeNone(bElementNone);
- var cNoneQuestion = interfaceTypeQuestion2(cElementNone);
+ var cNoneQuestion = interfaceTypeQuestion(cElementNone);
var cNoneNone = interfaceTypeNone(cElementNone);
void assertLUB(TypeImpl type1, TypeImpl type2, TypeImpl expected) {
@@ -2853,7 +2853,7 @@
var C = class_2(name: 'C', typeParameters: [X]);
var Y = typeParameter('Y');
var Y_none = typeParameterTypeNone(Y);
- Y.bound = interfaceTypeQuestion2(C, typeArguments: [Y_none]);
+ Y.bound = interfaceTypeQuestion(C, typeArguments: [Y_none]);
var C_Y_none = interfaceTypeNone(C, typeArguments: [Y_none]);
var Y_none_promoted = typeParameterTypeNone(Y, promotedBound: C_Y_none);
var C_Never_none = interfaceTypeNone(C, typeArguments: [neverNone]);