Version 2.19.0-280.0.dev
Merge 683e2419da03b68074c9c744d9c2566f51c588f5 into dev
diff --git a/pkg/analysis_server/lib/src/computer/computer_overrides.dart b/pkg/analysis_server/lib/src/computer/computer_overrides.dart
index ed92d77..3f9601b 100644
--- a/pkg/analysis_server/lib/src/computer/computer_overrides.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_overrides.dart
@@ -161,10 +161,10 @@
}
// interfaces
for (var interfaceType in class_.interfaces) {
- _addInterfaceOverrides(interfaceType.element2, true);
+ _addInterfaceOverrides(interfaceType.element, true);
}
// super
- _addInterfaceOverrides(class_.supertype?.element2, checkType);
+ _addInterfaceOverrides(class_.supertype?.element, checkType);
}
void _addSuperOverrides(InterfaceElement? class_,
@@ -183,13 +183,13 @@
}
}
- _addSuperOverrides(class_.supertype?.element2);
+ _addSuperOverrides(class_.supertype?.element);
for (var mixin_ in class_.mixins) {
- _addSuperOverrides(mixin_.element2);
+ _addSuperOverrides(mixin_.element);
}
if (class_ is MixinElement) {
for (var constraint in class_.superclassConstraints) {
- _addSuperOverrides(constraint.element2);
+ _addSuperOverrides(constraint.element);
}
}
}
diff --git a/pkg/analysis_server/lib/src/flutter/flutter_outline_computer.dart b/pkg/analysis_server/lib/src/flutter/flutter_outline_computer.dart
index c6548ab..b63537e 100644
--- a/pkg/analysis_server/lib/src/flutter/flutter_outline_computer.dart
+++ b/pkg/analysis_server/lib/src/flutter/flutter_outline_computer.dart
@@ -135,7 +135,7 @@
if (type is! InterfaceType || !_flutter.isWidgetType(type)) {
return null;
}
- var className = type.element2.displayName;
+ var className = type.element.displayName;
if (node is InstanceCreationExpression) {
var attributes = <protocol.FlutterOutlineAttribute>[];
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart
index 55dd492..dfe382eb 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart
@@ -84,9 +84,9 @@
analyzer.Element? element;
if (type is InterfaceType) {
- element = type.element2;
+ element = type.element;
} else if (type is TypeParameterType) {
- element = type.element2;
+ element = type.element;
}
if (element is! analyzer.ElementImpl) {
return success(_emptyResult);
diff --git a/pkg/analysis_server/lib/src/search/type_hierarchy.dart b/pkg/analysis_server/lib/src/search/type_hierarchy.dart
index f5441d3..c7aef5d 100644
--- a/pkg/analysis_server/lib/src/search/type_hierarchy.dart
+++ b/pkg/analysis_server/lib/src/search/type_hierarchy.dart
@@ -158,19 +158,19 @@
var superType = classElement.supertype;
if (superType != null) {
item.superclass = _createSuperItem(
- superType.element2,
+ superType.element,
superType.typeArguments,
);
}
}
// mixins
for (var type in classElement.mixins) {
- var id = _createSuperItem(type.element2, type.typeArguments);
+ var id = _createSuperItem(type.element, type.typeArguments);
item.mixins.add(id);
}
// interfaces
for (var type in classElement.interfaces) {
- var id = _createSuperItem(type.element2, type.typeArguments);
+ var id = _createSuperItem(type.element, type.typeArguments);
item.interfaces.add(id);
}
// done
@@ -201,7 +201,7 @@
}
// try to find in the class mixin
for (var mixin in clazz.mixins.reversed) {
- var mixinElement = mixin.element2;
+ var mixinElement = mixin.element;
if (_pivotKind == ElementKind.METHOD) {
result = mixinElement.lookUpMethod(pivotName, _pivotLibrary);
} else if (_pivotKind == ElementKind.GETTER) {
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
index 656361f..182bc53 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
@@ -260,7 +260,7 @@
var type = request.contextType;
if (type is InterfaceType) {
- var element = type.element2;
+ var element = type.element;
var tag = '${element.librarySource.uri}::${element.name}';
if (element is EnumElement) {
includedSuggestionRelevanceTags.add(
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
index 5eb8d05..a4daad8 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/extension_member_contributor.dart
@@ -44,7 +44,7 @@
for (var type in types) {
var inheritanceDistance = memberBuilder.request.featureComputer
.inheritanceDistanceFeature(
- thisExtendedType.element2, type.element2);
+ thisExtendedType.element, type.element);
_addTypeMembers(type, defaultKind, inheritanceDistance);
}
_addExtensionMembers(extensions, defaultKind, thisExtendedType);
@@ -114,7 +114,7 @@
var inheritanceDistance = 0.0;
if (type is InterfaceType && extendedType is InterfaceType) {
inheritanceDistance = memberBuilder.request.featureComputer
- .inheritanceDistanceFeature(type.element2, extendedType.element2);
+ .inheritanceDistanceFeature(type.element, extendedType.element);
}
// TODO(brianwilkerson) We might want to apply the substitution to the
// members of the extension for display purposes.
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart b/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart
index bade581..ebd65ca 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/feature_computer.dart
@@ -472,11 +472,11 @@
return -1;
}
var minDepth =
- _inheritanceDistance(subclass.supertype?.element2, superclass, visited);
+ _inheritanceDistance(subclass.supertype?.element, superclass, visited);
void visitTypes(List<InterfaceType> types) {
for (var type in types) {
- var depth = _inheritanceDistance(type.element2, superclass, visited);
+ var depth = _inheritanceDistance(type.element, superclass, visited);
if (minDepth < 0 || (depth >= 0 && depth < minDepth)) {
minDepth = depth;
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
index 4b1d417..c9e1e534 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
@@ -153,7 +153,7 @@
: CompletionSuggestionKind.INVOCATION;
for (var type in interface.allSupertypes) {
var inheritanceDistance = request.featureComputer
- .inheritanceDistanceFeature(interface, type.element2);
+ .inheritanceDistanceFeature(interface, type.element);
_addSuggestionsForType(type, inheritanceDistance,
isFunctionalArgument: isFunctionalArgument);
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart
index 4730873..0b25537 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/named_constructor_contributor.dart
@@ -28,7 +28,7 @@
} else {
var type = node.type.type;
if (type is InterfaceType) {
- var element = type.element2;
+ var element = type.element;
_buildSuggestions(element);
}
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart
index 10561f1..b9feb5f 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/redirecting_contributor.dart
@@ -35,7 +35,7 @@
} else if (parent is SuperConstructorInvocation) {
// C() : super.^
var superclassElement =
- parent.enclosingInterfaceElement?.supertype?.element2;
+ parent.enclosingInterfaceElement?.supertype?.element;
if (superclassElement != null) {
for (var constructor in superclassElement.constructors) {
if (constructor.isAccessibleIn2(request.libraryElement)) {
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart
index c19440f..3c6d862 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/static_member_contributor.dart
@@ -26,7 +26,7 @@
if (element is TypeAliasElement) {
var aliasedType = element.aliasedType;
if (aliasedType is InterfaceType) {
- element = aliasedType.element2;
+ element = aliasedType.element;
}
}
if (element is InterfaceElement) {
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
index b534e52..3c083016 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
@@ -272,7 +272,7 @@
}
for (var targetType in types) {
var inheritanceDistance = request.featureComputer
- .inheritanceDistanceFeature(type.element2, targetType.element2);
+ .inheritanceDistanceFeature(type.element, targetType.element);
for (var method in targetType.methods) {
// Exclude static methods when completion on an instance.
if (!method.isStatic) {
@@ -313,7 +313,7 @@
var typesToVisit = <InterfaceType>[type];
while (typesToVisit.isNotEmpty) {
var nextType = typesToVisit.removeLast();
- if (!classesSeen.add(nextType.element2)) {
+ if (!classesSeen.add(nextType.element)) {
// Class had already been seen, so ignore this type.
continue;
}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart b/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart
index ba1f64c..94565e9 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/abstract_producer.dart
@@ -88,7 +88,7 @@
InterfaceElement? getTargetInterfaceElement(Expression target) {
var type = target.staticType;
if (type is InterfaceType) {
- return type.element2;
+ return type.element;
} else if (target is Identifier) {
var element = target.staticElement;
if (element is InterfaceElement) {
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_diagnostic_property_reference.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_diagnostic_property_reference.dart
index 9322da0..e431ff1 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_diagnostic_property_reference.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_diagnostic_property_reference.dart
@@ -212,7 +212,7 @@
}
bool _isEnum(DartType type) {
- return type is InterfaceType && type.element2 is EnumElement;
+ return type is InterfaceType && type.element is EnumElement;
}
bool _isIterable(DartType type) {
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_case_clauses.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_case_clauses.dart
index b6d4ac3..fc7f990 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_case_clauses.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_case_clauses.dart
@@ -35,7 +35,7 @@
var enumConstantNames = <String>[];
var expressionType = statement.expression.staticType;
if (expressionType is InterfaceType) {
- var enumElement = expressionType.element2;
+ var enumElement = expressionType.element;
if (enumElement is EnumElement) {
enumName = enumElement.name;
for (var field in enumElement.fields) {
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_like_case_clauses.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_like_case_clauses.dart
index 3e89593..8862753 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_like_case_clauses.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_missing_enum_like_case_clauses.dart
@@ -26,7 +26,7 @@
if (expressionType is! InterfaceType) {
return;
}
- var classElement = expressionType.element2;
+ var classElement = expressionType.element;
var className = classElement.name;
var caseNames = _caseNames(node);
var missingNames = _constantNames(classElement)
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart
index b050fd1..8f604b1 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart
@@ -560,7 +560,7 @@
// class.
if (fieldElement.isConst &&
fieldType is InterfaceType &&
- fieldType.element2 == classElement) {
+ fieldType.element == classElement) {
var initializer = field.initializer;
if (initializer is InstanceCreationExpression) {
var constructorElement =
@@ -728,13 +728,13 @@
throw _CannotConvertException('Unresolved');
}
if (element != classElement) {
- if (element.supertype?.element2 == classElement) {
+ if (element.supertype?.element == classElement) {
throw _CannotConvertException('Class is extended');
} else if (element.interfaces
- .map((e) => e.element2)
+ .map((e) => e.element)
.contains(classElement)) {
throw _CannotConvertException('Class is implemented');
- } else if (element.mixins.map((e) => e.element2).contains(classElement)) {
+ } else if (element.mixins.map((e) => e.element).contains(classElement)) {
// This case won't occur unless there's an error in the source code, but
// it's easier to check for the condition than it is to check for the
// diagnostic.
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_mixin.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_mixin.dart
index f31dc29..f587413 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_mixin.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_mixin.dart
@@ -38,7 +38,7 @@
var classElement = classDeclaration.declaredElement!;
for (var type in classElement.mixins) {
- if (referencedClasses.contains(type.element2)) {
+ if (referencedClasses.contains(type.element)) {
superclassConstraints.add(type);
} else {
interfaces.add(type);
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_into_for_index.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_into_for_index.dart
index 498bd7f..0982c01 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_into_for_index.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_into_for_index.dart
@@ -52,7 +52,7 @@
{
var iterableType = iterable.staticType;
if (iterableType is! InterfaceType ||
- iterableType.element2 != typeProvider.listElement) {
+ iterableType.element != typeProvider.listElement) {
return;
}
}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_list_literal.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_list_literal.dart
index e21fdfc..62d6308 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_list_literal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_list_literal.dart
@@ -41,7 +41,7 @@
var type = creation.staticType;
if (node.offset > creation.argumentList.offset ||
type is! InterfaceType ||
- type.element2 != typeProvider.listElement ||
+ type.element != typeProvider.listElement ||
creation.constructorName.name != null ||
creation.argumentList.arguments.isNotEmpty) {
return;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_map_literal.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_map_literal.dart
index 3197d24..df9e567 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_map_literal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_map_literal.dart
@@ -45,7 +45,7 @@
creation.constructorName.name != null ||
creation.argumentList.arguments.isNotEmpty ||
type is! InterfaceType ||
- !_isMapClass(type.element2)) {
+ !_isMapClass(type.element)) {
return;
}
//
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_set_literal.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_set_literal.dart
index 2dccd1e..2888e15 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_set_literal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_set_literal.dart
@@ -145,7 +145,7 @@
}
// TODO(brianwilkerson) Consider also accepting uses of LinkedHashSet.
- if (type.element2 != typeProvider.setElement) {
+ if (type.element != typeProvider.setElement) {
return null;
}
return creation;
@@ -197,14 +197,14 @@
var parent2 = parent.parent;
if (parent2 is VariableDeclarationList) {
final type = parent2.type?.type;
- if (type is InterfaceType && type.element2 == typeProvider.setElement) {
+ if (type is InterfaceType && type.element == typeProvider.setElement) {
return true;
}
}
} else if (parent.parent is InvocationExpression) {
var parameterElement = creation.staticParameterElement;
final type = parameterElement?.type;
- if (type is InterfaceType && type.element2 == typeProvider.setElement) {
+ if (type is InterfaceType && type.element == typeProvider.setElement) {
return true;
}
}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_constructor.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_constructor.dart
index f18ea38..63fdcd3 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_constructor.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_constructor.dart
@@ -76,7 +76,7 @@
}
// prepare target ClassDeclaration
- var targetElement = targetType.element2;
+ var targetElement = targetType.element;
var targetResult = await sessionHelper.getElementDeclaration(targetElement);
if (targetResult == null) {
return;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart
index ce414da..9685cf9 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart
@@ -56,7 +56,7 @@
if (targetType is! InterfaceType) {
return;
}
- targetElement = targetType.element2;
+ targetElement = targetType.element;
// maybe static
if (target is Identifier) {
var targetIdentifier = target;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_method_or_function.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_method_or_function.dart
index 4652473..57bdf4d 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_method_or_function.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_method_or_function.dart
@@ -38,7 +38,7 @@
if (target != null) {
var targetType = target.staticType;
if (targetType is InterfaceType) {
- targetElement = targetType.element2;
+ targetElement = targetType.element;
argument = target.parent as Expression;
} else {
return;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart
index a0a9a54..75374f2 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart
@@ -55,7 +55,7 @@
if (targetType is! InterfaceType) {
return;
}
- targetElement = targetType.element2;
+ targetElement = targetType.element;
// maybe static
if (target is Identifier) {
var targetIdentifier = target;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateless_widget.dart b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateless_widget.dart
index f635044..1b4ce54 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateless_widget.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateless_widget.dart
@@ -255,11 +255,11 @@
final firstArgument = type.typeArguments.singleOrNull;
if (firstArgument is! InterfaceType ||
- firstArgument.element2 != widgetClassElement) {
+ firstArgument.element != widgetClassElement) {
return false;
}
- var classElement = type.element2;
+ var classElement = type.element;
return classElement is ClassElement &&
Flutter.instance.isExactState(classElement);
}
@@ -383,7 +383,7 @@
void visitInstanceCreationExpression(InstanceCreationExpression node) {
super.visitInstanceCreationExpression(node);
final type = node.staticType;
- if (type is! InterfaceType || type.element2 != stateClassElement) {
+ if (type is! InterfaceType || type.element != stateClassElement) {
return;
}
var methodDeclaration = node.thisOrAncestorOfType<MethodDeclaration>();
@@ -402,7 +402,7 @@
if (type is InterfaceType &&
node.methodName.name == 'createState' &&
(FlutterConvertToStatelessWidget._isState(widgetClassElement, type) ||
- type.element2 == stateClassElement)) {
+ type.element == stateClassElement)) {
used = true;
}
}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/move_type_arguments_to_class.dart b/pkg/analysis_server/lib/src/services/correction/dart/move_type_arguments_to_class.dart
index a255bf5..a443d0a 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/move_type_arguments_to_class.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/move_type_arguments_to_class.dart
@@ -34,7 +34,7 @@
final type = namedType.typeOrThrow;
if (type is InterfaceType) {
- final element = type.element2;
+ final element = type.element;
if (element.typeParameters.length == typeArguments.arguments.length) {
await builder.addDartFileEdit(file, (builder) {
var argumentText = utils.getNodeText(typeArguments);
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart
index d107148..7b68ecf 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart
@@ -154,11 +154,11 @@
return true;
}
if (type is InterfaceType) {
- if (components[1] == type.element2.name) {
+ if (components[1] == type.element.name) {
return true;
}
for (var supertype in type.allSupertypes) {
- if (components[1] == supertype.element2.name) {
+ if (components[1] == supertype.element.name) {
return true;
}
}
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
index 3abc44d..982d896 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
@@ -397,7 +397,7 @@
var targetType = node.prefix.staticType;
if (targetType is InterfaceType) {
_addMatcher(
- components: [node.identifier.name, targetType.element2.name],
+ components: [node.identifier.name, targetType.element.name],
kinds: const [
ElementKind.constantKind,
ElementKind.fieldKind,
@@ -543,7 +543,7 @@
var type = target.staticType;
if (type != null) {
if (type is InterfaceType) {
- return type.element2.name;
+ return type.element.name;
} else if (type.isDynamic) {
// The name is likely to be undefined.
return target.name;
@@ -554,7 +554,7 @@
} else if (target != null) {
var type = target.staticType;
if (type is InterfaceType) {
- return type.element2.name;
+ return type.element.name;
}
return null;
}
diff --git a/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart b/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart
index 85c3549..00a24a4 100644
--- a/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart
+++ b/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart
@@ -66,7 +66,7 @@
} else if (expectedType.isDartCoreString) {
_addSingleCharacterName(excluded, res, 0x73);
} else if (expectedType is InterfaceType) {
- var className = expectedType.element2.name;
+ var className = expectedType.element.name;
_addAll(excluded, res, getCamelWordCombinations(className));
}
}
diff --git a/pkg/analysis_server/lib/src/services/correction/util.dart b/pkg/analysis_server/lib/src/services/correction/util.dart
index afceabc..95a27b8 100644
--- a/pkg/analysis_server/lib/src/services/correction/util.dart
+++ b/pkg/analysis_server/lib/src/services/correction/util.dart
@@ -911,7 +911,7 @@
if (type is InterfaceType) {
return _getTypeCodeElementArguments(
librariesToImport: librariesToImport,
- element: type.element2,
+ element: type.element,
isNullable: type.nullabilitySuffix == NullabilitySuffix.question,
typeArguments: type.typeArguments,
);
@@ -929,7 +929,7 @@
}
if (type is TypeParameterType) {
- var element = type.element2;
+ var element = type.element;
if (_isTypeParameterVisible(element)) {
return element.name;
} else {
diff --git a/pkg/analysis_server/lib/src/services/flutter/class_description.dart b/pkg/analysis_server/lib/src/services/flutter/class_description.dart
index 0bdd780..e3f5643 100644
--- a/pkg/analysis_server/lib/src/services/flutter/class_description.dart
+++ b/pkg/analysis_server/lib/src/services/flutter/class_description.dart
@@ -56,7 +56,7 @@
/// Return `true` if properties should be created for instances of [type].
bool hasNestedProperties(DartType type) {
if (type is InterfaceType) {
- return _isOptedInClass(type.element2);
+ return _isOptedInClass(type.element);
}
return false;
}
diff --git a/pkg/analysis_server/lib/src/services/flutter/widget_descriptions.dart b/pkg/analysis_server/lib/src/services/flutter/widget_descriptions.dart
index 40b7cba..693c461 100644
--- a/pkg/analysis_server/lib/src/services/flutter/widget_descriptions.dart
+++ b/pkg/analysis_server/lib/src/services/flutter/widget_descriptions.dart
@@ -390,7 +390,7 @@
var type = parameter.type;
if (type is InterfaceType) {
var classDescription = classRegistry.get(
- type.element2,
+ type.element,
);
if (classDescription != null) {
_addProperties(
@@ -462,7 +462,7 @@
);
}
if (type is InterfaceType) {
- var classElement = type.element2;
+ var classElement = type.element;
if (classElement is EnumElement) {
return protocol.FlutterWidgetPropertyEditor(
protocol.FlutterWidgetPropertyEditorKind.ENUM,
diff --git a/pkg/analysis_server/lib/src/services/kythe/kythe_visitors.dart b/pkg/analysis_server/lib/src/services/kythe/kythe_visitors.dart
index dc9d3f0..1fe0e3e 100644
--- a/pkg/analysis_server/lib/src/services/kythe/kythe_visitors.dart
+++ b/pkg/analysis_server/lib/src/services/kythe/kythe_visitors.dart
@@ -305,7 +305,7 @@
// extends
var supertype = _enclosingClassElement!.supertype;
- var supertypeElement = supertype?.element2;
+ var supertypeElement = supertype?.element;
if (supertypeElement != null) {
var recordSupertypeVName =
_vNameFromElement(supertypeElement, schema.RECORD_KIND);
@@ -317,7 +317,7 @@
var interfaces = _enclosingClassElement!.interfaces;
for (var interface in interfaces) {
var recordInterfaceVName =
- _vNameFromElement(interface.element2, schema.RECORD_KIND);
+ _vNameFromElement(interface.element, schema.RECORD_KIND);
addEdge(
_enclosingClassVName!, schema.EXTENDS_EDGE, recordInterfaceVName);
}
@@ -326,7 +326,7 @@
var mixins = _enclosingClassElement!.mixins;
for (var mixin in mixins) {
var recordMixinVName =
- _vNameFromElement(mixin.element2, schema.RECORD_KIND);
+ _vNameFromElement(mixin.element, schema.RECORD_KIND);
addEdge(_enclosingClassVName!, schema.EXTENDS_EDGE, recordMixinVName);
}
@@ -383,7 +383,7 @@
var interfaces = _enclosingClassElement!.interfaces;
for (var interface in interfaces) {
var recordInterfaceVName =
- _vNameFromElement(interface.element2, schema.RECORD_KIND);
+ _vNameFromElement(interface.element, schema.RECORD_KIND);
addEdge(
_enclosingClassVName!, schema.EXTENDS_EDGE, recordInterfaceVName);
}
@@ -392,7 +392,7 @@
var mixins = _enclosingClassElement!.mixins;
for (var mixin in mixins) {
var recordMixinVName =
- _vNameFromElement(mixin.element2, schema.RECORD_KIND);
+ _vNameFromElement(mixin.element, schema.RECORD_KIND);
addEdge(_enclosingClassVName!, schema.EXTENDS_EDGE, recordMixinVName);
}
@@ -1024,14 +1024,14 @@
// Expected SuperExpression.staticType to return the type of the
// supertype, but it returns the type of the enclosing class (same as
// ThisExpression), do some additional work to correct assumption:
- if (thisOrSuperNode is SuperExpression && type.element2 is ClassElement) {
- var supertype = (type.element2 as ClassElement).supertype;
+ if (thisOrSuperNode is SuperExpression && type.element is ClassElement) {
+ var supertype = (type.element as ClassElement).supertype;
if (supertype != null) {
type = supertype;
}
}
// vname
- var vName = _vNameFromElement(type.element2, schema.RECORD_KIND);
+ var vName = _vNameFromElement(type.element, schema.RECORD_KIND);
// anchor
var anchorVName = addAnchorEdgesContainingEdge(
@@ -1316,7 +1316,7 @@
var declaredElement = paramNode.declaredElement!;
var type = declaredElement.type;
if (type is InterfaceType) {
- paramTypeVName = _vNameFromElement(type.element2, schema.TAPP_KIND);
+ paramTypeVName = _vNameFromElement(type.element, schema.TAPP_KIND);
}
addEdge(funcTypeVName, schema.PARAM_EDGE, paramTypeVName,
ordinalIntValue: i++);
@@ -1393,7 +1393,7 @@
} else if (type.isVoid) {
return voidBuiltin;
} else if (type is InterfaceType) {
- return _vNameFromElement(type.element2, schema.RECORD_KIND);
+ return _vNameFromElement(type.element, schema.RECORD_KIND);
} else {
return dynamicBuiltin;
}
diff --git a/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_method.dart b/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_method.dart
index b106c81..53cf3e3 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_method.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_method.dart
@@ -803,7 +803,7 @@
variableType = _getTypeCode(returnTypeObj);
if (_hasAwait) {
if (returnTypeObj is InterfaceType &&
- returnTypeObj.element2 != typeProvider.futureElement) {
+ returnTypeObj.element != typeProvider.futureElement) {
returnType = _getTypeCode(typeProvider.futureType(returnTypeObj));
}
} else {
diff --git a/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_widget.dart b/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_widget.dart
index f1c5758..64a1e80 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_widget.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/extract_widget.dart
@@ -667,7 +667,7 @@
if (enclosingClass != null) {
final enclosingClasses = this.enclosingClasses ??= <InterfaceElement>[
enclosingClass,
- ...enclosingClass.allSupertypes.map((t) => t.element2)
+ ...enclosingClass.allSupertypes.map((t) => t.element)
];
return enclosingClasses.contains(element.enclosingElement);
}
diff --git a/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart b/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart
index ecabaa1..36b44ae 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart
@@ -165,7 +165,7 @@
var enclosingInterfaceElement = node.enclosingInterfaceElement;
if (enclosingInterfaceElement != null) {
var elements = [
- ...enclosingInterfaceElement.allSupertypes.map((e) => e.element2),
+ ...enclosingInterfaceElement.allSupertypes.map((e) => e.element),
enclosingInterfaceElement,
];
for (var interfaceElement in elements) {
diff --git a/pkg/analysis_server/lib/src/services/refactoring/legacy/rename_class_member.dart b/pkg/analysis_server/lib/src/services/refactoring/legacy/rename_class_member.dart
index e43571d..808e760 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/legacy/rename_class_member.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/rename_class_member.dart
@@ -225,7 +225,7 @@
required Set<InterfaceElement> subClasses,
}) async {
var superClasses =
- interfaceElement.allSupertypes.map((e) => e.element2).toSet();
+ interfaceElement.allSupertypes.map((e) => e.element).toSet();
// check shadowing in the hierarchy
var declarations = await searchEngine.searchMemberDeclarations(name);
for (var declaration in declarations) {
diff --git a/pkg/analysis_server/lib/src/services/search/hierarchy.dart b/pkg/analysis_server/lib/src/services/search/hierarchy.dart
index d99b873..b75ed3e 100644
--- a/pkg/analysis_server/lib/src/services/search/hierarchy.dart
+++ b/pkg/analysis_server/lib/src/services/search/hierarchy.dart
@@ -96,7 +96,7 @@
if (enclosingElement is InterfaceElement) {
var name = member.displayName;
var searchClasses = [
- ...enclosingElement.allSupertypes.map((e) => e.element2),
+ ...enclosingElement.allSupertypes.map((e) => e.element),
enclosingElement,
];
for (var superClass in searchClasses) {
@@ -155,7 +155,7 @@
/// Excludes: constructors and synthetic elements.
List<Element> getMembers(InterfaceElement clazz) {
var classElements = [
- ...clazz.allSupertypes.map((e) => e.element2),
+ ...clazz.allSupertypes.map((e) => e.element),
clazz,
];
var members = <Element>[];
diff --git a/pkg/analysis_server/lib/src/utilities/flutter.dart b/pkg/analysis_server/lib/src/utilities/flutter.dart
index 625d6c8..fa2700d 100644
--- a/pkg/analysis_server/lib/src/utilities/flutter.dart
+++ b/pkg/analysis_server/lib/src/utilities/flutter.dart
@@ -318,14 +318,14 @@
return true;
}
for (var type in element.allSupertypes) {
- if (isExactColor(type.element2)) {
+ if (isExactColor(type.element)) {
return true;
}
}
return false;
}
- return isColorElement(type.element2);
+ return isColorElement(type.element);
}
/// Return `true` if the given [type] is the flutter mixin `Diagnosticable`
@@ -344,14 +344,14 @@
return true;
}
for (var type in element.allSupertypes) {
- if (isExactDiagnosticable(type.element2)) {
+ if (isExactDiagnosticable(type.element)) {
return true;
}
}
return false;
}
- return isDiagnosticableElement(type.element2);
+ return isDiagnosticableElement(type.element);
}
/// Return `true` if the [element] is the Flutter class `Alignment`.
@@ -373,7 +373,7 @@
/// Return `true` if the [type] is the Flutter type `EdgeInsetsGeometry`.
bool isExactEdgeInsetsGeometryType(DartType type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, 'EdgeInsetsGeometry', _uriEdgeInsets);
+ _isExactWidget(type.element, 'EdgeInsetsGeometry', _uriEdgeInsets);
}
/// Return `true` if the [node] is creation of `Align`.
@@ -397,13 +397,13 @@
/// Return `true` if the given [type] is the Flutter class `StatefulWidget`.
bool isExactlyStatefulWidgetType(DartType? type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameStatefulWidget, _uriFramework);
+ _isExactWidget(type.element, _nameStatefulWidget, _uriFramework);
}
/// Return `true` if the given [type] is the Flutter class `StatelessWidget`.
bool isExactlyStatelessWidgetType(DartType type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameStatelessWidget, _uriFramework);
+ _isExactWidget(type.element, _nameStatelessWidget, _uriFramework);
}
/// Return `true` if the given [element] is the Flutter class `State`.
@@ -414,43 +414,43 @@
/// Return `true` if the given [type] is the Flutter class `Align`.
bool isExactWidgetTypeAlign(DartType? type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameAlign, _uriBasic);
+ _isExactWidget(type.element, _nameAlign, _uriBasic);
}
/// Return `true` if the given [type] is the Flutter class `StreamBuilder`.
bool isExactWidgetTypeBuilder(DartType type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameBuilder, _uriBasic);
+ _isExactWidget(type.element, _nameBuilder, _uriBasic);
}
/// Return `true` if the given [type] is the Flutter class `Center`.
bool isExactWidgetTypeCenter(DartType type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameCenter, _uriBasic);
+ _isExactWidget(type.element, _nameCenter, _uriBasic);
}
/// Return `true` if the given [type] is the Flutter class `Container`.
bool isExactWidgetTypeContainer(DartType? type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameContainer, _uriContainer);
+ _isExactWidget(type.element, _nameContainer, _uriContainer);
}
/// Return `true` if the given [type] is the Flutter class `Padding`.
bool isExactWidgetTypePadding(DartType? type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _namePadding, _uriBasic);
+ _isExactWidget(type.element, _namePadding, _uriBasic);
}
/// Return `true` if the given [type] is the Flutter class `SizedBox`.
bool isExactWidgetTypeSizedBox(DartType type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameSizedBox, _uriBasic);
+ _isExactWidget(type.element, _nameSizedBox, _uriBasic);
}
/// Return `true` if the given [type] is the Flutter class `StreamBuilder`.
bool isExactWidgetTypeStreamBuilder(DartType type) {
return type is InterfaceType &&
- _isExactWidget(type.element2, _nameStreamBuilder, _uriAsync);
+ _isExactWidget(type.element, _nameStreamBuilder, _uriAsync);
}
/// Return `true` if the given [type] is the Flutter class `Widget`, or its
@@ -476,14 +476,14 @@
return true;
}
for (var type in element.allSupertypes) {
- if (isExactMatrix4(type.element2)) {
+ if (isExactMatrix4(type.element)) {
return true;
}
}
return false;
}
- return isMatrix4Element(type.element2);
+ return isMatrix4Element(type.element);
}
/// Return `true` if the given [element] has the Flutter class `State` as
@@ -511,7 +511,7 @@
return true;
}
for (var type in element.allSupertypes) {
- if (_isExactWidget(type.element2, _nameWidget, _uriFramework)) {
+ if (_isExactWidget(type.element, _nameWidget, _uriFramework)) {
return true;
}
}
@@ -549,7 +549,7 @@
/// Return `true` if the given [type] is the Flutter class `Widget`, or its
/// subtype.
bool isWidgetType(DartType? type) {
- return type is InterfaceType && isWidget(type.element2);
+ return type is InterfaceType && isWidget(type.element);
}
/// Return `true` if the given [element] has a supertype with the
@@ -560,8 +560,8 @@
return false;
}
for (var type in element.allSupertypes) {
- if (type.element2.name == requiredName) {
- var uri = type.element2.source.uri;
+ if (type.element.name == requiredName) {
+ var uri = type.element.source.uri;
if (uri == requiredUri) {
return true;
}
diff --git a/pkg/analysis_server/tool/bulk_fix/parse_utils.dart b/pkg/analysis_server/tool/bulk_fix/parse_utils.dart
index d0264a0..211de59 100644
--- a/pkg/analysis_server/tool/bulk_fix/parse_utils.dart
+++ b/pkg/analysis_server/tool/bulk_fix/parse_utils.dart
@@ -32,7 +32,7 @@
var classElement = classDecl.declaredElement;
if (classElement != null &&
classElement.allSupertypes.any(
- (element) => element.element2.name == 'CorrectionProducer')) {
+ (element) => element.element.name == 'CorrectionProducer')) {
var correctionName = classDecl.name.lexeme;
for (var method in classDecl.members.whereType<MethodDeclaration>()) {
diff --git a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
index 71dc018..7c1b1ba 100644
--- a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
+++ b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
@@ -1570,7 +1570,7 @@
return;
}
if (targetType is InterfaceType) {
- var targetClass = targetType.element2;
+ var targetClass = targetType.element;
var extension = member.thisOrAncestorOfType<ExtensionElement>();
if (extension != null) {
_recordDistance('member (extension)', 0);
@@ -1592,12 +1592,12 @@
}
for (var mixin in currentClass.mixins.reversed) {
depth++;
- if (mixin.element2 == memberClass) {
+ if (mixin.element == memberClass) {
return depth;
}
}
depth++;
- currentClass = currentClass.supertype?.element2;
+ currentClass = currentClass.supertype?.element;
}
return -1;
}
@@ -1609,7 +1609,7 @@
InterfaceElement? currentClass = targetClass;
while (currentClass != null) {
depth += currentClass.mixins.length + 1;
- currentClass = currentClass.supertype?.element2;
+ currentClass = currentClass.supertype?.element;
}
return depth;
}
@@ -1816,20 +1816,20 @@
argumentType is InterfaceType &&
parameterType is InterfaceType) {
int distance;
- if (parameterType.element2 == typeProvider.futureOrElement) {
+ if (parameterType.element == typeProvider.futureOrElement) {
var typeArgument = parameterType.typeArguments[0];
distance = featureComputer.inheritanceDistance(
- argumentType.element2, typeProvider.futureElement);
+ argumentType.element, typeProvider.futureElement);
if (typeArgument is InterfaceType) {
var argDistance = featureComputer.inheritanceDistance(
- argumentType.element2, typeArgument.element2);
+ argumentType.element, typeArgument.element);
if (distance < 0 || (argDistance >= 0 && argDistance < distance)) {
distance = argDistance;
}
}
} else {
distance = featureComputer.inheritanceDistance(
- argumentType.element2, parameterType.element2);
+ argumentType.element, parameterType.element);
}
data.recordDistance('Subtype of context type ($descriptor)', distance);
data.recordDistance('Subtype of context type (all)', distance);
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index d025623..b9d9772 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -3,6 +3,7 @@
* Deprecated `Directive.element2`, use `element` instead.
* Deprecated `CatchClause.exceptionParameter2`, use `exceptionParameter` instead.
* Deprecated `CatchClause.stackTraceParameter2`, use `stackTraceParameter` instead.
+* Deprecated `DartType.element2`, use `element` instead.
## 5.1.0
* Deprecated `AstNode.name2`, use `name` instead.
diff --git a/pkg/analyzer/lib/dart/element/type.dart b/pkg/analyzer/lib/dart/element/type.dart
index 23038b5..0b6e1fb 100644
--- a/pkg/analyzer/lib/dart/element/type.dart
+++ b/pkg/analyzer/lib/dart/element/type.dart
@@ -35,6 +35,11 @@
/// Return the element representing the declaration of this type, or `null`
/// if the type is not associated with an element.
+ Element? get element;
+
+ /// Return the element representing the declaration of this type, or `null`
+ /// if the type is not associated with an element.
+ @Deprecated('Use element instead')
Element? get element2;
/// Return `true` if this type represents the bottom type.
@@ -196,6 +201,10 @@
/// Clients may not extend, implement or mix-in this class.
abstract class FunctionType implements DartType {
@override
+ Null get element;
+
+ @Deprecated('Use element instead')
+ @override
Null get element2;
/// Return a map from the names of named parameters to the types of the named
@@ -276,6 +285,10 @@
List<ConstructorElement> get constructors;
@override
+ InterfaceElement get element;
+
+ @Deprecated('Use element instead')
+ @override
InterfaceElement get element2;
/// Return a list containing all of the interfaces that are implemented by
@@ -419,6 +432,10 @@
@experimental
abstract class RecordType implements DartType {
@override
+ Null get element;
+
+ @Deprecated('Use element instead')
+ @override
Null get element2;
/// The named fields (might be empty).
@@ -468,6 +485,10 @@
ElementLocation get definition;
@override
+ TypeParameterElement get element;
+
+ @Deprecated('Use element instead')
+ @override
TypeParameterElement get element2;
}
@@ -475,5 +496,9 @@
/// expression is meaningless, and intended to be discarded.
abstract class VoidType implements DartType {
@override
+ Null get element;
+
+ @Deprecated('Use element instead')
+ @override
Null get element2;
}
diff --git a/pkg/analyzer/lib/error/listener.dart b/pkg/analyzer/lib/error/listener.dart
index 79ed12f..acc1838 100644
--- a/pkg/analyzer/lib/error/listener.dart
+++ b/pkg/analyzer/lib/error/listener.dart
@@ -299,7 +299,7 @@
addElementsFrom(parameter.type);
}
} else if (type is InterfaceType) {
- if (elements.add(type.element2)) {
+ if (elements.add(type.element)) {
for (DartType typeArgument in type.typeArguments) {
addElementsFrom(typeArgument);
}
diff --git a/pkg/analyzer/lib/src/dart/analysis/index.dart b/pkg/analyzer/lib/src/dart/analysis/index.dart
index 5716fd1..087743c 100644
--- a/pkg/analyzer/lib/src/dart/analysis/index.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/index.dart
@@ -563,7 +563,7 @@
_addSubtypeForClassDeclaration(node);
var declaredElement = node.declaredElement!;
if (node.extendsClause == null) {
- final objectElement = declaredElement.supertype?.element2;
+ final objectElement = declaredElement.supertype?.element;
recordRelationOffset(objectElement, IndexRelationKind.IS_EXTENDED_BY,
node.name.offset, 0, true);
}
@@ -1034,21 +1034,20 @@
var superType = ancestor.supertype;
if (superType != null) {
_recordIsAncestorOf(
- descendant, superType.element2, true, visitedElements);
+ descendant, superType.element, true, visitedElements);
}
}
for (InterfaceType mixinType in ancestor.mixins) {
- _recordIsAncestorOf(
- descendant, mixinType.element2, true, visitedElements);
+ _recordIsAncestorOf(descendant, mixinType.element, true, visitedElements);
}
if (ancestor is MixinElement) {
for (InterfaceType type in ancestor.superclassConstraints) {
- _recordIsAncestorOf(descendant, type.element2, true, visitedElements);
+ _recordIsAncestorOf(descendant, type.element, true, visitedElements);
}
}
for (InterfaceType implementedType in ancestor.interfaces) {
_recordIsAncestorOf(
- descendant, implementedType.element2, true, visitedElements);
+ descendant, implementedType.element, true, visitedElements);
}
}
}
diff --git a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart
index b045a60..cdb6705 100644
--- a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart
+++ b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart
@@ -371,7 +371,7 @@
}
// prepare ClassElement
if (type is InterfaceType) {
- var element = type.element2;
+ var element = type.element;
// lookup for ==
var method = element.lookUpConcreteMethod("==", _currentLibrary);
if (method == null ||
diff --git a/pkg/analyzer/lib/src/dart/constant/evaluation.dart b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
index 2d40948..b22a50f 100644
--- a/pkg/analyzer/lib/src/dart/constant/evaluation.dart
+++ b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
@@ -269,7 +269,7 @@
var superclass = constant.returnType.superclass;
if (superclass != null && !superclass.isDartCoreObject) {
var unnamedConstructor =
- superclass.element2.unnamedConstructor?.declaration;
+ superclass.element.unnamedConstructor?.declaration;
if (unnamedConstructor != null && unnamedConstructor.isConst) {
callback(unnamedConstructor);
}
@@ -747,7 +747,7 @@
if (typeArgumentTypes != null) {
var instantiatedTypeArgumentTypes = typeArgumentTypes.map((type) {
if (type is TypeParameterType) {
- return _lexicalTypeEnvironment?[type.element2] ?? type;
+ return _lexicalTypeEnvironment?[type.element] ?? type;
} else {
return type;
}
@@ -1470,7 +1470,7 @@
DartObjectImpl targetResult, SimpleIdentifier identifier) {
final targetType = targetResult.type;
if (!(targetType is InterfaceType &&
- targetType.element2 == _typeProvider.stringElement)) {
+ targetType.element == _typeProvider.stringElement)) {
return false;
}
return identifier.name == 'length' &&
diff --git a/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart b/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart
index f666d98..18764b6 100644
--- a/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart
+++ b/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart
@@ -55,7 +55,7 @@
interfacesMerger.add(type);
var substitution = Substitution.fromInterfaceType(type);
- var rawInterfaces = implementedInterfaces(type.element2);
+ var rawInterfaces = implementedInterfaces(type.element);
for (var rawInterface in rawInterfaces) {
var newInterface =
substitution.substituteType(rawInterface) as InterfaceType;
@@ -125,7 +125,7 @@
}
void add(InterfaceType type) {
- var element = type.element2;
+ var element = type.element;
var classResult = _map[element];
if (classResult == null) {
classResult = _ClassInterfaceType(_typeSystem);
diff --git a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
index b3c4b83..26bff4b 100644
--- a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
+++ b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
@@ -144,7 +144,7 @@
}
void writeInterfaceType(InterfaceType type) {
- _write(type.element2.name);
+ _write(type.element.name);
_writeTypeArguments(type.typeArguments);
_writeNullability(type.nullabilitySuffix);
}
@@ -242,14 +242,14 @@
if (hasSuffix) {
_write('(');
}
- _write(type.element2.displayName);
+ _write(type.element.displayName);
_write(' & ');
_writeType(promotedBound);
if (hasSuffix) {
_write(')');
}
} else {
- _write(type.element2.displayName);
+ _write(type.element.displayName);
}
_writeNullability(type.nullabilitySuffix);
}
@@ -450,7 +450,7 @@
void collectTypeParameters(DartType? type) {
if (type is TypeParameterType) {
- referencedTypeParameters.add(type.element2);
+ referencedTypeParameters.add(type.element);
} else if (type is FunctionType) {
for (var typeParameter in type.typeFormals) {
collectTypeParameters(typeParameter.bound);
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index f5fbe97..b7ca741 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -270,7 +270,7 @@
required NullabilitySuffix nullabilitySuffix,
}) {
return InterfaceTypeImpl(
- element2: this,
+ element: this,
typeArguments: typeArguments,
nullabilitySuffix: nullabilitySuffix,
);
@@ -415,12 +415,12 @@
yield getter;
}
for (InterfaceType mixin in classElement.mixins.reversed) {
- getter = mixin.element2.getGetter(getterName);
+ getter = mixin.element.getGetter(getterName);
if (getter != null) {
yield getter;
}
}
- classElement = classElement.supertype?.element2;
+ classElement = classElement.supertype?.element;
}
}
@@ -444,12 +444,12 @@
yield method;
}
for (InterfaceType mixin in classElement.mixins.reversed) {
- method = mixin.element2.getMethod(methodName);
+ method = mixin.element.getMethod(methodName);
if (method != null) {
yield method;
}
}
- classElement = classElement.supertype?.element2;
+ classElement = classElement.supertype?.element;
}
}
@@ -474,12 +474,12 @@
yield setter;
}
for (InterfaceType mixin in classElement.mixins.reversed) {
- setter = mixin.element2.getSetter(setterName);
+ setter = mixin.element.getSetter(setterName);
if (setter != null) {
yield setter;
}
}
- classElement = classElement.supertype?.element2;
+ classElement = classElement.supertype?.element;
}
}
@@ -633,12 +633,12 @@
}
// check mixins
for (InterfaceType mixinType in currentElement.mixins) {
- classesToVisit.add(mixinType.element2);
+ classesToVisit.add(mixinType.element);
}
// check super
final supertype = currentElement.supertype;
if (supertype != null) {
- classesToVisit.add(supertype.element2);
+ classesToVisit.add(supertype.element);
}
}
}
@@ -708,7 +708,7 @@
// No subclasses in the library.
for (var unit in library.units) {
for (var class_ in unit.classes) {
- if (class_.supertype?.element2 == this) {
+ if (class_.supertype?.element == this) {
return false;
}
}
@@ -788,7 +788,7 @@
return <ConstructorElement>[];
}
- var superElement = supertype!.element2 as ClassElementImpl;
+ var superElement = supertype!.element as ClassElementImpl;
// First get the list of constructors of the superclass which need to be
// forwarded to this class.
@@ -834,7 +834,7 @@
Substitution.fromPairs(superClassParameters, argumentTypes);
bool typeHasInstanceVariables(InterfaceType type) =>
- type.element2.fields.any((e) => !e.isSynthetic);
+ type.element.fields.any((e) => !e.isSynthetic);
// Now create an implicit constructor for every constructor found above,
// substituting type parameters as appropriate.
@@ -1816,7 +1816,7 @@
/// The synthetic element representing the declaration of the type `dynamic`.
class DynamicElementImpl extends ElementImpl implements TypeDefiningElement {
/// Return the unique instance of this class.
- static DynamicElementImpl get instance => DynamicTypeImpl.instance.element2;
+ static DynamicElementImpl get instance => DynamicTypeImpl.instance.element;
/// Initialize a newly created instance of this class. Instances of this class
/// should <b>not</b> be created except as part of creating the type
@@ -6027,7 +6027,7 @@
if (aliasedType_ is! InterfaceType) {
return false;
}
- var aliasedClass = aliasedType_.element2;
+ var aliasedClass = aliasedType_.element;
var typeArguments = aliasedType_.typeArguments;
var typeParameterCount = typeParameters.length;
if (typeParameterCount != aliasedClass.typeParameters.length) {
@@ -6043,7 +6043,7 @@
}
final typeArgument = typeArguments[i];
if (typeArgument is TypeParameterType &&
- typeParameters[i] != typeArgument.element2) {
+ typeParameters[i] != typeArgument.element) {
return false;
}
}
@@ -6153,7 +6153,7 @@
);
} else if (type is InterfaceType) {
return InterfaceTypeImpl(
- element2: type.element2,
+ element: type.element,
typeArguments: type.typeArguments,
nullabilitySuffix: resultNullability,
alias: InstantiatedTypeAliasElementImpl(
@@ -6173,7 +6173,7 @@
);
} else if (type is TypeParameterType) {
return TypeParameterTypeImpl(
- element2: type.element2,
+ element: type.element,
nullabilitySuffix: resultNullability,
alias: InstantiatedTypeAliasElementImpl(
element: this,
@@ -6292,7 +6292,7 @@
required NullabilitySuffix nullabilitySuffix,
}) {
return TypeParameterTypeImpl(
- element2: this,
+ element: this,
nullabilitySuffix: nullabilitySuffix,
);
}
diff --git a/pkg/analyzer/lib/src/dart/element/extensions.dart b/pkg/analyzer/lib/src/dart/element/extensions.dart
index 073aae7..09d9093 100644
--- a/pkg/analyzer/lib/src/dart/element/extensions.dart
+++ b/pkg/analyzer/lib/src/dart/element/extensions.dart
@@ -22,7 +22,7 @@
if (element.isGetter) {
var type = element.returnType;
if (type is InterfaceType) {
- interfaceElement = type.element2;
+ interfaceElement = type.element;
}
}
} else if (element is ConstructorElement) {
@@ -42,7 +42,7 @@
// may have been compiled with a different version of pkg:meta.
var index = kindObject.getField('index')!.toIntValue()!;
var targetKindClass =
- (kindObject.type as InterfaceType).element2 as EnumElementImpl;
+ (kindObject.type as InterfaceType).element as EnumElementImpl;
// Instead, map constants to their TargetKind by comparing getter
// names.
var getter = targetKindClass.constants[index];
diff --git a/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart b/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart
index 84ba313..ec047ee 100644
--- a/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart
+++ b/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart
@@ -564,7 +564,7 @@
return;
}
if (errorNode is ConstructorName &&
- !(errorNode.type.type as InterfaceType).element2.hasOptionalTypeArgs) {
+ !(errorNode.type.type as InterfaceType).element.hasOptionalTypeArgs) {
String constructorName = errorNode.name == null
? errorNode.type.name.name
: '${errorNode.type}.${errorNode.name}';
@@ -592,7 +592,7 @@
if (element is VariableElement) {
// For variable elements, we check their type and possible alias type.
var type = element.type;
- final typeElement = type is InterfaceType ? type.element2 : null;
+ final typeElement = type is InterfaceType ? type.element : null;
if (typeElement != null && typeElement.hasOptionalTypeArgs) {
return;
}
diff --git a/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart b/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart
index 12f7996..a96c8f4 100644
--- a/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart
+++ b/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart
@@ -115,7 +115,7 @@
/// Return the result of [getInherited2] with [type] substitution.
ExecutableElement? getInherited(InterfaceType type, Name name) {
- var rawElement = getInherited2(type.element2, name);
+ var rawElement = getInherited2(type.element, name);
if (rawElement == null) {
return null;
}
@@ -143,7 +143,7 @@
var result = <Name, ExecutableElement>{};
var substitution = Substitution.fromInterfaceType(type);
- var rawMap = getInheritedConcreteMap2(type.element2);
+ var rawMap = getInheritedConcreteMap2(type.element);
for (var rawEntry in rawMap.entries) {
result[rawEntry.key] = ExecutableMember.from2(
rawEntry.value,
@@ -171,7 +171,7 @@
var result = <Name, ExecutableElement>{};
var substitution = Substitution.fromInterfaceType(type);
- var rawMap = getInheritedMap2(type.element2);
+ var rawMap = getInheritedMap2(type.element);
for (var rawEntry in rawMap.entries) {
result[rawEntry.key] = ExecutableMember.from2(
rawEntry.value,
@@ -237,7 +237,7 @@
bool forSuper = false,
}) {
var rawElement = getMember2(
- type.element2,
+ type.element,
name,
concrete: concrete,
forMixinIndex: forMixinIndex,
@@ -293,7 +293,7 @@
/// if no members would be overridden.
@Deprecated('Use getOverridden2')
List<ExecutableElement>? getOverridden(InterfaceType type, Name name) {
- return getOverridden2(type.element2, name);
+ return getOverridden2(type.element, name);
}
/// Return all members of mixins, superclasses, and interfaces that a member
@@ -459,7 +459,7 @@
Interface? superTypeInterface;
if (superType != null) {
var substitution = Substitution.fromInterfaceType(superType);
- superTypeInterface = getInterface(superType.element2);
+ superTypeInterface = getInterface(superType.element);
_addCandidates(
namedCandidates: namedCandidates,
substitution: substitution,
@@ -485,7 +485,7 @@
// interfaces. Consider using `Map<Name, ExecutableElement>` here.
var mixinsConflicts = <List<Conflict>>[];
for (var mixin in element.mixins) {
- var mixinElement = mixin.element2;
+ var mixinElement = mixin.element;
var substitution = Substitution.fromInterfaceType(mixin);
var mixinInterface = getInterface(mixinElement);
// `class X extends S with M1, M2 {}` is semantically a sequence of:
@@ -576,7 +576,7 @@
_addCandidates(
namedCandidates: namedCandidates,
substitution: Substitution.fromInterfaceType(interface),
- interface: getInterface(interface.element2),
+ interface: getInterface(interface.element),
isNonNullableByDefault: isNonNullableByDefault,
);
}
@@ -653,7 +653,7 @@
var superCandidates = <Name, List<ExecutableElement>>{};
for (var constraint in element.superclassConstraints) {
var substitution = Substitution.fromInterfaceType(constraint);
- var interfaceObj = getInterface(constraint.element2);
+ var interfaceObj = getInterface(constraint.element);
_addCandidates(
namedCandidates: superCandidates,
substitution: substitution,
@@ -677,7 +677,7 @@
_addCandidates(
namedCandidates: interfaceCandidates,
substitution: Substitution.fromInterfaceType(interface),
- interface: getInterface(interface.element2),
+ interface: getInterface(interface.element),
isNonNullableByDefault: isNonNullableByDefault,
);
}
diff --git a/pkg/analyzer/lib/src/dart/element/least_greatest_closure.dart b/pkg/analyzer/lib/src/dart/element/least_greatest_closure.dart
index 6e6f691..d96fd08 100644
--- a/pkg/analyzer/lib/src/dart/element/least_greatest_closure.dart
+++ b/pkg/analyzer/lib/src/dart/element/least_greatest_closure.dart
@@ -82,7 +82,7 @@
@override
DartType? visitTypeParameterType(TypeParameterType type) {
- if (eliminationTargets.contains(type.element2)) {
+ if (eliminationTargets.contains(type.element)) {
var replacement = _typeParameterReplacement as TypeImpl;
return replacement.withNullability(
uniteNullabilities(
diff --git a/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart b/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart
index 11caa4d..16f5abc 100644
--- a/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart
+++ b/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart
@@ -37,7 +37,7 @@
/// Return the [InstantiatedClass] that corresponds to the [type] - with the
/// same element and type arguments, ignoring its nullability suffix.
factory InstantiatedClass.of(InterfaceType type) {
- return InstantiatedClass(type.element2, type.typeArguments);
+ return InstantiatedClass(type.element, type.typeArguments);
}
@override
@@ -133,7 +133,7 @@
InterfaceTypeImpl withNullability(NullabilitySuffix nullability) {
return InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: arguments,
nullabilitySuffix: nullability,
);
@@ -197,10 +197,10 @@
return type1.withNullability(nullability);
}
- if (type1.element2 == type2.element2) {
+ if (type1.element == type2.element) {
var args1 = type1.typeArguments;
var args2 = type2.typeArguments;
- var params = type1.element2.typeParameters;
+ var params = type1.element.typeParameters;
assert(args1.length == args2.length);
assert(args1.length == params.length);
@@ -233,7 +233,7 @@
}
return InterfaceTypeImpl(
- element2: type1.element2,
+ element: type1.element,
typeArguments: args,
nullabilitySuffix: nullability,
);
@@ -362,7 +362,7 @@
if (element is MixinElement) {
for (InterfaceType interface in element.superclassConstraints) {
var pathLength = _computeLongestInheritancePathToObject(
- interface.element2, visitedElements);
+ interface.element, visitedElements);
longestPath = max(longestPath, 1 + pathLength);
}
}
@@ -371,7 +371,7 @@
// method and keeping track of the longest path to return
for (InterfaceType interface in element.interfaces) {
var pathLength = _computeLongestInheritancePathToObject(
- interface.element2, visitedElements);
+ interface.element, visitedElements);
longestPath = max(longestPath, 1 + pathLength);
}
@@ -385,14 +385,14 @@
}
var superLength = _computeLongestInheritancePathToObject(
- supertype.element2, visitedElements);
+ supertype.element, visitedElements);
var mixins = element.mixins;
for (var i = 0; i < mixins.length; i++) {
// class _X&S&M extends S implements M {}
// So, we choose the maximum length from S and M.
var mixinLength = _computeLongestInheritancePathToObject(
- mixins[i].element2,
+ mixins[i].element,
visitedElements,
);
superLength = max(superLength, mixinLength);
@@ -459,7 +459,7 @@
LeastUpperBoundHelper(this._typeSystem);
InterfaceType get _interfaceTypeFunctionNone {
- return _typeSystem.typeProvider.functionType.element2.instantiate(
+ return _typeSystem.typeProvider.functionType.element.instantiate(
typeArguments: const [],
nullabilitySuffix: NullabilitySuffix.none,
);
@@ -658,7 +658,7 @@
// otherwise UP(B1a, T2)
// where B1a is the greatest closure of B1 with respect to X1
var bound = _typeParameterBound(T1);
- var closure = _typeSystem.greatestClosure(bound, [T1.element2]);
+ var closure = _typeSystem.greatestClosure(bound, [T1.element]);
return getLeastUpperBound(closure, T2);
}
@@ -677,7 +677,7 @@
// otherwise UP(T1, B2a)
// where B2a is the greatest closure of B2 with respect to X2
var bound = _typeParameterBound(T2);
- var closure = _typeSystem.greatestClosure(bound, [T2.element2]);
+ var closure = _typeSystem.greatestClosure(bound, [T2.element]);
return getLeastUpperBound(T1, closure);
}
@@ -968,7 +968,7 @@
/// Return the promoted or declared bound of the type parameter.
DartType _typeParameterBound(TypeParameterTypeImpl type) {
- var bound = type.promotedBound ?? type.element2.bound;
+ var bound = type.promotedBound ?? type.element.bound;
if (bound != null) {
return bound;
}
diff --git a/pkg/analyzer/lib/src/dart/element/normalize.dart b/pkg/analyzer/lib/src/dart/element/normalize.dart
index ed65d5f..a556a96 100644
--- a/pkg/analyzer/lib/src/dart/element/normalize.dart
+++ b/pkg/analyzer/lib/src/dart/element/normalize.dart
@@ -139,7 +139,7 @@
// NORM(C<T0, ..., Tn>) = C<R0, ..., Rn> where Ri is NORM(Ti)
if (T is InterfaceType) {
- return T.element2.instantiate(
+ return T.element.instantiate(
typeArguments: T.typeArguments.map(_normalize).toList(),
nullabilitySuffix: NullabilitySuffix.none,
);
@@ -253,7 +253,7 @@
/// NORM(X & T)
/// NORM(X extends T)
DartType _typeParameterType(TypeParameterTypeImpl T) {
- var element = T.element2;
+ var element = T.element;
// NORM(X & T)
var promotedBound = T.promotedBound;
@@ -304,7 +304,7 @@
// * if S is X then X
if (S is TypeParameterType &&
S.nullabilitySuffix == NullabilitySuffix.none &&
- S.element2 == X.declaration) {
+ S.element == X.declaration) {
return X.declaration.instantiate(
nullabilitySuffix: NullabilitySuffix.none,
);
@@ -326,7 +326,7 @@
// * else X & S
return TypeParameterTypeImpl(
- element2: X.declaration,
+ element: X.declaration,
nullabilitySuffix: NullabilitySuffix.none,
promotedBound: S,
);
diff --git a/pkg/analyzer/lib/src/dart/element/replace_top_bottom_visitor.dart b/pkg/analyzer/lib/src/dart/element/replace_top_bottom_visitor.dart
index 03cf14f..2db9a85 100644
--- a/pkg/analyzer/lib/src/dart/element/replace_top_bottom_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/element/replace_top_bottom_visitor.dart
@@ -113,7 +113,7 @@
}
DartType _interfaceType(InterfaceType type, Variance variance) {
- var typeParameters = type.element2.typeParameters;
+ var typeParameters = type.element.typeParameters;
if (typeParameters.isEmpty) {
return type;
}
@@ -128,7 +128,7 @@
}
return InterfaceTypeImpl(
- element2: type.element2,
+ element: type.element,
nullabilitySuffix: type.nullabilitySuffix,
typeArguments: newTypeArguments,
);
diff --git a/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart b/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart
index 3e68fea..1e6ea1b 100644
--- a/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart
@@ -86,7 +86,7 @@
}
return InterfaceTypeImpl(
- element2: type.element2,
+ element: type.element,
typeArguments: newTypeArguments ?? type.typeArguments,
nullabilitySuffix: newNullability ?? type.nullabilitySuffix,
alias: newAlias ?? type.alias,
@@ -105,7 +105,7 @@
return NamedTypeBuilder(
type.linker,
type.typeSystem,
- type.element2,
+ type.element,
newTypeArguments ?? type.arguments,
newNullability ?? type.nullabilitySuffix,
);
@@ -133,7 +133,7 @@
var promotedBound = (type as TypeParameterTypeImpl).promotedBound;
return TypeParameterTypeImpl(
- element2: type.element2,
+ element: type.element,
nullabilitySuffix: newNullability ?? type.nullabilitySuffix,
promotedBound: newPromotedBound ?? promotedBound,
alias: type.alias,
@@ -149,7 +149,7 @@
}
return TypeParameterTypeImpl(
- element2: type.element2,
+ element: type.element,
nullabilitySuffix: newNullability,
alias: type.alias,
);
@@ -373,7 +373,7 @@
}
var newTypeArguments = _typeArguments(
- type.element2.typeParameters,
+ type.element.typeParameters,
type.typeArguments,
);
@@ -390,7 +390,7 @@
var newNullability = visitNullability(type);
var parameters = const <TypeParameterElement>[];
- var element = type.element2;
+ var element = type.element;
if (element is InterfaceElement) {
parameters = element.typeParameters;
} else if (element is TypeAliasElement) {
diff --git a/pkg/analyzer/lib/src/dart/element/runtime_type_equality.dart b/pkg/analyzer/lib/src/dart/element/runtime_type_equality.dart
index 3f67085..924e8d1 100644
--- a/pkg/analyzer/lib/src/dart/element/runtime_type_equality.dart
+++ b/pkg/analyzer/lib/src/dart/element/runtime_type_equality.dart
@@ -88,7 +88,7 @@
@override
bool visitInterfaceType(InterfaceType T1, DartType T2) {
if (T2 is InterfaceType &&
- T1.element2 == T2.element2 &&
+ T1.element == T2.element &&
_compatibleNullability(T1, T2)) {
var T1_typeArguments = T1.typeArguments;
var T2_typeArguments = T2.typeArguments;
@@ -162,7 +162,7 @@
bool visitTypeParameterType(TypeParameterType T1, DartType T2) {
return T2 is TypeParameterType &&
_compatibleNullability(T1, T2) &&
- T1.element2 == T2.element2;
+ T1.element == T2.element;
}
@override
diff --git a/pkg/analyzer/lib/src/dart/element/subtype.dart b/pkg/analyzer/lib/src/dart/element/subtype.dart
index aa8e43b..74f2a96 100644
--- a/pkg/analyzer/lib/src/dart/element/subtype.dart
+++ b/pkg/analyzer/lib/src/dart/element/subtype.dart
@@ -83,7 +83,7 @@
T0 is TypeParameterTypeImpl) {
var S = T0.promotedBound;
if (S == null) {
- var B = T0.element2.bound ?? _objectQuestion;
+ var B = T0.element.bound ?? _objectQuestion;
return isSubtypeOf(B, _objectNone);
} else {
return isSubtypeOf(S, _objectNone);
@@ -185,7 +185,7 @@
if (T0 is TypeParameterTypeImpl &&
T1 is TypeParameterTypeImpl &&
T1.promotedBound == null &&
- T0.element2 == T1.element2) {
+ T0.element == T1.element) {
return true;
}
@@ -195,7 +195,7 @@
var T1_promotedBound = T1.promotedBound;
if (T1_promotedBound != null) {
var X1 = TypeParameterTypeImpl(
- element2: T1.element2,
+ element: T1.element,
nullabilitySuffix: T1.nullabilitySuffix,
);
return isSubtypeOf(T0, X1) && isSubtypeOf(T0, T1_promotedBound);
@@ -227,7 +227,7 @@
if (S0 != null && isSubtypeOf(S0, T1)) {
return true;
}
- var B0 = T0.element2.bound;
+ var B0 = T0.element.bound;
if (B0 != null && isSubtypeOf(B0, T1)) {
return true;
}
@@ -255,7 +255,7 @@
if (S0 != null && isSubtypeOf(S0, T1)) {
return true;
}
- var B0 = T0.element2.bound;
+ var B0 = T0.element.bound;
if (B0 != null && isSubtypeOf(B0, T1)) {
return true;
}
@@ -281,7 +281,7 @@
return true;
}
- var B0 = T0.element2.bound;
+ var B0 = T0.element.bound;
if (B0 != null && isSubtypeOf(B0, T1)) {
return true;
}
@@ -456,8 +456,8 @@
return false;
}
- var subElement = subType.element2;
- var superElement = superType.element2;
+ var subElement = subType.element;
+ var superElement = superType.element;
if (subElement == superElement) {
return _interfaceArguments(superElement, subType, superType);
}
@@ -468,7 +468,7 @@
}
for (var interface in subElement.allSupertypes) {
- if (interface.element2 == superElement) {
+ if (interface.element == superElement) {
var substitution = Substitution.fromInterfaceType(subType);
var substitutedInterface =
substitution.substituteType(interface) as InterfaceType;
diff --git a/pkg/analyzer/lib/src/dart/element/top_merge.dart b/pkg/analyzer/lib/src/dart/element/top_merge.dart
index 1d84ffe..b60f3b1 100644
--- a/pkg/analyzer/lib/src/dart/element/top_merge.dart
+++ b/pkg/analyzer/lib/src/dart/element/top_merge.dart
@@ -160,7 +160,7 @@
}
if (T is TypeParameterType && S is TypeParameterType) {
- if (T.element2 == S.element2) {
+ if (T.element == S.element) {
return T;
} else {
throw _TopMergeStateError(T, S, 'Not the same type parameters');
@@ -271,7 +271,7 @@
}
InterfaceType _interfaceTypes(InterfaceType T, InterfaceType S) {
- if (T.element2 != S.element2) {
+ if (T.element != S.element) {
throw _TopMergeStateError(T, S, 'Different class elements');
}
@@ -284,7 +284,7 @@
T_arguments.length,
(i) => topMerge(T_arguments[i], S_arguments[i]),
);
- return T.element2.instantiate(
+ return T.element.instantiate(
typeArguments: arguments,
nullabilitySuffix: NullabilitySuffix.none,
);
diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart
index 82bd2da..849404a 100644
--- a/pkg/analyzer/lib/src/dart/element/type.dart
+++ b/pkg/analyzer/lib/src/dart/element/type.dart
@@ -24,11 +24,15 @@
static final DynamicTypeImpl instance = DynamicTypeImpl._();
@override
- final DynamicElementImpl element2 = DynamicElementImpl();
+ final DynamicElementImpl element = DynamicElementImpl();
/// Prevent the creation of instances of this class.
DynamicTypeImpl._();
+ @Deprecated('Use element instead')
+ @override
+ DynamicElementImpl get element2 => element;
+
@override
int get hashCode => 1;
@@ -93,7 +97,11 @@
}) : parameters = _sortNamedParameters(parameters);
@override
- Null get element2 => null;
+ Null get element => null;
+
+ @Deprecated('Use element instead')
+ @override
+ Null get element2 => element;
@override
int get hashCode {
@@ -432,7 +440,7 @@
/// A concrete implementation of an [InterfaceType].
class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
@override
- final InterfaceElement element2;
+ final InterfaceElement element;
@override
final List<DartType> typeArguments;
@@ -450,17 +458,17 @@
List<MethodElement>? _methods;
InterfaceTypeImpl({
- required this.element2,
+ required this.element,
required this.typeArguments,
required this.nullabilitySuffix,
super.alias,
}) {
- var typeParameters = element2.typeParameters;
+ var typeParameters = element.typeParameters;
if (typeArguments.length != typeParameters.length) {
throw ArgumentError(
'[typeParameters.length: ${typeParameters.length}]'
'[typeArguments.length: ${typeArguments.length}]'
- '[element: $element2]'
+ '[element: $element]'
'[typeParameters: $typeParameters]'
'[typeArguments: $typeArguments]',
);
@@ -470,7 +478,7 @@
@override
List<PropertyAccessorElement> get accessors {
if (_accessors == null) {
- List<PropertyAccessorElement> accessors = element2.accessors;
+ List<PropertyAccessorElement> accessors = element.accessors;
var members = <PropertyAccessorElement>[];
for (int i = 0; i < accessors.length; i++) {
members.add(PropertyAccessorMember.from(accessors[i], this)!);
@@ -483,7 +491,7 @@
@override
List<InterfaceType> get allSupertypes {
var substitution = Substitution.fromInterfaceType(this);
- return element2.allSupertypes
+ return element.allSupertypes
.map((t) => substitution.substituteType(t) as InterfaceType)
.toList();
}
@@ -491,7 +499,7 @@
@override
List<ConstructorElement> get constructors {
if (_constructors == null) {
- List<ConstructorElement> constructors = element2.constructors;
+ List<ConstructorElement> constructors = element.constructors;
var members = <ConstructorElement>[];
for (int i = 0; i < constructors.length; i++) {
members.add(ConstructorMember.from(constructors[i], this));
@@ -501,111 +509,115 @@
return _constructors!;
}
+ @Deprecated('Use element instead')
+ @override
+ InterfaceElement get element2 => element;
+
@override
int get hashCode {
- return element2.hashCode;
+ return element.hashCode;
}
@override
List<InterfaceType> get interfaces {
- return _instantiateSuperTypes(element2.interfaces);
+ return _instantiateSuperTypes(element.interfaces);
}
@override
bool get isDartAsyncFuture {
- return element2.name == "Future" && element2.library.isDartAsync;
+ return element.name == "Future" && element.library.isDartAsync;
}
@override
bool get isDartAsyncFutureOr {
- return element2.name == "FutureOr" && element2.library.isDartAsync;
+ return element.name == "FutureOr" && element.library.isDartAsync;
}
@override
bool get isDartAsyncStream {
- return element2.name == "Stream" && element2.library.isDartAsync;
+ return element.name == "Stream" && element.library.isDartAsync;
}
@override
bool get isDartCoreBool {
- return element2.name == "bool" && element2.library.isDartCore;
+ return element.name == "bool" && element.library.isDartCore;
}
@override
bool get isDartCoreDouble {
- return element2.name == "double" && element2.library.isDartCore;
+ return element.name == "double" && element.library.isDartCore;
}
@override
bool get isDartCoreEnum {
- final element2 = this.element2;
- return element2 is ClassElement && element2.isDartCoreEnum;
+ final element = this.element;
+ return element is ClassElement && element.isDartCoreEnum;
}
@override
bool get isDartCoreFunction {
- return element2.name == "Function" && element2.library.isDartCore;
+ return element.name == "Function" && element.library.isDartCore;
}
@override
bool get isDartCoreInt {
- return element2.name == "int" && element2.library.isDartCore;
+ return element.name == "int" && element.library.isDartCore;
}
@override
bool get isDartCoreIterable {
- return element2.name == "Iterable" && element2.library.isDartCore;
+ return element.name == "Iterable" && element.library.isDartCore;
}
@override
bool get isDartCoreList {
- return element2.name == "List" && element2.library.isDartCore;
+ return element.name == "List" && element.library.isDartCore;
}
@override
bool get isDartCoreMap {
- return element2.name == "Map" && element2.library.isDartCore;
+ return element.name == "Map" && element.library.isDartCore;
}
@override
bool get isDartCoreNull {
- return element2.name == "Null" && element2.library.isDartCore;
+ return element.name == "Null" && element.library.isDartCore;
}
@override
bool get isDartCoreNum {
- return element2.name == "num" && element2.library.isDartCore;
+ return element.name == "num" && element.library.isDartCore;
}
@override
bool get isDartCoreObject {
- return element2.name == "Object" && element2.library.isDartCore;
+ return element.name == "Object" && element.library.isDartCore;
}
@override
bool get isDartCoreRecord {
- return element2.name == "Record" && element2.library.isDartCore;
+ return element.name == "Record" && element.library.isDartCore;
}
@override
bool get isDartCoreSet {
- return element2.name == "Set" && element2.library.isDartCore;
+ return element.name == "Set" && element.library.isDartCore;
}
@override
bool get isDartCoreString {
- return element2.name == "String" && element2.library.isDartCore;
+ return element.name == "String" && element.library.isDartCore;
}
@override
bool get isDartCoreSymbol {
- return element2.name == "Symbol" && element2.library.isDartCore;
+ return element.name == "Symbol" && element.library.isDartCore;
}
@override
List<MethodElement> get methods {
if (_methods == null) {
- List<MethodElement> methods = element2.methods;
+ List<MethodElement> methods = element.methods;
var members = <MethodElement>[];
for (int i = 0; i < methods.length; i++) {
members.add(MethodMember.from(methods[i], this)!);
@@ -617,17 +629,17 @@
@override
List<InterfaceType> get mixins {
- List<InterfaceType> mixins = element2.mixins;
+ List<InterfaceType> mixins = element.mixins;
return _instantiateSuperTypes(mixins);
}
@Deprecated('Check element, or use getDisplayString()')
@override
- String get name => element2.name;
+ String get name => element.name;
@override
InterfaceType? get superclass {
- var supertype = element2.supertype;
+ var supertype = element.supertype;
if (supertype == null) {
return null;
}
@@ -638,9 +650,9 @@
@override
List<InterfaceType> get superclassConstraints {
- final element2 = this.element2;
- if (element2 is MixinElement) {
- final constraints = element2.superclassConstraints;
+ final element = this.element;
+ if (element is MixinElement) {
+ final constraints = element.superclassConstraints;
return _instantiateSuperTypes(constraints);
} else {
return [];
@@ -648,7 +660,7 @@
}
InheritanceManager3 get _inheritanceManager =>
- (element2.library.session as AnalysisSessionImpl).inheritanceManager;
+ (element.library.session as AnalysisSessionImpl).inheritanceManager;
@override
bool operator ==(Object other) {
@@ -659,7 +671,7 @@
if (other.nullabilitySuffix != nullabilitySuffix) {
return false;
}
- return other.element2 == element2 &&
+ return other.element == element &&
TypeImpl.equalArrays(other.typeArguments, typeArguments);
}
return false;
@@ -685,12 +697,12 @@
@override
InterfaceType? asInstanceOf(InterfaceElement targetElement) {
- if (element2 == targetElement) {
+ if (element == targetElement) {
return this;
}
- for (var rawInterface in element2.allSupertypes) {
- if (rawInterface.element2 == targetElement) {
+ for (var rawInterface in element.allSupertypes) {
+ if (rawInterface.element == targetElement) {
var substitution = Substitution.fromInterfaceType(this);
return substitution.substituteType(rawInterface) as InterfaceType;
}
@@ -701,15 +713,15 @@
@override
PropertyAccessorElement? getGetter(String getterName) =>
- PropertyAccessorMember.from(element2.getGetter(getterName), this);
+ PropertyAccessorMember.from(element.getGetter(getterName), this);
@override
MethodElement? getMethod(String methodName) =>
- MethodMember.from(element2.getMethod(methodName), this);
+ MethodMember.from(element.getMethod(methodName), this);
@override
PropertyAccessorElement? getSetter(String setterName) =>
- PropertyAccessorMember.from(element2.getSetter(setterName), this);
+ PropertyAccessorMember.from(element.getSetter(setterName), this);
@override
ConstructorElement? lookUpConstructor(
@@ -717,9 +729,9 @@
// prepare base ConstructorElement
ConstructorElement? constructorElement;
if (constructorName == null) {
- constructorElement = element2.unnamedConstructor;
+ constructorElement = element.unnamedConstructor;
} else {
- constructorElement = element2.getNamedConstructor(constructorName);
+ constructorElement = element.getNamedConstructor(constructorName);
}
// not found or not accessible
if (constructorElement == null ||
@@ -762,8 +774,8 @@
}
if (recoveryStatic) {
- final element2 = this.element2 as AbstractClassElementImpl;
- return element2.lookupStaticGetter(name, library);
+ final element = this.element as AbstractClassElementImpl;
+ return element.lookupStaticGetter(name, library);
}
return null;
@@ -801,8 +813,8 @@
}
if (recoveryStatic) {
- final element2 = this.element2 as AbstractClassElementImpl;
- return element2.lookupStaticMethod(name, library);
+ final element = this.element as AbstractClassElementImpl;
+ return element.lookupStaticMethod(name, library);
}
return null;
@@ -840,8 +852,8 @@
}
if (recoveryStatic) {
- final element2 = this.element2 as AbstractClassElementImpl;
- return element2.lookupStaticSetter(name, library);
+ final element = this.element as AbstractClassElementImpl;
+ return element.lookupStaticSetter(name, library);
}
return null;
@@ -860,7 +872,7 @@
if (this.nullabilitySuffix == nullabilitySuffix) return this;
return InterfaceTypeImpl(
- element2: element2,
+ element: element,
typeArguments: typeArguments,
nullabilitySuffix: nullabilitySuffix,
);
@@ -869,7 +881,7 @@
List<InterfaceType> _instantiateSuperTypes(List<InterfaceType> defined) {
if (defined.isEmpty) return defined;
- var typeParameters = element2.typeParameters;
+ var typeParameters = element.typeParameters;
if (typeParameters.isEmpty) return defined;
var substitution = Substitution.fromInterfaceType(this);
@@ -907,7 +919,7 @@
static final NeverTypeImpl instance = NeverTypeImpl._(NullabilitySuffix.none);
@override
- final NeverElementImpl element2 = NeverElementImpl.instance;
+ final NeverElementImpl element = NeverElementImpl.instance;
@override
final NullabilitySuffix nullabilitySuffix;
@@ -915,6 +927,10 @@
/// Prevent the creation of instances of this class.
NeverTypeImpl._(this.nullabilitySuffix);
+ @Deprecated('Use element instead')
+ @override
+ Element? get element2 => element;
+
@override
int get hashCode => 0;
@@ -992,7 +1008,11 @@
}) : namedFields = _sortNamedFields(namedFields);
@override
- Null get element2 => null;
+ Null get element => null;
+
+ @Deprecated('Use element instead')
+ @override
+ Null get element2 => element;
@override
int get hashCode {
@@ -1258,7 +1278,7 @@
/// A concrete implementation of a [TypeParameterType].
class TypeParameterTypeImpl extends TypeImpl implements TypeParameterType {
@override
- final TypeParameterElement element2;
+ final TypeParameterElement element;
@override
final NullabilitySuffix nullabilitySuffix;
@@ -1266,13 +1286,13 @@
/// An optional promoted bound on the type parameter.
///
/// 'null' indicates that the type parameter's bound has not been promoted and
- /// is therefore the same as the bound of [element2].
+ /// is therefore the same as the bound of [element].
final DartType? promotedBound;
/// Initialize a newly created type parameter type to be declared by the given
/// [element] and to have the given name.
TypeParameterTypeImpl({
- required this.element2,
+ required this.element,
required this.nullabilitySuffix,
this.promotedBound,
super.alias,
@@ -1280,13 +1300,17 @@
@override
DartType get bound =>
- promotedBound ?? element2.bound ?? DynamicTypeImpl.instance;
+ promotedBound ?? element.bound ?? DynamicTypeImpl.instance;
@override
- ElementLocation get definition => element2.location!;
+ ElementLocation get definition => element.location!;
+
+ @Deprecated('Use element instead')
+ @override
+ TypeParameterElement get element2 => element;
@override
- int get hashCode => element2.hashCode;
+ int get hashCode => element.hashCode;
@override
bool get isBottom {
@@ -1295,7 +1319,7 @@
// bounds form a loop. So we have to be more careful.
Set<TypeParameterElement> seenTypes = {};
TypeParameterType type = this;
- while (seenTypes.add(type.element2)) {
+ while (seenTypes.add(type.element)) {
var bound = type.bound;
if (bound is TypeParameterType) {
type = bound;
@@ -1309,7 +1333,7 @@
@Deprecated('Check element, or use getDisplayString()')
@override
- String get name => element2.name;
+ String get name => element.name;
@override
bool operator ==(Object other) {
@@ -1317,7 +1341,7 @@
return true;
}
- if (other is TypeParameterTypeImpl && other.element2 == element2) {
+ if (other is TypeParameterTypeImpl && other.element == element) {
if (other.nullabilitySuffix != nullabilitySuffix) {
return false;
}
@@ -1352,7 +1376,7 @@
@override
bool referencesAny(Set<TypeParameterElement> parameters) {
- return parameters.contains(element2);
+ return parameters.contains(element);
}
@Deprecated('Use TypeSystem.resolveToBound() instead')
@@ -1363,7 +1387,7 @@
return promotedBound.resolveToBound(objectType);
}
- var bound = element2.bound;
+ var bound = element.bound;
if (bound == null) {
return objectType;
}
@@ -1387,7 +1411,7 @@
TypeImpl withNullability(NullabilitySuffix nullabilitySuffix) {
if (this.nullabilitySuffix == nullabilitySuffix) return this;
return TypeParameterTypeImpl(
- element2: element2,
+ element: element,
nullabilitySuffix: nullabilitySuffix,
promotedBound: promotedBound,
);
@@ -1403,7 +1427,11 @@
VoidTypeImpl._();
@override
- Null get element2 => null;
+ Null get element => null;
+
+ @Deprecated('Use element instead')
+ @override
+ Null get element2 => element;
@override
int get hashCode => 2;
diff --git a/pkg/analyzer/lib/src/dart/element/type_algebra.dart b/pkg/analyzer/lib/src/dart/element/type_algebra.dart
index 3020df7..3844a5b 100644
--- a/pkg/analyzer/lib/src/dart/element/type_algebra.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_algebra.dart
@@ -31,7 +31,7 @@
var map = <TypeParameterElement, DartType>{};
for (int i = 0; i < typeParameters.length; ++i) {
map[typeParameters[i]] = TypeParameterTypeImpl(
- element2: freshParameters[i],
+ element: freshParameters[i],
nullabilitySuffix: NullabilitySuffix.none,
);
}
@@ -184,7 +184,7 @@
if (type.typeArguments.isEmpty) {
return _NullSubstitution.instance;
}
- return fromPairs(type.element2.typeParameters, type.typeArguments);
+ return fromPairs(type.element.typeParameters, type.typeArguments);
}
/// Substitutes each parameter to the type it maps to in [map].
@@ -320,7 +320,7 @@
@override
DartType getSubstitute(TypeParameterElement parameter, bool upperBound) {
return TypeParameterTypeImpl(
- element2: parameter,
+ element: parameter,
nullabilitySuffix: NullabilitySuffix.star,
);
}
@@ -515,7 +515,7 @@
}
return InterfaceTypeImpl(
- element2: type.element2,
+ element: type.element,
typeArguments: typeArguments,
nullabilitySuffix: type.nullabilitySuffix,
alias: alias,
@@ -537,7 +537,7 @@
return NamedTypeBuilder(
type.linker,
type.typeSystem,
- type.element2,
+ type.element,
arguments,
type.nullabilitySuffix,
);
@@ -584,7 +584,7 @@
@override
DartType visitTypeParameterType(TypeParameterType type) {
- var argument = getSubstitute(type.element2);
+ var argument = getSubstitute(type.element);
if (argument == null) {
return type;
}
diff --git a/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart b/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
index 7c53947..6716a69 100644
--- a/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
@@ -109,8 +109,8 @@
var P_nullability = P.nullabilitySuffix;
if (P is TypeParameterType &&
P_nullability == NullabilitySuffix.none &&
- _typeParameters.contains(P.element2)) {
- _addUpper(P.element2, Q);
+ _typeParameters.contains(P.element)) {
+ _addUpper(P.element, Q);
return true;
}
@@ -119,8 +119,8 @@
var Q_nullability = Q.nullabilitySuffix;
if (Q is TypeParameterType &&
Q_nullability == NullabilitySuffix.none &&
- _typeParameters.contains(Q.element2)) {
- _addLower(Q.element2, P);
+ _typeParameters.contains(Q.element)) {
+ _addLower(Q.element, P);
return true;
}
@@ -308,7 +308,7 @@
// Note: we have already eliminated the case that `X` is a variable in `L`.
if (P_nullability == NullabilitySuffix.none && P is TypeParameterTypeImpl) {
var rewind = _constraints.length;
- var B = P.promotedBound ?? P.element2.bound;
+ var B = P.promotedBound ?? P.element.bound;
if (B != null && trySubtypeMatch(B, Q, leftSchema)) {
return true;
}
@@ -547,7 +547,7 @@
// holds under constraints `C0 + ... + Ck`:
// If `Mi` is a subtype match for `Ni` with respect to L under
// constraints `Ci`.
- if (P.element2 == Q.element2) {
+ if (P.element == Q.element) {
if (!_interfaceType_arguments(P, Q, leftSchema)) {
return false;
}
@@ -559,10 +559,10 @@
// If `C1<B0, ..., Bj>` is a superinterface of `C0<M0, ..., Mk>` and
// `C1<B0, ..., Bj>` is a subtype match for `C1<N0, ..., Nj>` with
// respect to `L` under constraints `C`.
- var C0 = P.element2;
- var C1 = Q.element2;
+ var C0 = P.element;
+ var C1 = Q.element;
for (var interface in C0.allSupertypes) {
- if (interface.element2 == C1) {
+ if (interface.element == C1) {
var substitution = Substitution.fromInterfaceType(P);
return _interfaceType_arguments(
substitution.substituteType(interface) as InterfaceType,
@@ -582,13 +582,13 @@
InterfaceType Q,
bool leftSchema,
) {
- assert(P.element2 == Q.element2);
+ assert(P.element == Q.element);
var rewind = _constraints.length;
for (var i = 0; i < P.typeArguments.length; i++) {
var variance =
- (P.element2.typeParameters[i] as TypeParameterElementImpl).variance;
+ (P.element.typeParameters[i] as TypeParameterElementImpl).variance;
var M = P.typeArguments[i];
var N = Q.typeArguments[i];
if ((variance.isCovariant || variance.isInvariant) &&
diff --git a/pkg/analyzer/lib/src/dart/element/type_demotion.dart b/pkg/analyzer/lib/src/dart/element/type_demotion.dart
index 5647d53..4839abe 100644
--- a/pkg/analyzer/lib/src/dart/element/type_demotion.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_demotion.dart
@@ -36,7 +36,7 @@
var typeImpl = type as TypeParameterTypeImpl;
if (typeImpl.promotedBound != null) {
return TypeParameterTypeImpl(
- element2: type.element2,
+ element: type.element,
nullabilitySuffix: newNullability ?? type.nullabilitySuffix,
alias: type.alias,
);
diff --git a/pkg/analyzer/lib/src/dart/element/type_provider.dart b/pkg/analyzer/lib/src/dart/element/type_provider.dart
index 5e32f6c..719c256 100644
--- a/pkg/analyzer/lib/src/dart/element/type_provider.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_provider.dart
@@ -80,7 +80,7 @@
abstract class TypeProviderBase implements TypeProvider {
@override
bool isObjectGetter(String id) {
- var element = objectType.element2.getGetter(id);
+ var element = objectType.element.getGetter(id);
return element != null && !element.isStatic;
}
@@ -91,7 +91,7 @@
@override
bool isObjectMethod(String id) {
- var element = objectType.element2.getMethod(id);
+ var element = objectType.element.getMethod(id);
return element != null && !element.isStatic;
}
}
@@ -241,7 +241,7 @@
var element = enumElement;
if (element != null) {
_enumType = InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: const [],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -258,7 +258,7 @@
@override
InterfaceType get futureDynamicType {
return _futureDynamicType ??= InterfaceTypeImpl(
- element2: futureElement,
+ element: futureElement,
typeArguments: [dynamicType],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -272,7 +272,7 @@
@override
InterfaceType get futureNullType {
return _futureNullType ??= InterfaceTypeImpl(
- element2: futureElement,
+ element: futureElement,
typeArguments: [nullType],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -286,7 +286,7 @@
@override
InterfaceType get futureOrNullType {
return _futureOrNullType ??= InterfaceTypeImpl(
- element2: futureOrElement,
+ element: futureOrElement,
typeArguments: [nullType],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -309,7 +309,7 @@
@override
InterfaceType get iterableDynamicType {
return _iterableDynamicType ??= InterfaceTypeImpl(
- element2: iterableElement,
+ element: iterableElement,
typeArguments: [dynamicType],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -323,7 +323,7 @@
@override
InterfaceType get iterableObjectType {
return _iterableObjectType ??= InterfaceTypeImpl(
- element2: iterableElement,
+ element: iterableElement,
typeArguments: [objectType],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -342,7 +342,7 @@
@override
InterfaceType get mapObjectObjectType {
return _mapObjectObjectType ??= InterfaceTypeImpl(
- element2: mapElement,
+ element: mapElement,
typeArguments: [objectType, objectType],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -419,7 +419,7 @@
@override
InterfaceType get streamDynamicType {
return _streamDynamicType ??= InterfaceTypeImpl(
- element2: streamElement,
+ element: streamElement,
typeArguments: [dynamicType],
nullabilitySuffix: _nullabilitySuffix,
);
@@ -553,14 +553,14 @@
if (typeParameters.isNotEmpty) {
typeArguments = typeParameters.map((e) {
return TypeParameterTypeImpl(
- element2: e,
+ element: e,
nullabilitySuffix: _nullabilitySuffix,
);
}).toList(growable: false);
}
return InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: typeArguments,
nullabilitySuffix: _nullabilitySuffix,
);
diff --git a/pkg/analyzer/lib/src/dart/element/type_schema.dart b/pkg/analyzer/lib/src/dart/element/type_schema.dart
index cda14dd..75103b7 100644
--- a/pkg/analyzer/lib/src/dart/element/type_schema.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_schema.dart
@@ -23,7 +23,11 @@
UnknownInferredType._();
@override
- Element? get element2 => null;
+ Element? get element => null;
+
+ @Deprecated('Use element instead')
+ @override
+ Element? get element2 => element;
@override
int get hashCode => 1;
diff --git a/pkg/analyzer/lib/src/dart/element/type_system.dart b/pkg/analyzer/lib/src/dart/element/type_system.dart
index fd97800..584a403 100644
--- a/pkg/analyzer/lib/src/dart/element/type_system.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_system.dart
@@ -332,7 +332,7 @@
}
}
return candidates
- .where((type) => type.element2.typeParameters.isNotEmpty)
+ .where((type) => type.element.typeParameters.isNotEmpty)
.toList();
}
@@ -345,7 +345,7 @@
FunctionType? getCallMethodType(DartType t) {
if (t is InterfaceType) {
return t
- .lookUpMethod2(FunctionElement.CALL_METHOD_NAME, t.element2.library)
+ .lookUpMethod2(FunctionElement.CALL_METHOD_NAME, t.element.library)
?.type;
}
return null;
@@ -372,7 +372,7 @@
}
visitedTypes.add(type);
if (type is TypeParameterType) {
- var element = type.element2;
+ var element = type.element;
if ((candidates == null || candidates.contains(element)) &&
!boundTypeParameters.contains(element)) {
parameters ??= <TypeParameterElement>[];
@@ -562,7 +562,7 @@
return type.instantiate(typeArguments);
} else if (type is InterfaceTypeImpl) {
// TODO(scheglov) Use `ClassElement.instantiate()`, don't use raw types.
- return type.element2.instantiate(
+ return type.element.instantiate(
typeArguments: typeArguments,
nullabilitySuffix: type.nullabilitySuffix,
);
@@ -740,7 +740,7 @@
return result;
}
- T = type.element2.bound;
+ T = type.element.bound;
if (T != null) {
var result = isBottom(T);
assert(type.isBottom == result);
@@ -762,7 +762,7 @@
}
if (type is TypeParameterTypeImpl) {
- var bound = type.element2.bound;
+ var bound = type.element.bound;
if (bound != null && isDynamicBounded(bound)) {
return true;
}
@@ -798,7 +798,7 @@
}
if (type is TypeParameterTypeImpl) {
- var bound = type.element2.bound;
+ var bound = type.element.bound;
if (bound != null && isFunctionBounded(bound)) {
return true;
}
@@ -884,8 +884,8 @@
// is anything except none by this point.
assert(T_nullability == NullabilitySuffix.none);
assert(S_nullability == NullabilitySuffix.none);
- var T_element = T.element2;
- var S_element = S.element2;
+ var T_element = T.element;
+ var S_element = S.element;
// MOREBOTTOM(X&T, Y&S) = MOREBOTTOM(T, S)
var T_promotedBound = T.promotedBound;
@@ -1026,7 +1026,7 @@
} else if (type is InterfaceType && type.isDartAsyncFutureOr) {
return isNonNullable(type.typeArguments[0]);
} else if (type is TypeParameterType) {
- var bound = type.element2.bound;
+ var bound = type.element.bound;
return bound != null && isNonNullable(bound);
}
return true;
@@ -1313,13 +1313,13 @@
if (type.isDartCoreNull) return NeverTypeImpl.instance;
if (type is TypeParameterTypeImpl) {
- var element = type.element2;
+ var element = type.element;
// NonNull(X & T) = X & NonNull(T)
if (type.promotedBound != null) {
var promotedBound = promoteToNonNull(type.promotedBound!);
return TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: NullabilitySuffix.none,
promotedBound: promotedBound,
);
@@ -1333,7 +1333,7 @@
promotedBound = null;
}
return TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: NullabilitySuffix.none,
promotedBound: promotedBound,
);
@@ -1428,7 +1428,7 @@
freshTypeParameters.add(freshTypeParameter);
freshTypeParameterTypes.add(
TypeParameterTypeImpl(
- element2: freshTypeParameter,
+ element: freshTypeParameter,
nullabilitySuffix: NullabilitySuffix.none,
),
);
@@ -1497,7 +1497,7 @@
return resolveToBound(promotedBound);
}
- final bound = type.element2.bound;
+ final bound = type.element.bound;
if (bound == null) {
return isNonNullableByDefault ? objectQuestion : objectStar;
}
@@ -1592,9 +1592,9 @@
// `U` to `S` where `S <: U`, yielding a type parameter `T extends S`.
if (from is TypeParameterType) {
if (isSubtypeOf(to, from.bound)) {
- var declaration = from.element2.declaration;
+ var declaration = from.element.declaration;
return TypeParameterTypeImpl(
- element2: declaration,
+ element: declaration,
nullabilitySuffix: _promotedTypeParameterTypeNullability(
from.nullabilitySuffix,
to.nullabilitySuffix,
@@ -1616,7 +1616,7 @@
if (type is FunctionType) {
return type.typeFormals;
} else if (type is InterfaceType) {
- return type.element2.typeParameters;
+ return type.element.typeParameters;
} else {
return const <TypeParameterElement>[];
}
diff --git a/pkg/analyzer/lib/src/dart/element/well_bounded.dart b/pkg/analyzer/lib/src/dart/element/well_bounded.dart
index 7eada0f..9ca8629 100644
--- a/pkg/analyzer/lib/src/dart/element/well_bounded.dart
+++ b/pkg/analyzer/lib/src/dart/element/well_bounded.dart
@@ -84,8 +84,8 @@
typeParameters = alias.element.typeParameters;
typeArguments = alias.typeArguments;
} else if (type is InterfaceType) {
- elementName = type.element2.name;
- typeParameters = type.element2.typeParameters;
+ elementName = type.element.name;
+ typeParameters = type.element.typeParameters;
typeArguments = type.typeArguments;
} else {
return const RegularBoundedTypeResult._();
diff --git a/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart
index 79044b5..3bff573 100644
--- a/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart
@@ -242,43 +242,43 @@
// prefix.*
if (element1 is PrefixElement) {
if (name2 != null) {
- var element2 = element1.scope.lookup(name2.name).getter;
- name2.staticElement = element2;
+ var element = element1.scope.lookup(name2.name).getter;
+ name2.staticElement = element;
// prefix.Class(args) or prefix.Class.CONST
- if (element2 is InterfaceElement) {
- if (element2 is ClassElement && argumentList != null) {
+ if (element is InterfaceElement) {
+ if (element is ClassElement && argumentList != null) {
_classConstructorInvocation(
- node, element2, name3, argumentList, whyNotPromotedList);
+ node, element, name3, argumentList, whyNotPromotedList);
} else {
- _classGetter(node, element2, name3, whyNotPromotedList);
+ _classGetter(node, element, name3, whyNotPromotedList);
}
return;
}
// prefix.Extension.CONST
- if (element2 is ExtensionElement) {
- _extensionGetter(node, element2, name3, whyNotPromotedList);
+ if (element is ExtensionElement) {
+ _extensionGetter(node, element, name3, whyNotPromotedList);
return;
}
// prefix.CONST
- if (element2 is PropertyAccessorElement) {
- _propertyAccessorElement(node, name2, element2, whyNotPromotedList);
+ if (element is PropertyAccessorElement) {
+ _propertyAccessorElement(node, name2, element, whyNotPromotedList);
return;
}
// prefix.TypeAlias(args) or prefix.TypeAlias.CONST
- if (element2 is TypeAliasElement) {
- var aliasedType = element2.aliasedType;
+ if (element is TypeAliasElement) {
+ var aliasedType = element.aliasedType;
var argumentList = node.arguments;
if (aliasedType is InterfaceType && argumentList != null) {
- _typeAliasConstructorInvocation(node, element2, name3, aliasedType,
+ _typeAliasConstructorInvocation(node, element, name3, aliasedType,
argumentList, whyNotPromotedList);
} else {
- _typeAliasGetter(node, element2, name3, whyNotPromotedList);
+ _typeAliasGetter(node, element, name3, whyNotPromotedList);
}
return;
}
// undefined
- if (element2 == null) {
+ if (element == null) {
_errorReporter.reportErrorForNode(
CompileTimeErrorCode.UNDEFINED_ANNOTATION,
node,
@@ -374,7 +374,7 @@
ExecutableElement? getter;
var aliasedType = typeAliasElement.aliasedType;
if (aliasedType is InterfaceType) {
- var classElement = aliasedType.element2;
+ var classElement = aliasedType.element;
if (getterName != null) {
getter = classElement.getGetter(getterName.name);
getter = _resolver.toLegacyElement(getter);
diff --git a/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart b/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart
index 03f5026..efcbcd3 100644
--- a/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart
@@ -184,7 +184,7 @@
node: node,
typeIdentifier: target,
constructorIdentifier: methodName,
- classElement: aliasedType.element2,
+ classElement: aliasedType.element,
);
}
}
@@ -209,7 +209,7 @@
node: node,
typeNameIdentifier: target,
constructorIdentifier: methodName,
- classElement: aliasedType.element2,
+ classElement: aliasedType.element,
);
}
}
@@ -263,7 +263,7 @@
// X.named
return _toConstructorReference_prefixed(
node: node,
- classElement: aliasedType.element2,
+ classElement: aliasedType.element,
);
}
}
@@ -352,7 +352,7 @@
node: node,
receiver: receiverIdentifier,
typeArguments: typeArguments,
- classElement: aliasedType.element2,
+ classElement: aliasedType.element,
);
}
}
diff --git a/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart
index f6380a7..61983de 100644
--- a/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart
@@ -55,7 +55,7 @@
if (enclosingElement is TypeAliasElement) {
final aliasedType = enclosingElement.aliasedType;
enclosingElement =
- aliasedType is InterfaceType ? aliasedType.element2 : null;
+ aliasedType is InterfaceType ? aliasedType.element : null;
}
// TODO(srawlins): Handle `enclosingElement` being a function typedef:
// typedef F<T> = void Function(); var a = F<int>.extensionOnType;`.
diff --git a/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart
index 416c3ce..beb03d8 100644
--- a/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart
@@ -163,7 +163,7 @@
// Otherwise, a 'call' method on the interface, or on an applicable
// extension method applies.
return type.lookUpMethod2(
- FunctionElement.CALL_METHOD_NAME, type.element2.library) ??
+ FunctionElement.CALL_METHOD_NAME, type.element.library) ??
_extensionResolver
.findExtension(type, node, FunctionElement.CALL_METHOD_NAME)
.getter;
@@ -233,7 +233,7 @@
// If the type of the function is a type parameter, the tearoff is
// disallowed, reported in [_resolveDisallowedExpression]. Use the type
// parameter's bound here in an attempt to assign the intended types.
- rawType = rawType.element2.bound;
+ rawType = rawType.element.bound;
}
if (rawType is FunctionType) {
@@ -846,7 +846,7 @@
} else if (receiverElement is TypeAliasElement) {
var aliasedType = receiverElement.aliasedType;
if (aliasedType is InterfaceType) {
- var element = _resolveStaticElement(aliasedType.element2, name);
+ var element = _resolveStaticElement(aliasedType.element, name);
name.staticElement = element;
return element?.referenceType;
} else {
diff --git a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
index ee8890ef5..d2c10b9 100644
--- a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
@@ -142,7 +142,7 @@
var aliasedType = element.aliasedType;
if (aliasedType is InterfaceType) {
_resolveReceiverTypeLiteral(
- node, aliasedType.element2, nameNode, name, whyNotPromotedList,
+ node, aliasedType.element, nameNode, name, whyNotPromotedList,
contextType: contextType);
return;
}
@@ -799,7 +799,7 @@
String receiverClassName = '<unknown>';
if (receiverType is InterfaceType) {
- receiverClassName = receiverType.element2.name;
+ receiverClassName = receiverType.element.name;
} else if (receiverType is FunctionType) {
receiverClassName = 'Function';
}
@@ -821,7 +821,7 @@
List<WhyNotPromotedGetter> whyNotPromotedList,
{required DartType? contextType}) {
if (node.isCascaded) {
- receiver = _typeType.element2;
+ receiver = _typeType.element;
}
var element = _resolveElement(receiver, nameNode);
diff --git a/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
index 0465c72..d6643e5 100644
--- a/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
@@ -238,7 +238,7 @@
if (element is InterfaceElement) {
if (identical(node, withClause_namedType)) {
for (var mixin in enclosingClass!.mixins) {
- if (mixin.element2 == element) {
+ if (mixin.element == element) {
return mixin;
}
}
diff --git a/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart
index e113b09..1372067 100644
--- a/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart
@@ -391,7 +391,7 @@
var aliasedType = targetElement.aliasedType;
if (aliasedType is InterfaceType) {
return _resolveTargetInterfaceElement(
- typeReference: aliasedType.element2,
+ typeReference: aliasedType.element,
isCascaded: isCascaded,
propertyName: propertyName,
hasRead: hasRead,
@@ -634,7 +634,7 @@
required bool hasWrite,
}) {
if (isCascaded) {
- typeReference = _resolver.typeProvider.typeType.element2;
+ typeReference = _resolver.typeProvider.typeType.element;
}
ExecutableElement? readElement;
@@ -766,7 +766,7 @@
if (hasRead) {
var name = Name(_definingLibrary.source.uri, propertyName.name);
readElement = _resolver.inheritance
- .getMember2(targetType.element2, name, forSuper: true);
+ .getMember2(targetType.element, name, forSuper: true);
if (readElement != null) {
readElement = _resolver.toLegacyElement(readElement);
@@ -776,7 +776,7 @@
// But we would like to give the user at least some resolution.
// So, we retry simply looking for an inherited member.
readElement =
- _resolver.inheritance.getInherited2(targetType.element2, name);
+ _resolver.inheritance.getInherited2(targetType.element, name);
if (readElement != null) {
errorReporter.reportErrorForNode(
CompileTimeErrorCode.ABSTRACT_SUPER_MEMBER_REFERENCE,
diff --git a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
index 3d8d487..9103a58 100644
--- a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
@@ -1458,7 +1458,7 @@
DartType type = namedType.typeOrThrow;
if (type is InterfaceType) {
- final element = type.element2;
+ final element = type.element;
if (element is EnumElement || element is MixinElement && asClass) {
_errorReporter.reportErrorForNode(errorCode, namedType);
return;
diff --git a/pkg/analyzer/lib/src/dart/resolver/scope.dart b/pkg/analyzer/lib/src/dart/resolver/scope.dart
index 30cf781..9249da9 100644
--- a/pkg/analyzer/lib/src/dart/resolver/scope.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/scope.dart
@@ -185,7 +185,7 @@
// which is not possible for `dynamic`.
if (library.isDartCore) {
definedNames['dynamic'] = DynamicElementImpl.instance;
- definedNames['Never'] = NeverTypeImpl.instance.element2;
+ definedNames['Never'] = NeverTypeImpl.instance.element;
}
return Namespace(definedNames);
diff --git a/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart
index f220df5..9f8c075 100644
--- a/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart
@@ -255,7 +255,7 @@
_needsGetterError = _getterRequested == null;
if (_getterRequested == null && recoverWithStatic) {
- var classElement = type.element2 as AbstractClassElementImpl;
+ var classElement = type.element as AbstractClassElementImpl;
_getterRecovery ??=
classElement.lookupStaticGetter(_name, _definingLibrary) ??
classElement.lookupStaticMethod(_name, _definingLibrary);
@@ -268,7 +268,7 @@
_needsSetterError = _setterRequested == null;
if (_setterRequested == null && recoverWithStatic) {
- var classElement = type.element2 as AbstractClassElementImpl;
+ var classElement = type.element as AbstractClassElementImpl;
_setterRecovery ??=
classElement.lookupStaticSetter(_name, _definingLibrary);
_needsSetterError = _setterRecovery == null;
diff --git a/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart
index 7440121..203305e 100644
--- a/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart
@@ -683,11 +683,11 @@
// The literal is ambiguous, and further analysis won't resolve the
// ambiguity. Leave it as neither a set nor a map.
} else if (literalType is InterfaceType &&
- literalType.element2 == _typeProvider.mapElement) {
+ literalType.element == _typeProvider.mapElement) {
node.becomeMap();
} else {
assert(literalType is InterfaceType &&
- literalType.element2 == _typeProvider.setElement);
+ literalType.element == _typeProvider.setElement);
node.becomeSet();
}
if (_strictInference &&
diff --git a/pkg/analyzer/lib/src/dart/resolver/variance.dart b/pkg/analyzer/lib/src/dart/resolver/variance.dart
index db8599f..b248774 100644
--- a/pkg/analyzer/lib/src/dart/resolver/variance.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/variance.dart
@@ -27,7 +27,7 @@
/// Computes the variance of the [typeParameter] in the [type].
factory Variance(TypeParameterElement typeParameter, DartType type) {
if (type is TypeParameterType) {
- if (type.element2 == typeParameter) {
+ if (type.element == typeParameter) {
return covariant;
} else {
return unrelated;
@@ -36,7 +36,7 @@
var result = unrelated;
for (int i = 0; i < type.typeArguments.length; ++i) {
var argument = type.typeArguments[i];
- var parameter = type.element2.typeParameters[i];
+ var parameter = type.element.typeParameters[i];
// TODO (kallentu) : Clean up TypeParameterElementImpl casting once
// variance is added to the interface.
diff --git a/pkg/analyzer/lib/src/error/best_practices_verifier.dart b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
index d663d31..dcbd48e 100644
--- a/pkg/analyzer/lib/src/error/best_practices_verifier.dart
+++ b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
@@ -748,7 +748,7 @@
var type = node.typeOrThrow;
// Only report non-aliased, non-user-defined `Null?` and `dynamic?`. Do
// not report synthetic `dynamic` in place of an unresolved type.
- if ((type is InterfaceType && type.element2 == _nullType.element2 ||
+ if ((type is InterfaceType && type.element == _nullType.element ||
(type.isDynamic && name == 'dynamic')) &&
type.alias == null) {
_errorReporter.reportErrorForToken(
@@ -1017,17 +1017,17 @@
return true;
}
for (InterfaceType interface in element.mixins) {
- if (isOrInheritsImmutable(interface.element2, visited)) {
+ if (isOrInheritsImmutable(interface.element, visited)) {
return true;
}
}
for (InterfaceType mixin in element.interfaces) {
- if (isOrInheritsImmutable(mixin.element2, visited)) {
+ if (isOrInheritsImmutable(mixin.element, visited)) {
return true;
}
}
if (element.supertype != null) {
- return isOrInheritsImmutable(element.supertype!.element2, visited);
+ return isOrInheritsImmutable(element.supertype!.element, visited);
}
}
return false;
@@ -1046,11 +1046,11 @@
if (visited.add(element)) {
nonFinalFields = nonFinalInstanceFields(element);
nonFinalFields = nonFinalFields.followedBy(element.mixins.expand(
- (InterfaceType mixin) => nonFinalInstanceFields(mixin.element2)));
+ (InterfaceType mixin) => nonFinalInstanceFields(mixin.element)));
if (element.supertype != null) {
nonFinalFields = nonFinalFields.followedBy(
definedOrInheritedNonFinalInstanceFields(
- element.supertype!.element2, visited));
+ element.supertype!.element, visited));
}
}
return nonFinalFields;
@@ -1181,7 +1181,7 @@
// TODO(srawlins): Perhaps replace this with a getter on Element, like
// `Element.hasOrInheritsSealed`?
for (InterfaceType supertype in element.allSupertypes) {
- final superclass = supertype.element2;
+ final superclass = supertype.element;
if (superclass.hasSealed) {
if (!currentPackageContains(superclass)) {
if (element is MixinElement &&
diff --git a/pkg/analyzer/lib/src/error/correct_override.dart b/pkg/analyzer/lib/src/error/correct_override.dart
index cd2c317..5c38438 100644
--- a/pkg/analyzer/lib/src/error/correct_override.dart
+++ b/pkg/analyzer/lib/src/error/correct_override.dart
@@ -149,7 +149,7 @@
var superMembers = <_SuperMember>[];
for (var interface in interfaces) {
- var superMember = _correspondingMember(interface.element2, _thisMember);
+ var superMember = _correspondingMember(interface.element, _thisMember);
if (superMember != null) {
superMembers.add(
_SuperMember(interface, superMember),
diff --git a/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart b/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart
index c3164a2..c66c073 100644
--- a/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart
+++ b/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart
@@ -176,7 +176,7 @@
} else if (node is MethodInvocation &&
displayName == FunctionElement.CALL_METHOD_NAME) {
var invokeType = node.staticInvokeType as InterfaceType;
- var invokeClass = invokeType.element2;
+ var invokeClass = invokeType.element;
displayName = "${invokeClass.name}.${element.displayName}";
}
var message = _deprecatedMessage(element);
diff --git a/pkg/analyzer/lib/src/error/error_handler_verifier.dart b/pkg/analyzer/lib/src/error/error_handler_verifier.dart
index 5ba6a5c..0706474 100644
--- a/pkg/analyzer/lib/src/error/error_handler_verifier.dart
+++ b/pkg/analyzer/lib/src/error/error_handler_verifier.dart
@@ -251,8 +251,8 @@
/// Returns whether [element] represents the []
bool _isDartCoreAsyncType(DartType type, String typeName) =>
type is InterfaceType &&
- type.element2.name == typeName &&
- type.element2.library.isDartAsync;
+ type.element.name == typeName &&
+ type.element.library.isDartAsync;
}
/// Visits a function body, looking for return statements.
diff --git a/pkg/analyzer/lib/src/error/inheritance_override.dart b/pkg/analyzer/lib/src/error/inheritance_override.dart
index 1dba8ec..6eca3ba 100644
--- a/pkg/analyzer/lib/src/error/inheritance_override.dart
+++ b/pkg/analyzer/lib/src/error/inheritance_override.dart
@@ -368,7 +368,7 @@
/// corresponding instance members in each of [directSuperInterfaces].
void _checkDeclaredMembers(AstNode node, InterfaceType type,
{required int mixinIndex}) {
- var libraryUri = type.element2.library.source.uri;
+ var libraryUri = type.element.library.source.uri;
for (var method in type.methods) {
_checkDeclaredMember(node, libraryUri, method, mixinIndex: mixinIndex);
}
@@ -395,7 +395,7 @@
return false;
}
- final typeElement = type.element2;
+ final typeElement = type.element;
final classElement = this.classElement;
if (typeElement is ClassElement &&
@@ -476,7 +476,7 @@
return false;
}
- var interfaceElement = type.element2;
+ var interfaceElement = type.element;
if (interfaceElement is EnumElement) {
return false;
}
@@ -544,26 +544,26 @@
// n-case
final supertype = element.supertype;
if (supertype != null &&
- _checkForRecursiveInterfaceInheritance(supertype.element2, path)) {
+ _checkForRecursiveInterfaceInheritance(supertype.element, path)) {
return true;
}
for (InterfaceType type in element.mixins) {
- if (_checkForRecursiveInterfaceInheritance(type.element2, path)) {
+ if (_checkForRecursiveInterfaceInheritance(type.element, path)) {
return true;
}
}
if (element is MixinElement) {
for (InterfaceType type in element.superclassConstraints) {
- if (_checkForRecursiveInterfaceInheritance(type.element2, path)) {
+ if (_checkForRecursiveInterfaceInheritance(type.element, path)) {
return true;
}
}
}
for (InterfaceType type in element.interfaces) {
- if (_checkForRecursiveInterfaceInheritance(type.element2, path)) {
+ if (_checkForRecursiveInterfaceInheritance(type.element, path)) {
return true;
}
}
@@ -657,20 +657,20 @@
/// Return the error code that should be used when the given class [element]
/// references itself directly.
ErrorCode _getRecursiveErrorCode(InterfaceElement element) {
- if (element.supertype?.element2 == classElement) {
+ if (element.supertype?.element == classElement) {
return CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_EXTENDS;
}
if (element is MixinElement) {
for (InterfaceType type in element.superclassConstraints) {
- if (type.element2 == classElement) {
+ if (type.element == classElement) {
return CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_ON;
}
}
}
for (InterfaceType type in element.mixins) {
- if (type.element2 == classElement) {
+ if (type.element == classElement) {
return CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_WITH;
}
}
diff --git a/pkg/analyzer/lib/src/error/must_call_super_verifier.dart b/pkg/analyzer/lib/src/error/must_call_super_verifier.dart
index 7bbe7f8..ccd47a5 100644
--- a/pkg/analyzer/lib/src/error/must_call_super_verifier.dart
+++ b/pkg/analyzer/lib/src/error/must_call_super_verifier.dart
@@ -84,11 +84,11 @@
final superclasses = Queue<InterfaceElement?>();
void addToQueue(InterfaceElement element) {
- superclasses.addAll(element.mixins.map((i) => i.element2));
- superclasses.add(element.supertype?.element2);
+ superclasses.addAll(element.mixins.map((i) => i.element));
+ superclasses.add(element.supertype?.element);
if (element is MixinElement) {
superclasses
- .addAll(element.superclassConstraints.map((i) => i.element2));
+ .addAll(element.superclassConstraints.map((i) => i.element));
}
}
@@ -154,7 +154,7 @@
bool isConcrete(String name) {
var self = this;
if (self == null) return false;
- var element = self.element2;
+ var element = self.element;
return element.lookUpConcreteMethod(name, element.library) != null;
}
}
diff --git a/pkg/analyzer/lib/src/error/null_safe_api_verifier.dart b/pkg/analyzer/lib/src/error/null_safe_api_verifier.dart
index 3336cd2..7043bd2 100644
--- a/pkg/analyzer/lib/src/error/null_safe_api_verifier.dart
+++ b/pkg/analyzer/lib/src/error/null_safe_api_verifier.dart
@@ -47,7 +47,7 @@
final targetType = node.realTarget?.staticType;
if (targetType is! InterfaceType) return;
- final targetClass = targetType.element2;
+ final targetClass = targetType.element;
if (targetClass.library.isDartAsync == true &&
targetClass.name == 'Completer' &&
diff --git a/pkg/analyzer/lib/src/error/type_arguments_verifier.dart b/pkg/analyzer/lib/src/error/type_arguments_verifier.dart
index 56b58ed..ce1acff 100644
--- a/pkg/analyzer/lib/src/error/type_arguments_verifier.dart
+++ b/pkg/analyzer/lib/src/error/type_arguments_verifier.dart
@@ -330,8 +330,8 @@
typeParameters = alias.element.typeParameters;
typeArguments = alias.typeArguments;
} else if (type is InterfaceType) {
- elementName = type.element2.name;
- typeParameters = type.element2.typeParameters;
+ elementName = type.element.name;
+ typeParameters = type.element.typeParameters;
typeArguments = type.typeArguments;
} else {
return;
diff --git a/pkg/analyzer/lib/src/generated/element_resolver.dart b/pkg/analyzer/lib/src/generated/element_resolver.dart
index 634659b..1ed66e5 100644
--- a/pkg/analyzer/lib/src/generated/element_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/element_resolver.dart
@@ -505,7 +505,7 @@
} else if (element is TypeAliasElement) {
var aliasedType = element.aliasedType;
if (aliasedType is InterfaceType) {
- return aliasedType.element2;
+ return aliasedType.element;
}
}
}
diff --git a/pkg/analyzer/lib/src/generated/error_detection_helpers.dart b/pkg/analyzer/lib/src/generated/error_detection_helpers.dart
index d774a53..e3f078a 100644
--- a/pkg/analyzer/lib/src/generated/error_detection_helpers.dart
+++ b/pkg/analyzer/lib/src/generated/error_detection_helpers.dart
@@ -237,7 +237,7 @@
type is InterfaceType &&
type.nullabilitySuffix != NullabilitySuffix.question) {
return type.lookUpMethod2(
- FunctionElement.CALL_METHOD_NAME, type.element2.library);
+ FunctionElement.CALL_METHOD_NAME, type.element.library);
} else {
return null;
}
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index c4a00c0..5ff0860 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -282,7 +282,7 @@
/// The language team is thinking about adding abstract fields, or external
/// fields. But for now we will ignore such fields in `Struct` subtypes.
bool get _isEnclosingClassFfiStruct {
- var superClass = _enclosingClass?.supertype?.element2;
+ var superClass = _enclosingClass?.supertype?.element;
return superClass != null &&
superClass.library.name == 'dart.ffi' &&
superClass.name == 'Struct';
@@ -291,7 +291,7 @@
/// The language team is thinking about adding abstract fields, or external
/// fields. But for now we will ignore such fields in `Struct` subtypes.
bool get _isEnclosingClassFfiUnion {
- var superClass = _enclosingClass?.supertype?.element2;
+ var superClass = _enclosingClass?.supertype?.element;
return superClass != null &&
superClass.library.name == 'dart.ffi' &&
superClass.name == 'Union';
@@ -1459,7 +1459,7 @@
mixinName, CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS)) {
problemReported = true;
} else {
- final mixinElement = mixinType.element2;
+ final mixinElement = mixinType.element;
if (_checkForExtendsOrImplementsDeferredClass(
mixinName, CompileTimeErrorCode.MIXIN_DEFERRED_CLASS)) {
problemReported = true;
@@ -2039,7 +2039,7 @@
redirectingInitializerCount == 0 &&
superInitializerCount == 1 &&
superInitializer != declaration.initializers.last) {
- var superNamedType = enclosingClass.supertype!.element2.displayName;
+ var superNamedType = enclosingClass.supertype!.element.displayName;
var constructorStrName = superNamedType;
var constructorName = superInitializer.constructorName;
if (constructorName != null) {
@@ -2076,7 +2076,7 @@
// check for mixins
var instanceFields = <FieldElement>[];
for (var mixin in enclosingClass.mixins) {
- instanceFields.addAll(mixin.element2.fields.where((field) {
+ instanceFields.addAll(mixin.element.fields.where((field) {
if (field.isStatic) {
return false;
}
@@ -2138,7 +2138,7 @@
if (supertype.isDartCoreObject) {
return false;
}
- var unnamedConstructor = supertype.element2.unnamedConstructor;
+ var unnamedConstructor = supertype.element.unnamedConstructor;
if (unnamedConstructor == null || unnamedConstructor.isConst) {
return false;
}
@@ -2207,7 +2207,7 @@
InstanceCreationExpression expression,
NamedType namedType,
InterfaceType type) {
- final element = type.element2;
+ final element = type.element;
if (element is! MixinElement &&
element is ClassElement &&
element.isAbstract) {
@@ -2229,7 +2229,7 @@
/// Verify that the given [expression] is not a mixin instantiation.
void _checkForConstOrNewWithMixin(InstanceCreationExpression expression,
NamedType namedType, InterfaceType type) {
- if (type.element2 is MixinElement) {
+ if (type.element is MixinElement) {
errorReporter.reportErrorForNode(
CompileTimeErrorCode.MIXIN_INSTANTIATE, namedType);
}
@@ -2275,7 +2275,7 @@
}
DartType type = namedType.typeOrThrow;
if (type is InterfaceType) {
- if (type.element2 is EnumElement) {
+ if (type.element is EnumElement) {
// We have already reported the error.
return;
}
@@ -2634,7 +2634,7 @@
}
var type = namedType.type;
return type is InterfaceType &&
- _typeProvider.isNonSubtypableClass(type.element2);
+ _typeProvider.isNonSubtypableClass(type.element);
}
void _checkForExtensionDeclaresMemberOfObject(MethodDeclaration node) {
@@ -3302,7 +3302,7 @@
var hasCaseNull = false;
if (expressionType is InterfaceType) {
- var enumElement = expressionType.element2;
+ var enumElement = expressionType.element;
if (enumElement is EnumElement) {
var constantNames = enumElement.fields
.where((field) => field.isEnumConstant)
@@ -3521,7 +3521,7 @@
}
names[name] = namedType.name.name;
var inheritedMember = _inheritanceManager.getMember2(
- declaredSupertype.element2,
+ declaredSupertype.element,
Name(library.source.uri, name),
concrete: true,
);
@@ -3545,7 +3545,7 @@
for (NamedType mixinType in withClause.mixinTypes) {
DartType type = mixinType.typeOrThrow;
if (type is InterfaceType) {
- LibraryElement library = type.element2.library;
+ LibraryElement library = type.element.library;
if (library != _currentLibrary) {
for (PropertyAccessorElement accessor in type.accessors) {
if (accessor.isStatic) {
@@ -3596,7 +3596,7 @@
}
DartType type = namedType.typeOrThrow;
if (type is InterfaceType) {
- final element = type.element2;
+ final element = type.element;
if (element is EnumElement || element is MixinElement) {
// We have already reported the error.
return;
@@ -3636,7 +3636,7 @@
if (superType == null) {
return;
}
- final superElement = superType.element2;
+ final superElement = superType.element;
// try to find default generative super constructor
var superUnnamedConstructor = superElement.unnamedConstructor;
superUnnamedConstructor = superUnnamedConstructor != null
@@ -3658,7 +3658,7 @@
}
}
- if (!_typeProvider.isNonSubtypableClass(superType.element2)) {
+ if (!_typeProvider.isNonSubtypableClass(superType.element)) {
// Don't report this diagnostic for non-subtypable classes because the
// real problem was already reported.
errorReporter.reportErrorForToken(
@@ -3679,7 +3679,7 @@
// subclass has only factory constructors.
return false;
}
- final superElement = superType.element2;
+ final superElement = superType.element;
if (superElement.constructors.isEmpty) {
// Exclude empty constructor set, which indicates other errors occurred.
return false;
@@ -4124,11 +4124,11 @@
if (!detectedRepeatOnIndex[i]) {
var type = namedTypes[i].type;
if (type is InterfaceType) {
- var element = type.element2;
+ var element = type.element;
for (int j = i + 1; j < count; j++) {
var otherNode = namedTypes[j];
var otherType = otherNode.type;
- if (otherType is InterfaceType && otherType.element2 == element) {
+ if (otherType is InterfaceType && otherType.element == element) {
detectedRepeatOnIndex[j] = true;
errorReporter
.reportErrorForNode(errorCode, otherNode, [element.name]);
@@ -4381,7 +4381,7 @@
if (superType == null) {
return;
}
- final superElement = superType.element2;
+ final superElement = superType.element;
if (superElement.constructors
.every((constructor) => constructor.isFactory)) {
@@ -4910,14 +4910,14 @@
return;
}
- var superElement = _enclosingClass!.supertype?.element2;
+ var superElement = _enclosingClass!.supertype?.element;
if (superElement == null) {
return;
}
for (var interfaceNode in implementsClause.interfaces) {
var type = interfaceNode.type;
- if (type is InterfaceType && type.element2 == superElement) {
+ if (type is InterfaceType && type.element == superElement) {
errorReporter.reportErrorForNode(
CompileTimeErrorCode.IMPLEMENTS_SUPER_CLASS,
interfaceNode,
@@ -4957,14 +4957,14 @@
return;
}
- var superElement = _enclosingClass!.supertype?.element2;
+ var superElement = _enclosingClass!.supertype?.element;
if (superElement == null) {
return;
}
for (var mixinNode in withClause.mixinTypes) {
var type = mixinNode.type;
- if (type is InterfaceType && type.element2 == superElement) {
+ if (type is InterfaceType && type.element == superElement) {
errorReporter.reportErrorForNode(
CompileTimeErrorCode.MIXINS_SUPER_CLASS,
mixinNode,
diff --git a/pkg/analyzer/lib/src/generated/ffi_verifier.dart b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
index 6ab5842..a1c5f19 100644
--- a/pkg/analyzer/lib/src/generated/ffi_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
@@ -156,7 +156,7 @@
if (implementsClause != null) {
final compoundType = node.declaredElement!.thisType;
final structType = compoundType.superclass!;
- final ffiLibrary = structType.element2.library;
+ final ffiLibrary = structType.element.library;
final finalizableElement = ffiLibrary.getClass(_finalizableClassName)!;
final finalizableType = finalizableElement.thisType;
if (typeSystem.isSubtypeOf(compoundType, finalizableType)) {
@@ -428,7 +428,7 @@
'NativeFieldWrapperClass1') {
return true;
}
- final element = type.element2;
+ final element = type.element;
type = element.supertype;
}
return false;
@@ -540,7 +540,7 @@
}
if (nativeType.isCompoundSubtype) {
if (!allowEmptyStruct) {
- if (nativeType.element2.isEmptyStruct) {
+ if (nativeType.element.isEmptyStruct) {
// TODO(dartbug.com/36780): This results in an error message not
// mentioning empty structs at all.
return false;
@@ -587,7 +587,7 @@
_PrimitiveDartType _primitiveNativeType(DartType nativeType) {
if (nativeType is InterfaceType) {
- final element = nativeType.element2;
+ final element = nativeType.element;
if (element.isFfiClass) {
final String name = element.name;
if (_primitiveIntegerNativeTypes.contains(name)) {
@@ -673,7 +673,7 @@
if (element is MapLiteralEntry) {
final valueType = element.value.staticType;
if (valueType is InterfaceType) {
- final name = valueType.element2.name;
+ final name = valueType.element.name;
if (!_primitiveIntegerNativeTypesFixedSize.contains(name)) {
_errorReporter.reportErrorForNode(
FfiCode.ABI_SPECIFIC_INTEGER_MAPPING_UNSUPPORTED,
@@ -696,7 +696,7 @@
for (final nativeType in mappingValues.values) {
final type = nativeType?.type;
if (type is InterfaceType) {
- final nativeTypeName = type.element2.name;
+ final nativeTypeName = type.element.name;
if (!_primitiveIntegerNativeTypesFixedSize.contains(nativeTypeName)) {
_errorReporter.reportErrorForNode(
FfiCode.ABI_SPECIFIC_INTEGER_MAPPING_UNSUPPORTED,
@@ -883,7 +883,7 @@
final nativeReturnType = _primitiveNativeType(nativeType);
if (nativeReturnType == _PrimitiveDartType.int ||
(nativeType is InterfaceType &&
- nativeType.superclass?.element2.name ==
+ nativeType.superclass?.element.name ==
_abiSpecificIntegerClassName)) {
return dartType.isDartCoreInt;
} else if (nativeReturnType == _PrimitiveDartType.double) {
@@ -1009,7 +1009,7 @@
final arrayDimensions = declaredType.arrayDimensions;
_validateSizeOfAnnotation(fieldType, annotations, arrayDimensions);
} else if (declaredType.isCompoundSubtype) {
- final clazz = (declaredType as InterfaceType).element2;
+ final clazz = (declaredType as InterfaceType).element;
if (clazz.isEmptyStruct) {
_errorReporter.reportErrorForNode(FfiCode.EMPTY_STRUCT, node, [
clazz.name,
@@ -1530,17 +1530,17 @@
extension on DartType? {
bool get isAbiSpecificInteger {
final self = this;
- return self is InterfaceType && self.element2.isAbiSpecificInteger;
+ return self is InterfaceType && self.element.isAbiSpecificInteger;
}
bool get isStruct {
final self = this;
- return self is InterfaceType && self.element2.isStruct;
+ return self is InterfaceType && self.element.isStruct;
}
bool get isUnion {
final self = this;
- return self is InterfaceType && self.element2.isUnion;
+ return self is InterfaceType && self.element.isUnion;
}
}
@@ -1549,8 +1549,8 @@
DartType iterator = this;
int dimensions = 0;
while (iterator is InterfaceType &&
- iterator.element2.name == FfiVerifier._arrayClassName &&
- iterator.element2.isFfiClass) {
+ iterator.element.name == FfiVerifier._arrayClassName &&
+ iterator.element.isFfiClass) {
dimensions++;
iterator = iterator.typeArguments.single;
}
@@ -1560,7 +1560,7 @@
bool get isAbiSpecificInteger {
final self = this;
if (self is InterfaceType) {
- final element = self.element2;
+ final element = self.element;
final name = element.name;
return name == FfiVerifier._abiSpecificIntegerClassName &&
element.isFfiClass;
@@ -1573,9 +1573,9 @@
bool get isAbiSpecificIntegerSubtype {
final self = this;
if (self is InterfaceType) {
- final superType = self.element2.supertype;
+ final superType = self.element.supertype;
if (superType != null) {
- final superClassElement = superType.element2;
+ final superClassElement = superType.element;
return superClassElement.name ==
FfiVerifier._abiSpecificIntegerClassName &&
superClassElement.isFfiClass;
@@ -1588,7 +1588,7 @@
bool get isArray {
final self = this;
if (self is InterfaceType) {
- final element = self.element2;
+ final element = self.element;
return element.name == FfiVerifier._arrayClassName && element.isFfiClass;
}
return false;
@@ -1597,7 +1597,7 @@
bool get isCompound {
final self = this;
if (self is InterfaceType) {
- final element = self.element2;
+ final element = self.element;
final name = element.name;
return (name == FfiVerifier._structClassName ||
name == FfiVerifier._unionClassName) &&
@@ -1610,7 +1610,7 @@
bool get isCompoundSubtype {
final self = this;
if (self is InterfaceType) {
- final superType = self.element2.supertype;
+ final superType = self.element.supertype;
if (superType != null) {
return superType.isCompound;
}
@@ -1621,7 +1621,7 @@
bool get isHandle {
final self = this;
if (self is InterfaceType) {
- final element = self.element2;
+ final element = self.element;
return element.name == 'Handle' && element.isFfiClass;
}
return false;
@@ -1631,7 +1631,7 @@
bool get isNativeFunction {
final self = this;
if (self is InterfaceType) {
- final element = self.element2;
+ final element = self.element;
return element.name == 'NativeFunction' && element.isFfiClass;
}
return false;
@@ -1641,7 +1641,7 @@
bool get isNativeType {
final self = this;
if (self is InterfaceType) {
- final element = self.element2;
+ final element = self.element;
return element.name == 'NativeType' && element.isFfiClass;
}
return false;
@@ -1651,9 +1651,9 @@
bool get isOpaqueSubtype {
final self = this;
if (self is InterfaceType) {
- final superType = self.element2.supertype;
+ final superType = self.element.supertype;
if (superType != null) {
- final superClassElement = superType.element2;
+ final superClassElement = superType.element;
return superClassElement.name == FfiVerifier._opaqueClassName &&
superClassElement.isFfiClass;
}
@@ -1663,7 +1663,7 @@
bool get isPointer {
final self = this;
- return self is InterfaceType && self.element2.isPointer;
+ return self is InterfaceType && self.element.isPointer;
}
}
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index a7ab20f..c71bb61 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -4146,7 +4146,7 @@
factory SwitchExhaustiveness(DartType expressionType) {
if (expressionType is InterfaceType) {
- var enum_ = expressionType.element2;
+ var enum_ = expressionType.element;
if (enum_ is EnumElementImpl) {
return SwitchExhaustiveness._(
enum_.constants.toSet(),
diff --git a/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart b/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart
index 9ccbffa..589730e 100644
--- a/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart
+++ b/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart
@@ -269,7 +269,7 @@
}
_errorReporter.reportErrorForNode(
HintCode.SDK_VERSION_ASYNC_EXPORTED_FROM_CORE, node, [element.name]);
- } else if (checkNnbd && element == _typeProvider.neverType.element2) {
+ } else if (checkNnbd && element == _typeProvider.neverType.element) {
_errorReporter.reportErrorForNode(HintCode.SDK_VERSION_NEVER, node);
}
}
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
index da908c4..e11a637 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -1701,7 +1701,7 @@
var typeArguments = _readTypeList();
var nullability = _readNullability();
var type = InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: typeArguments,
nullabilitySuffix: nullability,
);
@@ -1709,7 +1709,7 @@
} else if (tag == Tag.InterfaceType_noTypeArguments_none) {
var element = readElement() as InterfaceElement;
var type = InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: const <DartType>[],
nullabilitySuffix: NullabilitySuffix.none,
);
@@ -1717,7 +1717,7 @@
} else if (tag == Tag.InterfaceType_noTypeArguments_question) {
var element = readElement() as InterfaceElement;
var type = InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: const <DartType>[],
nullabilitySuffix: NullabilitySuffix.question,
);
@@ -1725,7 +1725,7 @@
} else if (tag == Tag.InterfaceType_noTypeArguments_star) {
var element = readElement() as InterfaceElement;
var type = InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: const <DartType>[],
nullabilitySuffix: NullabilitySuffix.star,
);
@@ -1741,7 +1741,7 @@
var element = readElement() as TypeParameterElement;
var nullability = _readNullability();
var type = TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: nullability,
);
return _readAliasElementArguments(type);
@@ -1824,7 +1824,7 @@
);
} else if (type is InterfaceType) {
return InterfaceTypeImpl(
- element2: type.element2,
+ element: type.element,
typeArguments: type.typeArguments,
nullabilitySuffix: type.nullabilitySuffix,
alias: InstantiatedTypeAliasElementImpl(
@@ -1844,7 +1844,7 @@
);
} else if (type is TypeParameterType) {
return TypeParameterTypeImpl(
- element2: type.element2,
+ element: type.element,
nullabilitySuffix: type.nullabilitySuffix,
alias: InstantiatedTypeAliasElementImpl(
element: aliasElement,
diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
index 93ea875..126343b 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
@@ -659,11 +659,11 @@
writeByte(Tag.InterfaceType_noTypeArguments_star);
}
// TODO(scheglov) Write raw
- writeElement(type.element2);
+ writeElement(type.element);
} else {
writeByte(Tag.InterfaceType);
// TODO(scheglov) Write raw
- writeElement(type.element2);
+ writeElement(type.element);
writeUInt30(typeArguments.length);
for (var i = 0; i < typeArguments.length; ++i) {
writeType(typeArguments[i]);
@@ -680,7 +680,7 @@
_writeTypeAliasElementArguments(type);
} else if (type is TypeParameterType) {
writeByte(Tag.TypeParameterType);
- writeElement(type.element2);
+ writeElement(type.element);
_writeNullabilitySuffix(type.nullabilitySuffix);
_writeTypeAliasElementArguments(type);
} else if (type is VoidType) {
diff --git a/pkg/analyzer/lib/src/summary2/default_types_builder.dart b/pkg/analyzer/lib/src/summary2/default_types_builder.dart
index 6e5caf2..d37b32d 100644
--- a/pkg/analyzer/lib/src/summary2/default_types_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/default_types_builder.dart
@@ -243,13 +243,13 @@
) {
var paths = <List<_CycleElement>>[];
if (startType is NamedTypeBuilder) {
- var declaration = startType.element2;
+ var declaration = startType.element;
if (startType.arguments.isEmpty) {
- if (startType.element2 == end) {
+ if (startType.element == end) {
paths.add([
_CycleElement(startParameter, startType),
]);
- } else if (visited.add(startType.element2)) {
+ } else if (visited.add(startType.element)) {
void recurseParameters(List<TypeParameterElement> parameters) {
for (var parameter in parameters) {
var parameterNode = _linker.getLinkingNode(parameter);
@@ -278,7 +278,7 @@
} else if (declaration is TypeAliasElement) {
recurseParameters(declaration.typeParameters);
}
- visited.remove(startType.element2);
+ visited.remove(startType.element);
}
} else {
for (var argument in startType.arguments) {
@@ -387,7 +387,7 @@
_collectReferencesFrom(index, argument);
}
} else if (type is TypeParameterType) {
- var typeIndex = _parameterToIndex[type.element2];
+ var typeIndex = _parameterToIndex[type.element];
if (typeIndex != null) {
_edges[typeIndex].add(index);
}
@@ -440,9 +440,9 @@
@override
DartType? visitTypeParameterType(TypeParameterType type) {
if (_variance == Variance.contravariant) {
- return _lower[type.element2];
+ return _lower[type.element];
} else {
- return _upper[type.element2];
+ return _upper[type.element];
}
}
}
diff --git a/pkg/analyzer/lib/src/summary2/macro_application.dart b/pkg/analyzer/lib/src/summary2/macro_application.dart
index 377dfb7..40ca9ad 100644
--- a/pkg/analyzer/lib/src/summary2/macro_application.dart
+++ b/pkg/analyzer/lib/src/summary2/macro_application.dart
@@ -305,7 +305,7 @@
final variableType = variable.type;
if (variable is ConstTopLevelVariableElementImpl &&
variableType is InterfaceType) {
- final macroClass = variableType.element2;
+ final macroClass = variableType.element;
final initializer = variable.constantInitializer;
if (macroClass is ClassElementImpl &&
macroClass.isMacro &&
diff --git a/pkg/analyzer/lib/src/summary2/macro_declarations.dart b/pkg/analyzer/lib/src/summary2/macro_declarations.dart
index a8c9cd8..2a123a3 100644
--- a/pkg/analyzer/lib/src/summary2/macro_declarations.dart
+++ b/pkg/analyzer/lib/src/summary2/macro_declarations.dart
@@ -98,14 +98,14 @@
return macro.NamedTypeAnnotationImpl(
id: macro.RemoteInstance.uniqueId,
isNullable: type.nullabilitySuffix == NullabilitySuffix.question,
- identifier: identifier(type.element2),
+ identifier: identifier(type.element),
typeArguments: type.typeArguments.map(_dartType).toList(),
);
} else if (type is TypeParameterType) {
return macro.NamedTypeAnnotationImpl(
id: macro.RemoteInstance.uniqueId,
isNullable: type.nullabilitySuffix == NullabilitySuffix.question,
- identifier: identifier(type.element2),
+ identifier: identifier(type.element),
typeArguments: const [],
);
} else {
diff --git a/pkg/analyzer/lib/src/summary2/named_type_builder.dart b/pkg/analyzer/lib/src/summary2/named_type_builder.dart
index 28836a0..722a9c1 100644
--- a/pkg/analyzer/lib/src/summary2/named_type_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/named_type_builder.dart
@@ -30,7 +30,7 @@
final TypeSystemImpl typeSystem;
@override
- final Element element2;
+ final Element element;
final List<DartType> arguments;
@@ -48,7 +48,7 @@
/// and set for the [node].
DartType? _type;
- NamedTypeBuilder(this.linker, this.typeSystem, this.element2, this.arguments,
+ NamedTypeBuilder(this.linker, this.typeSystem, this.element, this.arguments,
this.nullabilitySuffix,
{this.node});
@@ -74,7 +74,7 @@
/// TODO(scheglov) Only when enabled both in the element, and target?
bool get _isNonFunctionTypeAliasesEnabled {
- return element2.library!.featureSet.isEnabled(
+ return element.library!.featureSet.isEnabled(
Feature.nonfunction_type_aliases,
);
}
@@ -96,7 +96,7 @@
}
// ignore: unnecessary_this
- final element = this.element2;
+ final element = this.element;
if (element is InterfaceElement) {
var parameters = element.typeParameters;
var arguments = _buildArguments(parameters);
@@ -125,7 +125,7 @@
}
} else if (element is TypeParameterElement) {
_type = TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: nullabilitySuffix,
);
} else {
@@ -139,7 +139,7 @@
@override
String toString() {
var buffer = StringBuffer();
- buffer.write(element2.displayName);
+ buffer.write(element.displayName);
if (arguments.isNotEmpty) {
buffer.write('<');
buffer.write(arguments.join(', '));
@@ -155,7 +155,7 @@
}
return NamedTypeBuilder(
- linker, typeSystem, element2, arguments, nullabilitySuffix,
+ linker, typeSystem, element, arguments, nullabilitySuffix,
node: node);
}
diff --git a/pkg/analyzer/lib/src/summary2/reference_resolver.dart b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
index b8333bb..76bc1ef 100644
--- a/pkg/analyzer/lib/src/summary2/reference_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
@@ -367,7 +367,7 @@
node.type = DynamicTypeImpl.instance;
} else if (element is TypeParameterElement) {
node.type = TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: nullabilitySuffix,
);
} else {
diff --git a/pkg/analyzer/lib/src/summary2/top_level_inference.dart b/pkg/analyzer/lib/src/summary2/top_level_inference.dart
index f40a23c..0d0c076 100644
--- a/pkg/analyzer/lib/src/summary2/top_level_inference.dart
+++ b/pkg/analyzer/lib/src/summary2/top_level_inference.dart
@@ -179,7 +179,7 @@
var superType = classElement.supertype;
if (superType != null) {
var index = classElement.constructors.indexOf(_constructor);
- var superConstructors = superType.element2.constructors
+ var superConstructors = superType.element.constructors
.where((element) => element.isAccessibleIn2(classElement.library))
.toList();
if (index < superConstructors.length) {
diff --git a/pkg/analyzer/lib/src/summary2/types_builder.dart b/pkg/analyzer/lib/src/summary2/types_builder.dart
index db708c2..044a7c5 100644
--- a/pkg/analyzer/lib/src/summary2/types_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/types_builder.dart
@@ -19,7 +19,7 @@
/// Return `true` if [type] can be used as a class.
bool _isInterfaceTypeClass(InterfaceType type) {
- if (type.element2 is MixinElement) {
+ if (type.element is MixinElement) {
return false;
}
return _isInterfaceTypeInterface(type);
@@ -27,7 +27,7 @@
/// Return `true` if [type] can be used as an interface or a mixin.
bool _isInterfaceTypeInterface(InterfaceType type) {
- if (type.element2 is EnumElement) {
+ if (type.element is EnumElement) {
return false;
}
if (type.isDartCoreFunction || type.isDartCoreNull) {
@@ -397,7 +397,7 @@
List<InterfaceType> interfaceTypes,
) {
for (var interfaceType in interfaceTypes) {
- if (interfaceType.element2 == element) return interfaceType;
+ if (interfaceType.element == element) return interfaceType;
}
return null;
}
@@ -409,7 +409,7 @@
var result = <InterfaceType>[];
for (var constraint in constraints) {
var interfaceType = _findInterfaceTypeForElement(
- constraint.element2,
+ constraint.element,
interfaceTypes,
);
diff --git a/pkg/analyzer/lib/src/summary2/variance_builder.dart b/pkg/analyzer/lib/src/summary2/variance_builder.dart
index 4bed065..803a3b3 100644
--- a/pkg/analyzer/lib/src/summary2/variance_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/variance_builder.dart
@@ -57,13 +57,13 @@
Variance _compute(TypeParameterElement variable, DartType? type) {
if (type is TypeParameterType) {
- if (type.element2 == variable) {
+ if (type.element == variable) {
return Variance.covariant;
} else {
return Variance.unrelated;
}
} else if (type is NamedTypeBuilder) {
- var element = type.element2;
+ var element = type.element;
var arguments = type.arguments;
if (element is InterfaceElement) {
var result = Variance.unrelated;
diff --git a/pkg/analyzer/lib/src/task/strong/checker.dart b/pkg/analyzer/lib/src/task/strong/checker.dart
index 47e2661..2511b49 100644
--- a/pkg/analyzer/lib/src/task/strong/checker.dart
+++ b/pkg/analyzer/lib/src/task/strong/checker.dart
@@ -579,7 +579,7 @@
} else {
// Future<T> -> FutureOr<T>
var typeArg = (type is InterfaceType &&
- type.element2 == _typeProvider.futureElement)
+ type.element == _typeProvider.futureElement)
? type.typeArguments[0]
: _typeProvider.dynamicType;
return _typeProvider.futureOrType(typeArg);
@@ -608,7 +608,7 @@
}
if (type.isDynamic) {
return type;
- } else if (type is InterfaceType && type.element2 == expectedElement) {
+ } else if (type is InterfaceType && type.element == expectedElement) {
return type.typeArguments[0];
} else {
// Malformed type - fallback on analyzer error.
diff --git a/pkg/analyzer/lib/src/task/strong_mode.dart b/pkg/analyzer/lib/src/task/strong_mode.dart
index 93f68d9..034d0cf 100644
--- a/pkg/analyzer/lib/src/task/strong_mode.dart
+++ b/pkg/analyzer/lib/src/task/strong_mode.dart
@@ -504,7 +504,7 @@
/// interface [type].
void _inferType(InterfaceType? type) {
if (type != null) {
- _inferClass(type.element2);
+ _inferClass(type.element);
}
}
diff --git a/pkg/analyzer/lib/src/test_utilities/mock_sdk_elements.dart b/pkg/analyzer/lib/src/test_utilities/mock_sdk_elements.dart
index 5a10a24..0d1c6fd 100644
--- a/pkg/analyzer/lib/src/test_utilities/mock_sdk_elements.dart
+++ b/pkg/analyzer/lib/src/test_utilities/mock_sdk_elements.dart
@@ -1075,7 +1075,7 @@
List<DartType> typeArguments = const [],
}) {
return InterfaceTypeImpl(
- element2: element,
+ element: element,
typeArguments: typeArguments,
nullabilitySuffix: NullabilitySuffix.none,
);
@@ -1151,7 +1151,7 @@
TypeParameterType _typeParameterType(TypeParameterElement element) {
return TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: NullabilitySuffix.none,
);
}
diff --git a/pkg/analyzer/test/error/error_reporter_test.dart b/pkg/analyzer/test/error/error_reporter_test.dart
index 5777af9..d83df43 100644
--- a/pkg/analyzer/test/error/error_reporter_test.dart
+++ b/pkg/analyzer/test/error/error_reporter_test.dart
@@ -97,7 +97,7 @@
var reporter = ErrorReporter(
listener,
- firstType.element2.source,
+ firstType.element.source,
isNonNullableByDefault: false,
);
@@ -136,7 +136,7 @@
var reporter = ErrorReporter(
listener,
- firstType.element2.source,
+ firstType.element.source,
isNonNullableByDefault: false,
);
reporter.reportErrorForNode(
diff --git a/pkg/analyzer/test/generated/elements_types_mixin.dart b/pkg/analyzer/test/generated/elements_types_mixin.dart
index 1f0bca7..ad51e60 100644
--- a/pkg/analyzer/test/generated/elements_types_mixin.dart
+++ b/pkg/analyzer/test/generated/elements_types_mixin.dart
@@ -33,17 +33,17 @@
}
InterfaceType get doubleNone {
- var element = typeProvider.doubleType.element2;
+ var element = typeProvider.doubleType.element;
return interfaceTypeNone(element);
}
InterfaceType get doubleQuestion {
- var element = typeProvider.doubleType.element2;
+ var element = typeProvider.doubleType.element;
return interfaceTypeQuestion(element);
}
InterfaceType get doubleStar {
- var element = typeProvider.doubleType.element2;
+ var element = typeProvider.doubleType.element;
return interfaceTypeStar(element);
}
@@ -52,32 +52,32 @@
DynamicTypeImpl get dynamicType => DynamicTypeImpl.instance;
InterfaceType get functionNone {
- var element = typeProvider.functionType.element2;
+ var element = typeProvider.functionType.element;
return interfaceTypeNone(element);
}
InterfaceType get functionQuestion {
- var element = typeProvider.functionType.element2;
+ var element = typeProvider.functionType.element;
return interfaceTypeQuestion(element);
}
InterfaceType get functionStar {
- var element = typeProvider.functionType.element2;
+ var element = typeProvider.functionType.element;
return interfaceTypeStar(element);
}
InterfaceType get intNone {
- var element = typeProvider.intType.element2;
+ var element = typeProvider.intType.element;
return interfaceTypeNone(element);
}
InterfaceType get intQuestion {
- var element = typeProvider.intType.element2;
+ var element = typeProvider.intType.element;
return interfaceTypeQuestion(element);
}
InterfaceType get intStar {
- var element = typeProvider.intType.element2;
+ var element = typeProvider.intType.element;
return interfaceTypeStar(element);
}
@@ -88,47 +88,47 @@
NeverTypeImpl get neverStar => NeverTypeImpl.instanceLegacy;
InterfaceTypeImpl get nullNone {
- var element = typeProvider.nullType.element2;
+ var element = typeProvider.nullType.element;
return interfaceTypeNone(element) as InterfaceTypeImpl;
}
InterfaceTypeImpl get nullQuestion {
- var element = typeProvider.nullType.element2;
+ var element = typeProvider.nullType.element;
return interfaceTypeQuestion(element) as InterfaceTypeImpl;
}
InterfaceTypeImpl get nullStar {
- var element = typeProvider.nullType.element2;
+ var element = typeProvider.nullType.element;
return interfaceTypeStar(element) as InterfaceTypeImpl;
}
InterfaceType get numNone {
- var element = typeProvider.numType.element2;
+ var element = typeProvider.numType.element;
return interfaceTypeNone(element);
}
InterfaceType get numQuestion {
- var element = typeProvider.numType.element2;
+ var element = typeProvider.numType.element;
return interfaceTypeQuestion(element);
}
InterfaceType get numStar {
- var element = typeProvider.numType.element2;
+ var element = typeProvider.numType.element;
return interfaceTypeStar(element);
}
InterfaceType get objectNone {
- var element = typeProvider.objectType.element2;
+ var element = typeProvider.objectType.element;
return interfaceTypeNone(element);
}
InterfaceType get objectQuestion {
- var element = typeProvider.objectType.element2;
+ var element = typeProvider.objectType.element;
return interfaceTypeQuestion(element);
}
InterfaceType get objectStar {
- var element = typeProvider.objectType.element2;
+ var element = typeProvider.objectType.element;
return interfaceTypeStar(element);
}
@@ -138,17 +138,17 @@
}
InterfaceType get stringNone {
- var element = typeProvider.stringType.element2;
+ var element = typeProvider.stringType.element;
return interfaceTypeNone(element);
}
InterfaceType get stringQuestion {
- var element = typeProvider.stringType.element2;
+ var element = typeProvider.stringType.element;
return interfaceTypeQuestion(element);
}
InterfaceType get stringStar {
- var element = typeProvider.stringType.element2;
+ var element = typeProvider.stringType.element;
return interfaceTypeStar(element);
}
@@ -520,7 +520,7 @@
required DartType promotedBound,
}) {
return TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: nullabilitySuffix,
promotedBound: promotedBound,
);
@@ -664,7 +664,7 @@
DartType? promotedBound,
}) {
return TypeParameterTypeImpl(
- element2: element,
+ element: element,
nullabilitySuffix: nullabilitySuffix,
promotedBound: promotedBound,
);
diff --git a/pkg/analyzer/test/generated/strong_mode_test.dart b/pkg/analyzer/test/generated/strong_mode_test.dart
index 3f85ffa..2dc19b0 100644
--- a/pkg/analyzer/test/generated/strong_mode_test.dart
+++ b/pkg/analyzer/test/generated/strong_mode_test.dart
@@ -372,7 +372,7 @@
ClassElement elementB = AstFinder.getClass(unit, "B").declaredElement!;
ClassElement elementA = AstFinder.getClass(unit, "A").declaredElement!;
final type = exp.constructorName.type.typeOrThrow as InterfaceType;
- expect(type.element2, elementB);
+ expect(type.element, elementB);
_isInstantiationOf(_hasElement(elementB))([
_isType(elementA.typeParameters[0]
.instantiate(nullabilitySuffix: NullabilitySuffix.star))
diff --git a/pkg/analyzer/test/generated/type_system_test.dart b/pkg/analyzer/test/generated/type_system_test.dart
index dcce53d..d326f62 100644
--- a/pkg/analyzer/test/generated/type_system_test.dart
+++ b/pkg/analyzer/test/generated/type_system_test.dart
@@ -430,7 +430,7 @@
NullabilitySuffix nullability,
DartType promotedBound,
) {
- expect(type.element2, element);
+ expect(type.element, element);
expect(type.nullabilitySuffix, nullability);
expect(type.promotedBound, promotedBound);
}
diff --git a/pkg/analyzer/test/id_tests/inheritance_test.dart b/pkg/analyzer/test/id_tests/inheritance_test.dart
index 6abbf99..b73730d 100644
--- a/pkg/analyzer/test/id_tests/inheritance_test.dart
+++ b/pkg/analyzer/test/id_tests/inheritance_test.dart
@@ -36,7 +36,7 @@
String supertypeToString(InterfaceType type) {
var sb = StringBuffer();
- sb.write(type.element2.name);
+ sb.write(type.element.name);
if (type.typeArguments.isNotEmpty) {
sb.write('<');
var comma = '';
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
index 27c658b..790882d 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
@@ -743,7 +743,7 @@
expect(target.staticType, typeProvider.numType);
var intName = asExpression.type as NamedType;
- expect(intName.name.staticElement, typeProvider.intType.element2);
+ expect(intName.name.staticElement, typeProvider.intType.element);
expect(intName.name.staticType, isNull);
}
}
@@ -1972,7 +1972,7 @@
var fType = findElement.localVar('f').type as FunctionType;
var fTypeTypeParameter = fType.typeFormals[0];
var fTypeParameter = fType.normalParameterTypes[0] as TypeParameterType;
- expect(fTypeParameter.element2, same(fTypeTypeParameter));
+ expect(fTypeParameter.element, same(fTypeTypeParameter));
var tRef = findNode.typeParameter('T>');
var functionTypeNode = tRef.parent!.parent as GenericFunctionType;
var functionType = functionTypeNode.type as FunctionType;
@@ -3845,7 +3845,7 @@
expect(target.staticType, dynamicType);
var numName = isExpression.type as NamedType;
- expect(numName.name.staticElement, typeProvider.numType.element2);
+ expect(numName.name.staticElement, typeProvider.numType.element);
expect(numName.name.staticType, isNull);
}
@@ -3865,7 +3865,7 @@
expect(target.staticType, dynamicType);
var numName = isExpression.type as NamedType;
- expect(numName.name.staticElement, typeProvider.numType.element2);
+ expect(numName.name.staticElement, typeProvider.numType.element);
expect(numName.name.staticType, isNull);
}
@@ -3970,7 +3970,7 @@
assertType(fElement.type, fTypeString);
var fReturnTypeNode = fNode.returnType as NamedType;
- expect(fReturnTypeNode.name.staticElement, same(doubleType.element2));
+ expect(fReturnTypeNode.name.staticElement, same(doubleType.element));
expect(fReturnTypeNode.type, doubleType);
expect(fExpression.declaredElement, same(fElement));
@@ -4121,8 +4121,8 @@
var tElement = fElement.typeParameters[0];
var uElement = fElement.typeParameters[1];
var vElement = fElement.typeParameters[2];
- expect((tElement.bound as TypeParameterType).element2, same(uElement));
- expect((vElement.bound as TypeParameterType).element2, same(uElement));
+ expect((tElement.bound as TypeParameterType).element, same(uElement));
+ expect((vElement.bound as TypeParameterType).element, same(uElement));
}
test_local_function_generic_with_named_parameter() async {
@@ -4141,7 +4141,7 @@
assertType(fElement.type, 'void Function<T>({T x})');
var tElement = fElement.typeParameters[0];
expect(fElement.type.typeFormals[0], same(tElement));
- expect((fElement.type.parameters[0].type as TypeParameterType).element2,
+ expect((fElement.type.parameters[0].type as TypeParameterType).element,
same(tElement));
}
@@ -4161,7 +4161,7 @@
assertType(fElement.type, 'void Function<T>([T])');
var tElement = fElement.typeParameters[0];
expect(fElement.type.typeFormals[0], same(tElement));
- expect((fElement.type.parameters[0].type as TypeParameterType).element2,
+ expect((fElement.type.parameters[0].type as TypeParameterType).element,
same(tElement));
}
@@ -4187,7 +4187,7 @@
assertType(fElement.type, fTypeString);
var fReturnTypeNode = fNode.returnType as NamedType;
- expect(fReturnTypeNode.name.staticElement, same(doubleType.element2));
+ expect(fReturnTypeNode.name.staticElement, same(doubleType.element));
expect(fReturnTypeNode.type, doubleType);
expect(fExpression.declaredElement, same(fElement));
@@ -4273,7 +4273,7 @@
assertType(fElement.type, fTypeString);
var fReturnTypeNode = fNode.returnType as NamedType;
- expect(fReturnTypeNode.name.staticElement, same(doubleType.element2));
+ expect(fReturnTypeNode.name.staticElement, same(doubleType.element));
expect(fReturnTypeNode.type, doubleType);
expect(fExpression.declaredElement, same(fElement));
@@ -4478,7 +4478,7 @@
var gTypeType = gType.type as FunctionType;
var gTypeParameterType =
gTypeType.namedParameterTypes['t'] as TypeParameterType;
- expect(gTypeParameterType.element2, same(tElement));
+ expect(gTypeParameterType.element, same(tElement));
var gParameterType =
((gType.parameters.parameters[0] as DefaultFormalParameter).parameter
as SimpleFormalParameter)
@@ -4510,7 +4510,7 @@
var gTypeType = gType.type as FunctionType;
var gTypeParameterType =
gTypeType.normalParameterTypes[0] as TypeParameterType;
- expect(gTypeParameterType.element2, same(tElement));
+ expect(gTypeParameterType.element, same(tElement));
var gParameterType =
(gType.parameters.parameters[0] as SimpleFormalParameter).type
as NamedType;
@@ -4541,7 +4541,7 @@
var gTypeType = gType.type as FunctionType;
var gTypeParameterType =
gTypeType.optionalParameterTypes[0] as TypeParameterType;
- expect(gTypeParameterType.element2, same(tElement));
+ expect(gTypeParameterType.element, same(tElement));
var gParameterType =
((gType.parameters.parameters[0] as DefaultFormalParameter).parameter
as SimpleFormalParameter)
@@ -4572,7 +4572,7 @@
var gType = gDeclaration.variables.type as GenericFunctionType;
var gTypeType = gType.type as FunctionType;
var gTypeReturnType = gTypeType.returnType as TypeParameterType;
- expect(gTypeReturnType.element2, same(tElement));
+ expect(gTypeReturnType.element, same(tElement));
var gReturnType = gType.returnType as NamedType;
var tReference = gReturnType.name;
assertElement(tReference, tElement);
@@ -4600,7 +4600,7 @@
var yType = yDeclaration.variables.type as NamedType;
var yTypeType = yType.type as InterfaceType;
var yTypeTypeArgument = yTypeType.typeArguments[0] as TypeParameterType;
- expect(yTypeTypeArgument.element2, same(tElement));
+ expect(yTypeTypeArgument.element, same(tElement));
var yElementType = yType.typeArguments!.arguments[0] as NamedType;
var tReference = yElementType.name;
assertElement(tReference, tElement);
@@ -4650,7 +4650,7 @@
var gTypeParameterType =
gTypeType.namedParameterTypes['u'] as TypeParameterType;
- expect(gTypeParameterType.element2, same(tElement));
+ expect(gTypeParameterType.element, same(tElement));
var gArgumentType = gType.typeArguments!.arguments[0] as NamedType;
var tReference = gArgumentType.name;
@@ -4677,7 +4677,7 @@
var gTypeParameterType =
gTypeType.normalParameterTypes[0] as TypeParameterType;
- expect(gTypeParameterType.element2, same(tElement));
+ expect(gTypeParameterType.element, same(tElement));
var gArgumentType = gType.typeArguments!.arguments[0] as NamedType;
var tReference = gArgumentType.name;
@@ -4704,7 +4704,7 @@
var gTypeParameterType =
gTypeType.optionalParameterTypes[0] as TypeParameterType;
- expect(gTypeParameterType.element2, same(tElement));
+ expect(gTypeParameterType.element, same(tElement));
var gArgumentType = gType.typeArguments!.arguments[0] as NamedType;
var tReference = gArgumentType.name;
@@ -4730,7 +4730,7 @@
var gTypeType = gType.type as FunctionType;
var gTypeReturnType = gTypeType.returnType as TypeParameterType;
- expect(gTypeReturnType.element2, same(tElement));
+ expect(gTypeReturnType.element, same(tElement));
var gArgumentType = gType.typeArguments!.arguments[0] as NamedType;
var tReference = gArgumentType.name;
@@ -4935,7 +4935,7 @@
expect(vNamedType.type, typeProvider.numType);
var vTypeIdentifier = vNamedType.name as SimpleIdentifier;
- expect(vTypeIdentifier.staticElement, typeProvider.numType.element2);
+ expect(vTypeIdentifier.staticElement, typeProvider.numType.element);
expect(vTypeIdentifier.staticType, isNull);
var statement = forBlock.statements[0] as ExpressionStatement;
@@ -5103,7 +5103,7 @@
assertType(methodElement.type, fTypeString);
var fReturnTypeNode = methodDeclaration.returnType as NamedType;
- expect(fReturnTypeNode.name.staticElement, same(doubleType.element2));
+ expect(fReturnTypeNode.name.staticElement, same(doubleType.element));
expect(fReturnTypeNode.type, doubleType);
//
// Validate the parameters at the declaration site.
@@ -5520,7 +5520,7 @@
assertInvokeType(fooInvocation, 'T Function(C<T>)');
assertType(fooInvocation.staticType, 'T');
final type = fooInvocation.typeOrThrow as TypeParameterType;
- expect(type.element2, same(tElement));
+ expect(type.element, same(tElement));
}
test_methodInvocation_topLevelFunction() async {
@@ -5581,14 +5581,14 @@
var typeArgument = typeArguments[0] as NamedType;
InterfaceType boolType = typeProvider.boolType;
expect(typeArgument.type, boolType);
- expect(typeArgument.name.staticElement, boolType.element2);
+ expect(typeArgument.name.staticElement, boolType.element);
expect(typeArgument.name.staticType, boolType);
}
{
var typeArgument = typeArguments[1] as NamedType;
InterfaceType stringType = typeProvider.stringType;
expect(typeArgument.type, stringType);
- expect(typeArgument.name.staticElement, stringType.element2);
+ expect(typeArgument.name.staticElement, stringType.element);
expect(typeArgument.name.staticType, stringType);
}
@@ -7011,8 +7011,8 @@
InterfaceType doubleType = typeProvider.doubleType;
InterfaceType intType = typeProvider.intType;
- final doubleElement = doubleType.element2;
- final intElement = intType.element2;
+ final doubleElement = doubleType.element;
+ final intElement = intType.element;
var cNode = result.unit.declarations[0] as ClassDeclaration;
ClassElement cElement = cNode.declaredElement!;
@@ -7110,8 +7110,8 @@
InterfaceType doubleType = typeProvider.doubleType;
InterfaceType intType = typeProvider.intType;
- final doubleElement = doubleType.element2;
- final intElement = intType.element2;
+ final doubleElement = doubleType.element;
+ final intElement = intType.element;
// topFunction()
{
@@ -7355,7 +7355,7 @@
assertType(fElement.type, fTypeString);
var fReturnTypeNode = fDeclaration.returnType as NamedType;
- expect(fReturnTypeNode.name.staticElement, same(doubleType.element2));
+ expect(fReturnTypeNode.name.staticElement, same(doubleType.element));
expect(fReturnTypeNode.type, doubleType);
//
// Validate the parameters at the declaration site.
@@ -7751,7 +7751,7 @@
{
var statement = statements[0] as ExpressionStatement;
var identifier = statement.expression as SimpleIdentifier;
- expect(identifier.staticElement, same(typeProvider.intType.element2));
+ expect(identifier.staticElement, same(typeProvider.intType.element));
expect(identifier.staticType, typeProvider.typeType);
}
@@ -8482,7 +8482,7 @@
expect(namedType.type, type);
var identifier = namedType.name as SimpleIdentifier;
- expect(identifier.staticElement, same(type.element2));
+ expect(identifier.staticElement, same(type.element));
expect(identifier.staticType, isNull);
}
@@ -8513,9 +8513,9 @@
if (namedType != null) {
expect(namedType.type, type);
if (type is InterfaceType) {
- expect(namedType.name.staticElement, same(type.element2));
+ expect(namedType.name.staticElement, same(type.element));
} else if (type is TypeParameterType) {
- expect(namedType.name.staticElement, same(type.element2));
+ expect(namedType.name.staticElement, same(type.element));
} else {
throw UnimplementedError();
}
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
index 3dd0bc9..af582a3 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
@@ -2443,8 +2443,8 @@
var c = _getTopLevelVar(result.unit, 'c');
var typeC = c.declaredElement!.type as InterfaceType;
// The class C has an old field 'foo', not the new 'bar'.
- expect(typeC.element2.getField('foo'), isNotNull);
- expect(typeC.element2.getField('bar'), isNull);
+ expect(typeC.element.getField('foo'), isNotNull);
+ expect(typeC.element.getField('bar'), isNull);
}
test_importOfNonLibrary_part_afterLibrary() async {
diff --git a/pkg/analyzer/test/src/dart/analysis/index_test.dart b/pkg/analyzer/test/src/dart/analysis/index_test.dart
index f0d83e6..61486a0 100644
--- a/pkg/analyzer/test/src/dart/analysis/index_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/index_test.dart
@@ -123,7 +123,7 @@
class A {}
''');
ClassElement elementA = findElement.class_('A');
- final elementObject = elementA.supertype!.element2;
+ final elementObject = elementA.supertype!.element;
assertThat(elementObject).isExtendedAt('A {}', true, length: 0);
}
@@ -1119,8 +1119,8 @@
int get f => 0;
}
''');
- ClassElement element2 = findElement.class_('A');
- assertThat(element2.getField('f')!).isWrittenAt('f = 42', true);
+ ClassElement element = findElement.class_('A');
+ assertThat(element.getField('f')!).isWrittenAt('f = 42', true);
}
test_isReferencedBy_FieldElement_class_synthetic_hasGetterSetter() async {
@@ -1131,8 +1131,8 @@
set f(_) {}
}
''');
- ClassElement element2 = findElement.class_('A');
- assertThat(element2.getField('f')!).isWrittenAt('f = 42', true);
+ ClassElement element = findElement.class_('A');
+ assertThat(element.getField('f')!).isWrittenAt('f = 42', true);
}
test_isReferencedBy_FieldElement_class_synthetic_hasSetter() async {
@@ -1142,8 +1142,8 @@
set f(_) {}
}
''');
- ClassElement element2 = findElement.class_('A');
- assertThat(element2.getField('f')!).isWrittenAt('f = 42', true);
+ ClassElement element = findElement.class_('A');
+ assertThat(element.getField('f')!).isWrittenAt('f = 42', true);
}
test_isReferencedBy_FieldElement_enum() async {
diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
index 2830ac1..deb7a75 100644
--- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
@@ -607,7 +607,7 @@
var v1 = findElement.topVar('v1');
var v2 = findElement.topVar('v2');
final v1Type = v1.type as InterfaceType;
- var randomElement = v1Type.element2 as ClassElement;
+ var randomElement = v1Type.element as ClassElement;
var expected = [
_expectId(v1, SearchResultKind.REFERENCE, 'Random v1;'),
_expectId(v2, SearchResultKind.REFERENCE, 'Random v2;'),
diff --git a/pkg/analyzer/test/src/dart/analysis/session_test.dart b/pkg/analyzer/test/src/dart/analysis/session_test.dart
index 0bd813c..b2019e3 100644
--- a/pkg/analyzer/test/src/dart/analysis/session_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/session_test.dart
@@ -341,7 +341,7 @@
var resolvedUnit =
await session.getResolvedUnit(test.path) as ResolvedUnitResult;
var typeProvider = resolvedUnit.typeProvider;
- var intClass = typeProvider.intType.element2;
+ var intClass = typeProvider.intType.element;
var parsedLibrary = session.getParsedLibraryValid(test.path);
@@ -564,7 +564,7 @@
expect(resolvedLibrary.session, session);
var typeProvider = resolvedLibrary.typeProvider;
- expect(typeProvider.intType.element2.name, 'int');
+ expect(typeProvider.intType.element.name, 'int');
var libraryElement = resolvedLibrary.element;
@@ -612,7 +612,7 @@
var resolvedLibrary = await session.getResolvedLibraryValid(test.path);
expect(() {
- var intClass = resolvedLibrary.typeProvider.intType.element2;
+ var intClass = resolvedLibrary.typeProvider.intType.element;
resolvedLibrary.getElementDeclaration(intClass);
}, throwsArgumentError);
}
diff --git a/pkg/analyzer/test/src/dart/element/element_test.dart b/pkg/analyzer/test/src/dart/element/element_test.dart
index f195ad5..3b870a0 100644
--- a/pkg/analyzer/test/src/dart/element/element_test.dart
+++ b/pkg/analyzer/test/src/dart/element/element_test.dart
@@ -848,7 +848,7 @@
void test_getElement() {
ClassElementImpl typeElement = class_(name: 'A');
InterfaceType type = interfaceTypeStar(typeElement);
- expect(type.element2, typeElement);
+ expect(type.element, typeElement);
}
void test_getGetter_implemented() {
@@ -947,7 +947,7 @@
List<InterfaceType> interfaces = typeBI.interfaces;
expect(interfaces, hasLength(1));
InterfaceType result = interfaces[0];
- expect(result.element2, same(A));
+ expect(result.element, same(A));
expect(result.typeArguments[0], same(typeI));
}
@@ -1059,7 +1059,7 @@
List<InterfaceType> interfaces = typeBI.mixins;
expect(interfaces, hasLength(1));
InterfaceType result = interfaces[0];
- expect(result.element2, same(A));
+ expect(result.element, same(A));
expect(result.typeArguments[0], same(typeI));
}
@@ -1144,7 +1144,7 @@
var typeI = interfaceTypeStar(class_(name: 'I'));
var typeBI = interfaceTypeStar(classB, typeArguments: <DartType>[typeI]);
InterfaceType superclass = typeBI.superclass!;
- expect(superclass.element2, same(A));
+ expect(superclass.element, same(A));
expect(superclass.typeArguments[0], same(typeI));
}
@@ -1274,7 +1274,7 @@
void test_getElement() {
TypeParameterElementImpl element = TypeParameterElementImpl('E', -1);
TypeParameterTypeImpl type = typeParameterTypeStar(element);
- expect(type.element2, element);
+ expect(type.element, element);
}
@deprecated
diff --git a/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart b/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart
index 9d5e541..a9ccedc 100644
--- a/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart
+++ b/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart
@@ -209,7 +209,7 @@
var inferredTypes = _inferCall(rawType, [S_and_int]);
var inferredType = inferredTypes[0] as TypeParameterTypeImpl;
- expect(inferredType.element2, S);
+ expect(inferredType.element, S);
expect(inferredType.promotedBound, isNull);
}
diff --git a/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart b/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
index f731879..4840c69 100644
--- a/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
+++ b/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
@@ -1329,7 +1329,7 @@
class A {}
''');
var member = manager.getMember2(
- typeProvider.objectType.element2,
+ typeProvider.objectType.element,
Name(null, 'hashCode'),
forSuper: true,
);
diff --git a/pkg/analyzer/test/src/dart/element/least_upper_bound_helper_test.dart b/pkg/analyzer/test/src/dart/element/least_upper_bound_helper_test.dart
index a9cf0eb..6c7f73f 100644
--- a/pkg/analyzer/test/src/dart/element/least_upper_bound_helper_test.dart
+++ b/pkg/analyzer/test/src/dart/element/least_upper_bound_helper_test.dart
@@ -173,7 +173,7 @@
}
void test_class_object() {
- expect(_longestPathToObject(typeProvider.objectType.element2), 0);
+ expect(_longestPathToObject(typeProvider.objectType.element), 0);
}
void test_class_recursion() {
diff --git a/pkg/analyzer/test/src/dart/element/nullable_test.dart b/pkg/analyzer/test/src/dart/element/nullable_test.dart
index 00da0e5..0cb9420 100644
--- a/pkg/analyzer/test/src/dart/element/nullable_test.dart
+++ b/pkg/analyzer/test/src/dart/element/nullable_test.dart
@@ -787,7 +787,7 @@
required DartType? promotedBound,
}) {
var actual = typeSystem.promoteToNonNull(type) as TypeParameterTypeImpl;
- expect(actual.element2, same(element));
+ expect(actual.element, same(element));
expect(actual.promotedBound, promotedBound);
expect(actual.nullabilitySuffix, NullabilitySuffix.none);
}
diff --git a/pkg/analyzer/test/src/dart/element/string_types.dart b/pkg/analyzer/test/src/dart/element/string_types.dart
index b61bfcd..bd2c514 100644
--- a/pkg/analyzer/test/src/dart/element/string_types.dart
+++ b/pkg/analyzer/test/src/dart/element/string_types.dart
@@ -593,8 +593,8 @@
@override
void visitTypeParameterType(TypeParameterType type) {
- if (!functionTypeParameters.contains(type.element2)) {
- var bound = type.element2.bound;
+ if (!functionTypeParameters.contains(type.element)) {
+ var bound = type.element.bound;
if (bound == null) {
return;
@@ -603,7 +603,7 @@
var str = '';
var boundStr = bound.getDisplayString(withNullability: true);
- str += '${type.element2.name} extends $boundStr';
+ str += '${type.element.name} extends $boundStr';
typeParameters.add(str);
}
diff --git a/pkg/analyzer/test/src/dart/element/type_algebra_test.dart b/pkg/analyzer/test/src/dart/element/type_algebra_test.dart
index d930a78..0440c40 100644
--- a/pkg/analyzer/test/src/dart/element/type_algebra_test.dart
+++ b/pkg/analyzer/test/src/dart/element/type_algebra_test.dart
@@ -264,8 +264,8 @@
var T2 = result.typeFormals[0];
var U2 = result.typeFormals[1];
var T2boundArgs = (T2.bound as InterfaceType).typeArguments;
- expect((T2boundArgs[0] as TypeParameterType).element2, same(T2));
- expect((T2boundArgs[1] as TypeParameterType).element2, same(U2));
+ expect((T2boundArgs[0] as TypeParameterType).element, same(T2));
+ expect((T2boundArgs[1] as TypeParameterType).element, same(U2));
}
test_interface_arguments() async {
@@ -468,7 +468,7 @@
{tElement: typeArgument},
).substituteType(
TypeParameterTypeImpl(
- element2: tElement,
+ element: tElement,
nullabilitySuffix: typeParameterNullability,
),
);
diff --git a/pkg/analyzer/test/src/dart/resolution/binary_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/binary_pattern_test.dart
index 15d2a35..8db3cdc 100644
--- a/pkg/analyzer/test/src/dart/resolution/binary_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/binary_pattern_test.dart
@@ -8,17 +8,16 @@
main() {
defineReflectiveSuite(() {
- defineReflectiveTests(BinaryPattern_LogicalAnd_ResolutionTest);
- defineReflectiveTests(BinaryPattern_LogicalOr_ResolutionTest);
+ defineReflectiveTests(BinaryPatternResolutionTest);
});
}
@reflectiveTest
-class BinaryPattern_LogicalAnd_ResolutionTest extends PatternsResolutionTest {
- test_inside_ifStatement_case() async {
+class BinaryPatternResolutionTest extends PatternsResolutionTest {
+ test_logicalAnd_ifCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
- if (x case int? _ & double? _) {}
+ if (x case int _ & double _) {}
}
''');
final node = findNode.caseClause('case').pattern;
@@ -30,8 +29,7 @@
token: int
staticElement: dart:core::@class::int
staticType: null
- question: ?
- type: int?
+ type: int
name: _
operator: &
rightOperand: VariablePattern
@@ -40,107 +38,16 @@
token: double
staticElement: dart:core::@class::double
staticType: null
- question: ?
- type: double?
+ type: double
name: _
''');
}
- test_inside_logicalAnd_left() async {
+ test_logicalAnd_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case int? _ & double? _ & Object? _:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- question: ?
- type: int?
- name: _
- operator: &
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- name: _
- operator: &
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- question: ?
- type: Object?
- name: _
-''');
- }
-
- test_inside_logicalOr_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int? _ & double? _ | Object? _:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- question: ?
- type: int?
- name: _
- operator: &
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- name: _
- operator: |
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- question: ?
- type: Object?
- name: _
-''');
- }
-
- test_inside_logicalOr_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int? _ | double? _ & Object? _:
+ case int _ & double _:
break;
}
}
@@ -154,40 +61,24 @@
token: int
staticElement: dart:core::@class::int
staticType: null
- question: ?
- type: int?
+ type: int
name: _
- operator: |
- rightOperand: BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- name: _
- operator: &
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- question: ?
- type: Object?
- name: _
+ operator: &
+ rightOperand: VariablePattern
+ type: NamedType
+ name: SimpleIdentifier
+ token: double
+ staticElement: dart:core::@class::double
+ staticType: null
+ type: double
+ name: _
''');
}
-}
-@reflectiveTest
-class BinaryPattern_LogicalOr_ResolutionTest extends PatternsResolutionTest {
- test_inside_ifStatement_case() async {
+ test_logicalOr_ifCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
- if (x case int? _ | double? _) {}
+ if (x case int _ | double _) {}
}
''');
final node = findNode.caseClause('case').pattern;
@@ -199,8 +90,7 @@
token: int
staticElement: dart:core::@class::int
staticType: null
- question: ?
- type: int?
+ type: int
name: _
operator: |
rightOperand: VariablePattern
@@ -209,17 +99,16 @@
token: double
staticElement: dart:core::@class::double
staticType: null
- question: ?
- type: double?
+ type: double
name: _
''');
}
- test_inside_logicalOr_left() async {
+ test_logicalOr_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case int? _ | double? _ | Object? _:
+ case int _ | double _:
break;
}
}
@@ -227,35 +116,22 @@
final node = findNode.switchPatternCase('case').pattern;
assertResolvedNodeText(node, r'''
BinaryPattern
- leftOperand: BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- question: ?
- type: int?
- name: _
- operator: |
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- name: _
+ leftOperand: VariablePattern
+ type: NamedType
+ name: SimpleIdentifier
+ token: int
+ staticElement: dart:core::@class::int
+ staticType: null
+ type: int
+ name: _
operator: |
rightOperand: VariablePattern
type: NamedType
name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
+ token: double
+ staticElement: dart:core::@class::double
staticType: null
- question: ?
- type: Object?
+ type: double
name: _
''');
}
diff --git a/pkg/analyzer/test/src/dart/resolution/cast_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/cast_pattern_test.dart
index bfe23fd..966c493 100644
--- a/pkg/analyzer/test/src/dart/resolution/cast_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/cast_pattern_test.dart
@@ -14,80 +14,7 @@
@reflectiveTest
class CastPatternResolutionTest extends PatternsResolutionTest {
- test_inside_extractorPattern_explicitName() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(f: 0 as int):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: CastPattern
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- rightParenthesis: )
-''');
- }
-
- test_inside_extractorPattern_implicitName() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(: var f as int):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: CastPattern
- pattern: VariablePattern
- keyword: var
- name: f
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- rightParenthesis: )
-''');
- }
-
- test_inside_ifStatement_case() async {
+ test_ifCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
if (x case var y as int) {}
@@ -106,362 +33,7 @@
''');
}
- test_inside_listPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [0 as int]:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- elements
- CastPattern
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- rightBracket: ]
-''');
- }
-
- test_inside_logicalAnd_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int? _ as double? & Object? _:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: CastPattern
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- question: ?
- type: int?
- name: _
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- operator: &
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- question: ?
- type: Object?
- name: _
-''');
- }
-
- test_inside_logicalAnd_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int? _ & double? _ as Object?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- question: ?
- type: int?
- name: _
- operator: &
- rightOperand: CastPattern
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- name: _
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- question: ?
- type: Object?
-''');
- }
-
- test_inside_logicalOr_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int? _ as double? | Object? _:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: CastPattern
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- question: ?
- type: int?
- name: _
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- operator: |
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- question: ?
- type: Object?
- name: _
-''');
- }
-
- test_inside_logicalOr_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int? _ | double? _ as Object?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- question: ?
- type: int?
- name: _
- operator: |
- rightOperand: CastPattern
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: double
- staticElement: dart:core::@class::double
- staticType: null
- question: ?
- type: double?
- name: _
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- question: ?
- type: Object?
-''');
- }
-
- test_inside_mapPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {'a': 0 as int}:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-MapPattern
- leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: CastPattern
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- rightBracket: }
-''');
- }
-
- test_inside_parenthesizedPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (0 as int):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-ParenthesizedPattern
- leftParenthesis: (
- pattern: CastPattern
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_namedExplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (n: 1 as int, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: n
- colon: :
- pattern: CastPattern
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_namedImplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (: var n as int, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: CastPattern
- pattern: VariablePattern
- keyword: var
- name: n
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_unnamed() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (1 as int, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: CastPattern
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: int
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_switchStatement_case() async {
+ test_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x, y) {
switch (x) {
diff --git a/pkg/analyzer/test/src/dart/resolution/constant_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/constant_pattern_test.dart
index f4ea1b2..aceba48 100644
--- a/pkg/analyzer/test/src/dart/resolution/constant_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/constant_pattern_test.dart
@@ -8,223 +8,28 @@
main() {
defineReflectiveSuite(() {
- defineReflectiveTests(ConstantPattern_BooleanLiteral_ResolutionTest);
- defineReflectiveTests(ConstantPattern_DoubleLiteral_ResolutionTest);
- defineReflectiveTests(ConstantPattern_IntegerLiteral_ResolutionTest);
- defineReflectiveTests(ConstantPattern_NullLiteral_ResolutionTest);
- defineReflectiveTests(ConstantPattern_SimpleIdentifier_ResolutionTest);
- defineReflectiveTests(ConstantPattern_SimpleStringLiteral_ResolutionTest);
+ defineReflectiveTests(ConstantPatternResolutionTest);
});
}
@reflectiveTest
-class ConstantPattern_BooleanLiteral_ResolutionTest
- extends PatternsResolutionTest {
- test_inside_castPattern() async {
+class ConstantPatternResolutionTest extends PatternsResolutionTest {
+ test_ifCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
- switch (x) {
- case true as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: ConstantPattern
- expression: BooleanLiteral
- literal: true
- staticType: bool
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case true) {}
+ if (x case 0) {}
}
''');
final node = findNode.caseClause('case').pattern;
assertResolvedNodeText(node, r'''
ConstantPattern
- expression: BooleanLiteral
- literal: true
- staticType: bool
+ expression: IntegerLiteral
+ literal: 0
+ staticType: int
''');
}
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case true!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: BooleanLiteral
- literal: true
- staticType: bool
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case true?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: BooleanLiteral
- literal: true
- staticType: bool
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case true:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ConstantPattern
- expression: BooleanLiteral
- literal: true
-''');
- }
-}
-
-@reflectiveTest
-class ConstantPattern_DoubleLiteral_ResolutionTest
- extends PatternsResolutionTest {
- test_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1.0 as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: ConstantPattern
- expression: DoubleLiteral
- literal: 1.0
- staticType: double
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case 1.0) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-ConstantPattern
- expression: DoubleLiteral
- literal: 1.0
- staticType: double
-''');
- }
-
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1.0!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: DoubleLiteral
- literal: 1.0
- staticType: double
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1.0?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: DoubleLiteral
- literal: 1.0
- staticType: double
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1.0:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ConstantPattern
- expression: DoubleLiteral
- literal: 1.0
-''');
- }
-}
-
-@reflectiveTest
-class ConstantPattern_IntegerLiteral_ResolutionTest
- extends PatternsResolutionTest {
- test_contextType_double() async {
+ test_integerLiteral_contextType_double() async {
await assertNoErrorsInCode(r'''
void f(double x) {
switch (x) {
@@ -242,239 +47,7 @@
''');
}
- test_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 0 as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case 0) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
-''');
- }
-
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 0!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 0?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 0:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
-''');
- }
-}
-
-@reflectiveTest
-class ConstantPattern_NullLiteral_ResolutionTest
- extends PatternsResolutionTest {
- test_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case null as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: ConstantPattern
- expression: NullLiteral
- literal: null
- staticType: Null
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case null) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-ConstantPattern
- expression: NullLiteral
- literal: null
- staticType: Null
-''');
- }
-
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case null!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: NullLiteral
- literal: null
- staticType: Null
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case null?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: NullLiteral
- literal: null
- staticType: Null
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case null:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ConstantPattern
- expression: NullLiteral
- literal: null
-''');
- }
-}
-
-@reflectiveTest
-class ConstantPattern_SimpleIdentifier_ResolutionTest
- extends PatternsResolutionTest {
- test_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x, int y) {
- switch (x) {
- case y as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: ConstantPattern
- expression: SimpleIdentifier
- token: y
- staticElement: self::@function::f::@parameter::y
- staticType: int
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_inside_ifStatement_case() async {
+ test_simpleIdentifier_ifCase() async {
await assertNoErrorsInCode(r'''
void f(x, int y) {
if (x case y) {}
@@ -490,160 +63,21 @@
''');
}
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x, int y) {
- switch (x) {
- case y!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: SimpleIdentifier
- token: y
- staticElement: self::@function::f::@parameter::y
- staticType: int
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x, int y) {
- switch (x) {
- case y?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: SimpleIdentifier
- token: y
- staticElement: self::@function::f::@parameter::y
- staticType: int
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x, y) {
- switch (x) {
- case y:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ConstantPattern
- expression: SimpleIdentifier
- token: y
-''');
- }
-}
-
-@reflectiveTest
-class ConstantPattern_SimpleStringLiteral_ResolutionTest
- extends PatternsResolutionTest {
- test_inside_castPattern() async {
+ test_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case 'x' as Object:
+ case 0:
break;
}
}
''');
final node = findNode.switchPatternCase('case').pattern;
assertResolvedNodeText(node, r'''
-CastPattern
- pattern: ConstantPattern
- expression: SimpleStringLiteral
- literal: 'x'
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case 'x') {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
ConstantPattern
- expression: SimpleStringLiteral
- literal: 'x'
-''');
- }
-
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 'x'!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: SimpleStringLiteral
- literal: 'x'
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 'x'?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: ConstantPattern
- expression: SimpleStringLiteral
- literal: 'x'
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 'x':
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ConstantPattern
- expression: SimpleStringLiteral
- literal: 'x'
+ expression: IntegerLiteral
+ literal: 0
+ staticType: int
''');
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/extractor_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/extractor_pattern_test.dart
index 349065a..bca07ff 100644
--- a/pkg/analyzer/test/src/dart/resolution/extractor_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/extractor_pattern_test.dart
@@ -14,108 +14,25 @@
@reflectiveTest
class ExtractorPatternResolutionTest extends PatternsResolutionTest {
- test_identifier_inside_castPattern() async {
+ test_identifier_noTypeArguments() async {
await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
+class C {}
void f(x) {
switch (x) {
- case C(f: 0) as Object:
+ case C():
break;
}
}
''');
final node = findNode.switchPatternCase('case').pattern;
assertParsedNodeText(node, r'''
-CastPattern
- pattern: ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- asToken: as
+ExtractorPattern
type: NamedType
name: SimpleIdentifier
- token: Object
-''');
- }
-
- test_identifier_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(f: 0)!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- operator: !
-''');
- }
-
- test_identifier_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(f: 0)?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- operator: ?
+ token: C
+ leftParenthesis: (
+ rightParenthesis: )
''');
}
@@ -148,73 +65,9 @@
''');
}
- test_identifier_withTypeArguments_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-class C<T> {}
-
-void f(x) {
- switch (x) {
- case C<int>()!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- typeArguments: TypeArgumentList
- leftBracket: <
- arguments
- NamedType
- name: SimpleIdentifier
- token: int
- rightBracket: >
- leftParenthesis: (
- rightParenthesis: )
- operator: !
-''');
- }
-
- test_identifier_withTypeArguments_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-class C<T> {}
-
-void f(x) {
- switch (x) {
- case C<int>()?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- typeArguments: TypeArgumentList
- leftBracket: <
- arguments
- NamedType
- name: SimpleIdentifier
- token: int
- rightBracket: >
- leftParenthesis: (
- rightParenthesis: )
- operator: ?
-''');
- }
-
- test_prefixedIdentifier_inside_castPattern() async {
+ test_prefixedIdentifier_noTypeArguments() async {
newFile('$testPackageLibPath/a.dart', r'''
-class C {
- int? f;
-}
+class C {}
''');
await assertNoErrorsInCode(r'''
@@ -222,7 +75,7 @@
void f(x) {
switch (x) {
- case prefix.C(f: 0) as Object:
+ case prefix.C():
break;
}
}
@@ -230,115 +83,16 @@
final node = findNode.switchPatternCase('case').pattern;
assertParsedNodeText(node, r'''
-CastPattern
- pattern: ExtractorPattern
- type: NamedType
- name: PrefixedIdentifier
- prefix: SimpleIdentifier
- token: prefix
- period: .
- identifier: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- asToken: as
+ExtractorPattern
type: NamedType
- name: SimpleIdentifier
- token: Object
-''');
- }
-
- test_prefixedIdentifier_inside_nullAssert() async {
- newFile('$testPackageLibPath/a.dart', r'''
-class C {
- int? f;
-}
-''');
-
- await assertNoErrorsInCode(r'''
-import 'a.dart' as prefix;
-
-void f(x) {
- switch (x) {
- case prefix.C(f: 0)!:
- break;
- }
-}
-''');
-
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: PrefixedIdentifier
- prefix: SimpleIdentifier
- token: prefix
- period: .
- identifier: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- operator: !
-''');
- }
-
- test_prefixedIdentifier_inside_nullCheck() async {
- newFile('$testPackageLibPath/a.dart', r'''
-class C {
- int? f;
-}
-''');
-
- await assertNoErrorsInCode(r'''
-import 'a.dart' as prefix;
-
-void f(x) {
- switch (x) {
- case prefix.C(f: 0)?:
- break;
- }
-}
-''');
-
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: PrefixedIdentifier
- prefix: SimpleIdentifier
- token: prefix
- period: .
- identifier: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- operator: ?
+ name: PrefixedIdentifier
+ prefix: SimpleIdentifier
+ token: prefix
+ period: .
+ identifier: SimpleIdentifier
+ token: C
+ leftParenthesis: (
+ rightParenthesis: )
''');
}
@@ -379,84 +133,4 @@
rightParenthesis: )
''');
}
-
- test_prefixedIdentifier_withTypeArguments_inside_nullAssert() async {
- newFile('$testPackageLibPath/a.dart', r'''
-class C<T> {}
-''');
-
- await assertNoErrorsInCode(r'''
-import 'a.dart' as prefix;
-
-void f(x) {
- switch (x) {
- case prefix.C<int>()!:
- break;
- }
-}
-''');
-
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: PrefixedIdentifier
- prefix: SimpleIdentifier
- token: prefix
- period: .
- identifier: SimpleIdentifier
- token: C
- typeArguments: TypeArgumentList
- leftBracket: <
- arguments
- NamedType
- name: SimpleIdentifier
- token: int
- rightBracket: >
- leftParenthesis: (
- rightParenthesis: )
- operator: !
-''');
- }
-
- test_prefixedIdentifier_withTypeArguments_inside_nullCheck() async {
- newFile('$testPackageLibPath/a.dart', r'''
-class C<T> {}
-''');
-
- await assertNoErrorsInCode(r'''
-import 'a.dart' as prefix;
-
-void f(x) {
- switch (x) {
- case prefix.C<int>()?:
- break;
- }
-}
-''');
-
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ExtractorPattern
- type: NamedType
- name: PrefixedIdentifier
- prefix: SimpleIdentifier
- token: prefix
- period: .
- identifier: SimpleIdentifier
- token: C
- typeArguments: TypeArgumentList
- leftBracket: <
- arguments
- NamedType
- name: SimpleIdentifier
- token: int
- rightBracket: >
- leftParenthesis: (
- rightParenthesis: )
- operator: ?
-''');
- }
}
diff --git a/pkg/analyzer/test/src/dart/resolution/list_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/list_pattern_test.dart
index d31801d..f903b33 100644
--- a/pkg/analyzer/test/src/dart/resolution/list_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/list_pattern_test.dart
@@ -14,7 +14,28 @@
@reflectiveTest
class ListPatternResolutionTest extends PatternsResolutionTest {
- test_empty() async {
+ test_elements_constant() async {
+ await assertNoErrorsInCode(r'''
+void f(x) {
+ switch (x) {
+ case [0]:
+ break;
+ }
+}
+''');
+ final node = findNode.switchPatternCase('case').pattern;
+ assertParsedNodeText(node, r'''
+ListPattern
+ leftBracket: [
+ elements
+ ConstantPattern
+ expression: IntegerLiteral
+ literal: 0
+ rightBracket: ]
+''');
+ }
+
+ test_elements_empty() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
@@ -31,137 +52,6 @@
''');
}
- test_empty_withWhitespace() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [ ]:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- rightBracket: ]
-''');
- }
-
- test_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [0] as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-CastPattern
- pattern: ListPattern
- leftBracket: [
- elements
- ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightBracket: ]
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
-''');
- }
-
- test_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case [0]) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- elements
- ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightBracket: ]
-''');
- }
-
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [0]!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ListPattern
- leftBracket: [
- elements
- ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightBracket: ]
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [0]?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ListPattern
- leftBracket: [
- elements
- ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightBracket: ]
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [1, 2]:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- elements
- ConstantPattern
- expression: IntegerLiteral
- literal: 1
- ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightBracket: ]
-''');
- }
-
test_withTypeArguments() async {
await assertNoErrorsInCode(r'''
void f(x) {
diff --git a/pkg/analyzer/test/src/dart/resolution/map_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/map_pattern_test.dart
index 08588af..00adeb4 100644
--- a/pkg/analyzer/test/src/dart/resolution/map_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/map_pattern_test.dart
@@ -14,41 +14,7 @@
@reflectiveTest
class MapPatternResolutionTest extends PatternsResolutionTest {
- test_empty() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {}:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-MapPattern
- leftBracket: {
- rightBracket: }
-''');
- }
-
- test_empty_withWhitespace() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case { }:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-MapPattern
- leftBracket: {
- rightBracket: }
-''');
- }
-
- test_inside_castPattern() async {
+ test_elements_constant() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
@@ -78,65 +44,11 @@
''');
}
- test_inside_nullAssert() async {
+ test_elements_empty() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case {'a': 0}!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: MapPattern
- leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightBracket: }
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {'a': 0}?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: MapPattern
- leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightBracket: }
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {'a': 1, 'b': 2}:
+ case {}:
break;
}
}
@@ -145,21 +57,6 @@
assertParsedNodeText(node, r'''
MapPattern
leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'b'
- separator: :
- value: ConstantPattern
- expression: IntegerLiteral
- literal: 2
rightBracket: }
''');
}
diff --git a/pkg/analyzer/test/src/dart/resolution/parenthesized_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/parenthesized_pattern_test.dart
index 642818e..7ea0250 100644
--- a/pkg/analyzer/test/src/dart/resolution/parenthesized_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/parenthesized_pattern_test.dart
@@ -14,18 +14,16 @@
@reflectiveTest
class ParenthesizedPatternResolutionTest extends PatternsResolutionTest {
- test_inside_castPattern() async {
+ test_ifCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
- switch (x) {
- case (0) as Object:
- break;
- }
+ if (x case (0)) {}
}
''');
- final node = findNode.switchPatternCase('case').pattern;
+ final node = findNode.caseClause('case');
assertResolvedNodeText(node, r'''
-CastPattern
+CaseClause
+ caseKeyword: case
pattern: ParenthesizedPattern
leftParenthesis: (
pattern: ConstantPattern
@@ -33,57 +31,27 @@
literal: 0
staticType: int
rightParenthesis: )
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
''');
}
- test_inside_nullAssert() async {
+ test_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case (0)!:
+ case (0):
break;
}
}
''');
final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ParenthesizedPattern
- leftParenthesis: (
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (0)?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: ParenthesizedPattern
- leftParenthesis: (
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- rightParenthesis: )
- operator: ?
+ assertResolvedNodeText(node, r'''
+ParenthesizedPattern
+ leftParenthesis: (
+ pattern: ConstantPattern
+ expression: IntegerLiteral
+ literal: 0
+ staticType: int
+ rightParenthesis: )
''');
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/postfix_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/postfix_pattern_test.dart
index 8ae83e5..0dcfa05 100644
--- a/pkg/analyzer/test/src/dart/resolution/postfix_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/postfix_pattern_test.dart
@@ -8,81 +8,13 @@
main() {
defineReflectiveSuite(() {
- defineReflectiveTests(PostfixPattern_NullAssert_ResolutionTest);
- defineReflectiveTests(PostfixPattern_NullCheck_ResolutionTest);
+ defineReflectiveTests(PostfixPatternResolutionTest);
});
}
@reflectiveTest
-class PostfixPattern_NullAssert_ResolutionTest extends PatternsResolutionTest {
- test_inside_extractorPattern_namedExplicitly() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(f: 0!):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- operator: !
- rightParenthesis: )
-''');
- }
-
- test_inside_extractorPattern_namedImplicitly() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(: var f!):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: PostfixPattern
- operand: VariablePattern
- keyword: var
- name: f
- operator: !
- rightParenthesis: )
-''');
- }
-
- test_inside_ifStatement_case() async {
+class PostfixPatternResolutionTest extends PatternsResolutionTest {
+ test_nullAssert_ifCase() async {
await assertNoErrorsInCode(r'''
void f(int? x) {
if (x case var y!) {}
@@ -100,277 +32,11 @@
''');
}
- test_inside_listPattern() async {
+ test_nullAssert_switchCase() async {
await assertNoErrorsInCode(r'''
-void f(x) {
+void f(int? x) {
switch (x) {
- case [0!]:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- elements
- PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- operator: !
- rightBracket: ]
-''');
- }
-
- test_inside_logicalAnd_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1! & 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: !
- operator: &
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
-''');
- }
-
- test_inside_logicalAnd_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 & 2!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: &
- rightOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
- operator: !
-''');
- }
-
- test_inside_logicalOr_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1! | 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: !
- operator: |
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
-''');
- }
-
- test_inside_logicalOr_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 | 2!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: |
- rightOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
- operator: !
-''');
- }
-
- test_inside_mapPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {'a': 0!}:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-MapPattern
- leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- operator: !
- rightBracket: }
-''');
- }
-
- test_inside_parenthesizedPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (0!):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-ParenthesizedPattern
- leftParenthesis: (
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
- operator: !
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_namedExplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (n: 1!, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: n
- colon: :
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- operator: !
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_namedImplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (: var n!, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: PostfixPattern
- operand: VariablePattern
- keyword: var
- name: n
- operator: !
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_unnamed() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (1!, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- operator: !
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x, int y) {
- switch (x) {
- case y!:
+ case var y!:
break;
}
}
@@ -378,86 +44,16 @@
final node = findNode.switchPatternCase('case').pattern;
assertResolvedNodeText(node, r'''
PostfixPattern
- operand: ConstantPattern
- expression: SimpleIdentifier
- token: y
- staticElement: self::@function::f::@parameter::y
- staticType: int
+ operand: VariablePattern
+ keyword: var
+ name: y
+ declaredElement: hasImplicitType y@45
+ type: int
operator: !
''');
}
-}
-@reflectiveTest
-class PostfixPattern_NullCheck_ResolutionTest extends PatternsResolutionTest {
- test_inside_extractorPattern_namedExplicitly() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(f: 0?):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- operator: ?
- rightParenthesis: )
-''');
- }
-
- test_inside_extractorPattern_namedImplicitly() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(: var f?):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: PostfixPattern
- operand: VariablePattern
- keyword: var
- name: f
- operator: ?
- rightParenthesis: )
-''');
- }
-
- test_inside_ifStatement_case() async {
+ test_nullCheck_ifCase() async {
await assertNoErrorsInCode(r'''
void f(int? x) {
if (x case var y?) {}
@@ -475,277 +71,11 @@
''');
}
- test_inside_listPattern() async {
+ test_nullCheck_switchCase() async {
await assertNoErrorsInCode(r'''
-void f(x) {
+void f(int? x) {
switch (x) {
- case [0?]:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- elements
- PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- operator: ?
- rightBracket: ]
-''');
- }
-
- test_inside_logicalAnd_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1? & 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: ?
- operator: &
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
-''');
- }
-
- test_inside_logicalAnd_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 & 2?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: &
- rightOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
- operator: ?
-''');
- }
-
- test_inside_logicalOr_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1? | 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: ?
- operator: |
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
-''');
- }
-
- test_inside_logicalOr_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 | 2?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: |
- rightOperand: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
- operator: ?
-''');
- }
-
- test_inside_mapPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {'a': 0?}:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-MapPattern
- leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- operator: ?
- rightBracket: }
-''');
- }
-
- test_inside_parenthesizedPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (0?):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-ParenthesizedPattern
- leftParenthesis: (
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 0
- staticType: int
- operator: ?
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_namedExplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (n: 1?, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: n
- colon: :
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- operator: ?
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_namedImplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (: var n?, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: PostfixPattern
- operand: VariablePattern
- keyword: var
- name: n
- operator: ?
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_unnamed() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (1?, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: PostfixPattern
- operand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- operator: ?
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x, int y) {
- switch (x) {
- case y?:
+ case var y?:
break;
}
}
@@ -753,11 +83,11 @@
final node = findNode.switchPatternCase('case').pattern;
assertResolvedNodeText(node, r'''
PostfixPattern
- operand: ConstantPattern
- expression: SimpleIdentifier
- token: y
- staticElement: self::@function::f::@parameter::y
- staticType: int
+ operand: VariablePattern
+ keyword: var
+ name: y
+ declaredElement: hasImplicitType y@45
+ type: int
operator: ?
''');
}
diff --git a/pkg/analyzer/test/src/dart/resolution/record_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/record_pattern_test.dart
index 2363a85..fea3465 100644
--- a/pkg/analyzer/test/src/dart/resolution/record_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/record_pattern_test.dart
@@ -14,7 +14,7 @@
@reflectiveTest
class RecordPatternResolutionTest extends PatternsResolutionTest {
- test_empty() async {
+ test_fields_empty() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
@@ -31,94 +31,7 @@
''');
}
- test_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (1, 2) as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-CastPattern
- pattern: RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
-''');
- }
-
- test_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (1, 2)!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
- operator: !
-''');
- }
-
- test_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (1, 2)?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-PostfixPattern
- operand: RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
- operator: ?
-''');
- }
-
- test_inside_switchStatement_case() async {
+ test_fields_pair() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
@@ -144,7 +57,7 @@
''');
}
- test_singleton() async {
+ test_fields_singleton() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
diff --git a/pkg/analyzer/test/src/dart/resolution/relational_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/relational_pattern_test.dart
index cbdb350..05fe7e8 100644
--- a/pkg/analyzer/test/src/dart/resolution/relational_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/relational_pattern_test.dart
@@ -18,338 +18,6 @@
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case == 1 << 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RelationalPattern
- operator: ==
- operand: BinaryExpression
- leftOperand: IntegerLiteral
- literal: 1
- operator: <<
- rightOperand: IntegerLiteral
- literal: 2
-''');
- }
-
- test_greaterThan() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case > 1 << 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RelationalPattern
- operator: >
- operand: BinaryExpression
- leftOperand: IntegerLiteral
- literal: 1
- operator: <<
- rightOperand: IntegerLiteral
- literal: 2
-''');
- }
-
- test_greaterThanOrEqualTo() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case >= 1 << 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RelationalPattern
- operator: >=
- operand: BinaryExpression
- leftOperand: IntegerLiteral
- literal: 1
- operator: <<
- rightOperand: IntegerLiteral
- literal: 2
-''');
- }
-
- test_inside_extractorPattern() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(f: == 0):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 0
- rightParenthesis: )
-''');
- }
-
- test_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case == 0) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertParsedNodeText(node, r'''
-RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 0
-''');
- }
-
- test_inside_listPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [== 0]:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- elements
- RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 0
- rightBracket: ]
-''');
- }
-
- test_inside_logicalAnd_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case == 1 & 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-BinaryPattern
- leftOperand: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 1
- operator: &
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
-''');
- }
-
- test_inside_logicalAnd_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 & == 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- operator: &
- rightOperand: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 2
-''');
- }
-
- test_inside_logicalOr_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case == 1 | 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-BinaryPattern
- leftOperand: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 1
- operator: |
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
-''');
- }
-
- test_inside_logicalOr_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 | == 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- operator: |
- rightOperand: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 2
-''');
- }
-
- test_inside_mapPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {'a': == 0}:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-MapPattern
- leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 0
- rightBracket: }
-''');
- }
-
- test_inside_parenthesizedPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (== 0):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ParenthesizedPattern
- leftParenthesis: (
- pattern: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 0
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_named() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (a: == 1, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: a
- colon: :
- pattern: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 1
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_recordPattern_unnamed() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (== 1, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: RelationalPattern
- operator: ==
- operand: IntegerLiteral
- literal: 1
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
case == 0:
break;
}
@@ -364,11 +32,62 @@
''');
}
+ test_greaterThan() async {
+ await assertNoErrorsInCode(r'''
+void f(x) {
+ switch (x) {
+ case > 0:
+ break;
+ }
+}
+''');
+ final node = findNode.switchPatternCase('case').pattern;
+ assertParsedNodeText(node, r'''
+RelationalPattern
+ operator: >
+ operand: IntegerLiteral
+ literal: 0
+''');
+ }
+
+ test_greaterThanOrEqualTo() async {
+ await assertNoErrorsInCode(r'''
+void f(x) {
+ switch (x) {
+ case >= 0:
+ break;
+ }
+}
+''');
+ final node = findNode.switchPatternCase('case').pattern;
+ assertParsedNodeText(node, r'''
+RelationalPattern
+ operator: >=
+ operand: IntegerLiteral
+ literal: 0
+''');
+ }
+
+ test_ifCase() async {
+ await assertNoErrorsInCode(r'''
+void f(x) {
+ if (x case == 0) {}
+}
+''');
+ final node = findNode.caseClause('case').pattern;
+ assertParsedNodeText(node, r'''
+RelationalPattern
+ operator: ==
+ operand: IntegerLiteral
+ literal: 0
+''');
+ }
+
test_lessThan() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case < 1 << 2:
+ case < 0:
break;
}
}
@@ -377,12 +96,8 @@
assertParsedNodeText(node, r'''
RelationalPattern
operator: <
- operand: BinaryExpression
- leftOperand: IntegerLiteral
- literal: 1
- operator: <<
- rightOperand: IntegerLiteral
- literal: 2
+ operand: IntegerLiteral
+ literal: 0
''');
}
@@ -390,7 +105,7 @@
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case <= 1 << 2:
+ case <= 0:
break;
}
}
@@ -399,12 +114,8 @@
assertParsedNodeText(node, r'''
RelationalPattern
operator: <=
- operand: BinaryExpression
- leftOperand: IntegerLiteral
- literal: 1
- operator: <<
- rightOperand: IntegerLiteral
- literal: 2
+ operand: IntegerLiteral
+ literal: 0
''');
}
@@ -412,7 +123,7 @@
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
- case != 1 << 2:
+ case != 0:
break;
}
}
@@ -421,12 +132,26 @@
assertParsedNodeText(node, r'''
RelationalPattern
operator: !=
- operand: BinaryExpression
- leftOperand: IntegerLiteral
- literal: 1
- operator: <<
- rightOperand: IntegerLiteral
- literal: 2
+ operand: IntegerLiteral
+ literal: 0
+''');
+ }
+
+ test_switchCase() async {
+ await assertNoErrorsInCode(r'''
+void f(x) {
+ switch (x) {
+ case == 0:
+ break;
+ }
+}
+''');
+ final node = findNode.switchPatternCase('case').pattern;
+ assertParsedNodeText(node, r'''
+RelationalPattern
+ operator: ==
+ operand: IntegerLiteral
+ literal: 0
''');
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/resolution.dart b/pkg/analyzer/test/src/dart/resolution/resolution.dart
index de18f99..49e5508 100644
--- a/pkg/analyzer/test/src/dart/resolution/resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/resolution.dart
@@ -48,7 +48,7 @@
InterfaceType get doubleType => typeProvider.doubleType;
Element get dynamicElement =>
- (typeProvider.dynamicType as DynamicTypeImpl).element2;
+ (typeProvider.dynamicType as DynamicTypeImpl).element;
FeatureSet get featureSet => result.libraryElement.featureSet;
@@ -73,7 +73,7 @@
ClassElement get numElement => typeProvider.numElement;
ClassElement get objectElement =>
- typeProvider.objectType.element2 as ClassElement;
+ typeProvider.objectType.element as ClassElement;
InterfaceType get objectType => typeProvider.objectType;
diff --git a/pkg/analyzer/test/src/dart/resolution/variable_pattern_test.dart b/pkg/analyzer/test/src/dart/resolution/variable_pattern_test.dart
index 09c4cac..c5f3de6 100644
--- a/pkg/analyzer/test/src/dart/resolution/variable_pattern_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/variable_pattern_test.dart
@@ -2,7 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'context_collection_resolution.dart';
@@ -15,92 +14,7 @@
@reflectiveTest
class VariablePatternResolutionTest extends PatternsResolutionTest {
- test_final_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(int x) {
- switch (x) {
- case final y as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: VariablePattern
- keyword: final
- name: y
- declaredElement: hasImplicitType isFinal y@46
- type: Object
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_final_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(int x) {
- if (x case final y) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-VariablePattern
- keyword: final
- name: y
- declaredElement: hasImplicitType isFinal y@35
- type: int
-''');
- }
-
- test_final_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(int? x) {
- switch (x) {
- case final y!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- keyword: final
- name: y
- declaredElement: hasImplicitType isFinal y@47
- type: int
- operator: !
-''');
- }
-
- test_final_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(int? x) {
- switch (x) {
- case final y?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- keyword: final
- name: y
- declaredElement: hasImplicitType isFinal y@47
- type: int
- operator: ?
-''');
- }
-
- test_final_inside_switchStatement_case() async {
+ test_final_switchCase() async {
await assertNoErrorsInCode(r'''
void f(int x) {
switch (x) {
@@ -119,116 +33,7 @@
''');
}
- test_final_typed_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case final int y as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: VariablePattern
- keyword: final
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: isFinal y@46
- type: int
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_final_typed_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case final int y) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-VariablePattern
- keyword: final
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: isFinal y@35
- type: int
-''');
- }
-
- test_final_typed_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case final int y!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- keyword: final
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: isFinal y@46
- type: int
- operator: !
-''');
- }
-
- test_final_typed_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case final int y?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- keyword: final
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: isFinal y@46
- type: int
- operator: ?
-''');
- }
-
- test_final_typed_inside_switchStatement_case() async {
+ test_final_typed_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
@@ -253,112 +58,7 @@
''');
}
- test_typed_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int y as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: y@40
- type: int
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_typed_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case int y) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: y@29
- type: int
-''');
- }
-
- test_typed_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int y!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: y@40
- type: int
- operator: !
-''');
- }
-
- test_typed_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int y?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: y
- declaredElement: y@40
- type: int
- operator: ?
-''');
- }
-
- test_typed_inside_switchStatement_case() async {
+ test_typed_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
@@ -382,493 +82,7 @@
''');
}
- test_typed_named_as_inside_castPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int as as Object:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-CastPattern
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@40
- type: int
- asToken: as
- type: NamedType
- name: SimpleIdentifier
- token: Object
- staticElement: dart:core::@class::Object
- staticType: null
- type: Object
-''');
- }
-
- test_typed_named_as_inside_extractorPattern_namedExplicitly() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(f: int as):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: f
- colon: :
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- name: as
- rightParenthesis: )
-''');
- }
-
- test_typed_named_as_inside_extractorPattern_namedImplicitly() async {
- await assertNoErrorsInCode(r'''
-class C {
- int? f;
-}
-
-void f(x) {
- switch (x) {
- case C(: int as):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ExtractorPattern
- type: NamedType
- name: SimpleIdentifier
- token: C
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- name: as
- rightParenthesis: )
-''');
- }
-
- test_typed_named_as_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- if (x case int as) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@29
- type: int
-''');
- }
-
- test_typed_named_as_inside_listPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case [int as]:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-ListPattern
- leftBracket: [
- elements
- VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- name: as
- rightBracket: ]
-''');
- }
-
- test_typed_named_as_inside_logicalAnd_left() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int as & 2:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@40
- type: int
- operator: &
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
-''');
- }
-
- test_typed_named_as_inside_logicalAnd_right() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 & int as:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: &
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@44
- type: int
-''');
- }
-
- test_typed_named_as_inside_logicalOr_left() async {
- await assertErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int as | 2:
- break;
- }
-}
-''', [
- error(CompileTimeErrorCode.MISSING_VARIABLE_PATTERN, 45, 1),
- ]);
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@40
- type: int
- operator: |
- rightOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- staticType: int
-''');
- }
-
- test_typed_named_as_inside_logicalOr_right() async {
- await assertErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case 1 | int as:
- break;
- }
-}
-''', [
- error(CompileTimeErrorCode.MISSING_VARIABLE_PATTERN, 36, 1),
- ]);
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-BinaryPattern
- leftOperand: ConstantPattern
- expression: IntegerLiteral
- literal: 1
- staticType: int
- operator: |
- rightOperand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@44
- type: int
-''');
- }
-
- test_typed_named_as_inside_mapPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case {'a': int as}:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-MapPattern
- leftBracket: {
- entries
- MapPatternEntry
- key: SimpleStringLiteral
- literal: 'a'
- separator: :
- value: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- name: as
- rightBracket: }
-''');
- }
-
- test_typed_named_as_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int as!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@40
- type: int
- operator: !
-''');
- }
-
- test_typed_named_as_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int as?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@40
- type: int
- operator: ?
-''');
- }
-
- test_typed_named_as_inside_parenthesizedPattern() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (int as):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-ParenthesizedPattern
- leftParenthesis: (
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@41
- type: int
- rightParenthesis: )
-''');
- }
-
- test_typed_named_as_inside_recordPattern_namedExplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (n: int as, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- name: n
- colon: :
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- name: as
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_typed_named_as_inside_recordPattern_namedImplicitly() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (: int as, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- fieldName: RecordPatternFieldName
- colon: :
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- name: as
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_typed_named_as_inside_recordPattern_unnamed() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case (int as, 2):
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertParsedNodeText(node, r'''
-RecordPattern
- leftParenthesis: (
- fields
- RecordPatternField
- pattern: VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- name: as
- RecordPatternField
- pattern: ConstantPattern
- expression: IntegerLiteral
- literal: 2
- rightParenthesis: )
-''');
- }
-
- test_typed_named_as_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(x) {
- switch (x) {
- case int as:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-VariablePattern
- type: NamedType
- name: SimpleIdentifier
- token: int
- staticElement: dart:core::@class::int
- staticType: null
- type: int
- name: as
- declaredElement: as@40
- type: int
-''');
- }
-
- test_typed_wildcard_inside_switchStatement_case() async {
+ test_typed_wildcard_switchCase() async {
await assertNoErrorsInCode(r'''
void f(x) {
switch (x) {
@@ -890,7 +104,42 @@
''');
}
- test_var_inside_castPattern() async {
+ test_var_ifCase() async {
+ await assertNoErrorsInCode(r'''
+void f(int x) {
+ if (x case var y) {}
+}
+''');
+ final node = findNode.caseClause('case').pattern;
+ assertResolvedNodeText(node, r'''
+VariablePattern
+ keyword: var
+ name: y
+ declaredElement: hasImplicitType y@33
+ type: int
+''');
+ }
+
+ test_var_switchCase() async {
+ await assertNoErrorsInCode(r'''
+void f(int x) {
+ switch (x) {
+ case var y:
+ break;
+ }
+}
+''');
+ final node = findNode.switchPatternCase('case').pattern;
+ assertResolvedNodeText(node, r'''
+VariablePattern
+ keyword: var
+ name: y
+ declaredElement: hasImplicitType y@44
+ type: int
+''');
+ }
+
+ test_var_switchCase_cast() async {
await assertNoErrorsInCode(r'''
void f(int x) {
switch (x) {
@@ -916,81 +165,4 @@
type: Object
''');
}
-
- test_var_inside_ifStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(int x) {
- if (x case var y) {}
-}
-''');
- final node = findNode.caseClause('case').pattern;
- assertResolvedNodeText(node, r'''
-VariablePattern
- keyword: var
- name: y
- declaredElement: hasImplicitType y@33
- type: int
-''');
- }
-
- test_var_inside_nullAssert() async {
- await assertNoErrorsInCode(r'''
-void f(int? x) {
- switch (x) {
- case var y!:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- keyword: var
- name: y
- declaredElement: hasImplicitType y@45
- type: int
- operator: !
-''');
- }
-
- test_var_inside_nullCheck() async {
- await assertNoErrorsInCode(r'''
-void f(int? x) {
- switch (x) {
- case var y?:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-PostfixPattern
- operand: VariablePattern
- keyword: var
- name: y
- declaredElement: hasImplicitType y@45
- type: int
- operator: ?
-''');
- }
-
- test_var_inside_switchStatement_case() async {
- await assertNoErrorsInCode(r'''
-void f(int x) {
- switch (x) {
- case var y:
- break;
- }
-}
-''');
- final node = findNode.switchPatternCase('case').pattern;
- assertResolvedNodeText(node, r'''
-VariablePattern
- keyword: var
- name: y
- declaredElement: hasImplicitType y@44
- type: int
-''');
- }
}
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index e72b0fb..3cd038d 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -320,7 +320,7 @@
final supertype = e.supertype;
if (supertype != null &&
- (supertype.element2.name != 'Object' || e.mixins.isNotEmpty)) {
+ (supertype.element.name != 'Object' || e.mixins.isNotEmpty)) {
_writeType('supertype', supertype);
}
diff --git a/pkg/analyzer/test/src/summary/elements_test.dart b/pkg/analyzer/test/src/summary/elements_test.dart
index dc16003..0e5bbbe 100644
--- a/pkg/analyzer/test/src/summary/elements_test.dart
+++ b/pkg/analyzer/test/src/summary/elements_test.dart
@@ -21724,7 +21724,7 @@
superConstructor: package:test/foo.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo.dart');
+ expect(typeA.element.source.shortName, 'foo.dart');
}
test_exportImport_configurations_useFirst() async {
@@ -21757,7 +21757,7 @@
superConstructor: package:test/foo_io.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo_io.dart');
+ expect(typeA.element.source.shortName, 'foo_io.dart');
}
test_exportImport_configurations_useSecond() async {
@@ -21790,7 +21790,7 @@
superConstructor: package:test/foo_html.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo_html.dart');
+ expect(typeA.element.source.shortName, 'foo_html.dart');
}
test_exports() async {
@@ -24170,7 +24170,7 @@
superConstructor: package:test/foo.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo.dart');
+ expect(typeA.element.source.shortName, 'foo.dart');
}
test_import_configurations_useFirst() async {
@@ -24201,7 +24201,7 @@
superConstructor: package:test/foo_io.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo_io.dart');
+ expect(typeA.element.source.shortName, 'foo_io.dart');
}
test_import_configurations_useFirst_eqTrue() async {
@@ -24232,7 +24232,7 @@
superConstructor: package:test/foo_io.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo_io.dart');
+ expect(typeA.element.source.shortName, 'foo_io.dart');
}
test_import_configurations_useSecond() async {
@@ -24263,7 +24263,7 @@
superConstructor: package:test/foo_html.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo_html.dart');
+ expect(typeA.element.source.shortName, 'foo_html.dart');
}
test_import_configurations_useSecond_eqTrue() async {
@@ -24294,7 +24294,7 @@
superConstructor: package:test/foo_html.dart::@class::A::@constructor::new
''');
var typeA = library.definingCompilationUnit.getClass('B')!.supertype!;
- expect(typeA.element2.source.shortName, 'foo_html.dart');
+ expect(typeA.element.source.shortName, 'foo_html.dart');
}
test_import_dartCore_explicit() async {
@@ -25724,7 +25724,7 @@
// This test should verify that we correctly record inferred types,
// when the type is defined in a part of an SDK library. So, test that
// the type is actually in a part.
- final streamElement = (p.type as InterfaceType).element2;
+ final streamElement = (p.type as InterfaceType).element;
expect(streamElement.source, isNot(streamElement.library.source));
}
diff --git a/pkg/analyzer/test/utils.dart b/pkg/analyzer/test/utils.dart
index b47f47a..5716dee 100644
--- a/pkg/analyzer/test/utils.dart
+++ b/pkg/analyzer/test/utils.dart
@@ -196,7 +196,7 @@
/// Assert that a type has the element that is equal to the [expected].
Asserter<DartType> hasElement(Element expected) =>
- (DartType type) => expect(expected, (type as InterfaceType).element2);
+ (DartType type) => expect(expected, (type as InterfaceType).element);
/// Given assertions for the argument and return types, produce an
/// assertion over unary function types.
diff --git a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
index 38fbffc..7f6ebca 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
@@ -1093,7 +1093,7 @@
} else if (expectedType.isDartCoreString) {
_addSingleCharacterName(excluded, res, $s);
} else if (expectedType is InterfaceType) {
- var className = expectedType.element2.name;
+ var className = expectedType.element.name;
_addAll(excluded, res, _getCamelWordCombinations(className));
}
}
@@ -1108,7 +1108,7 @@
DartType? _getVisibleType(DartType? type,
{ExecutableElement? methodBeingCopied}) {
if (type is InterfaceType) {
- var element = type.element2;
+ var element = type.element;
if (element.isPrivate &&
!dartFileEditBuilder._isDefinedLocally(element)) {
return null;
@@ -1117,7 +1117,7 @@
}
if (type is TypeParameterType) {
_initializeEnclosingElements();
- var element = type.element2;
+ var element = type.element;
var enclosing = element.enclosingElement;
while (enclosing is GenericFunctionTypeElement ||
enclosing is ParameterElement) {
@@ -1260,7 +1260,7 @@
if (type is InterfaceType) {
_writeTypeElementArguments(
- element: type.element2,
+ element: type.element,
typeArguments: type.typeArguments,
methodBeingCopied: methodBeingCopied,
);
@@ -1275,7 +1275,7 @@
}
if (type is TypeParameterType) {
- write(type.element2.name);
+ write(type.element.name);
_writeTypeNullability(type);
return true;
}
diff --git a/pkg/analyzer_plugin/lib/utilities/analyzer_converter.dart b/pkg/analyzer_plugin/lib/utilities/analyzer_converter.dart
index 658e533..72fa2fb 100644
--- a/pkg/analyzer_plugin/lib/utilities/analyzer_converter.dart
+++ b/pkg/analyzer_plugin/lib/utilities/analyzer_converter.dart
@@ -226,7 +226,7 @@
// in either or both of these cases?
) {
final type = element.type;
- if (type is InterfaceType && type.element2 == element.enclosingElement) {
+ if (type is InterfaceType && type.element == element.enclosingElement) {
return plugin.ElementKind.ENUM_CONSTANT;
}
}
diff --git a/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart b/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart
index 577ad0e..821bea8 100644
--- a/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart
+++ b/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart
@@ -419,7 +419,7 @@
var typesToVisit = <InterfaceType>[type];
while (typesToVisit.isNotEmpty) {
var nextType = typesToVisit.removeLast();
- if (!classesSeen.add(nextType.element2)) {
+ if (!classesSeen.add(nextType.element)) {
// Class had already been seen, so ignore this type.
continue;
}
diff --git a/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart b/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart
index bc63781..0d42091 100644
--- a/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart
+++ b/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart
@@ -366,7 +366,7 @@
if (token != null && token.keyword == Keyword.VAR) {
var inferredType = node.declaredElement?.type;
if (inferredType is InterfaceType) {
- computer._addRegionForToken(token, inferredType.element2);
+ computer._addRegionForToken(token, inferredType.element);
}
}
}
@@ -567,13 +567,13 @@
return null;
}
- var firstElement = firstType.element2;
+ var firstElement = firstType.element;
for (var i = 1; i < variables.length; i++) {
final type = variables[i].declaredElement?.type;
if (type is! InterfaceType) {
return null;
}
- if (type.element2 != firstElement) {
+ if (type.element != firstElement) {
return null;
}
}
diff --git a/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart b/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart
index e393329..5b04212 100644
--- a/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart
+++ b/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart
@@ -75,7 +75,7 @@
namedParameters: namedParameters,
positionalParameters: positionalParameters);
} else if (type is InterfaceType) {
- var typeParameters = type.element2.typeParameters;
+ var typeParameters = type.element.typeParameters;
if (typeParameters.isNotEmpty) {
assert(type.typeArguments.length == typeParameters.length);
int index = 0;
diff --git a/pkg/nnbd_migration/lib/src/decorated_class_hierarchy.dart b/pkg/nnbd_migration/lib/src/decorated_class_hierarchy.dart
index 074da14..b022373 100644
--- a/pkg/nnbd_migration/lib/src/decorated_class_hierarchy.dart
+++ b/pkg/nnbd_migration/lib/src/decorated_class_hierarchy.dart
@@ -33,7 +33,7 @@
DecoratedType asInstanceOf(DecoratedType type, InterfaceElement? superclass) {
type = _getInterfaceType(type);
var typeType = type.type as InterfaceType;
- var class_ = typeType.element2;
+ var class_ = typeType.element;
if (class_ == superclass) return type;
var result = getDecoratedSupertype(class_, superclass!);
if (result.typeArguments.isNotEmpty && type.typeArguments.isNotEmpty) {
@@ -86,7 +86,7 @@
// this specific [superclass].
Map<TypeParameterElement, DecoratedType> substitution = {};
for (int i = 0; i < supertype.typeArguments.length; i++) {
- substitution[supertype.element2.typeParameters[i]] =
+ substitution[supertype.element.typeParameters[i]] =
decoratedSupertype.typeArguments[i]!;
}
// Apply that substitution to the relation between [superclass] and
@@ -114,8 +114,8 @@
if (typeType is TypeParameterType) {
final innerType = _getInterfaceType(
- _variables!.decoratedTypeParameterBound(typeType.element2)!);
- return type.substitute({typeType.element2: innerType});
+ _variables!.decoratedTypeParameterBound(typeType.element)!);
+ return type.substitute({typeType.element: innerType});
}
throw ArgumentError('$type is an unexpected type');
diff --git a/pkg/nnbd_migration/lib/src/decorated_type.dart b/pkg/nnbd_migration/lib/src/decorated_type.dart
index a413b60..3559a4a 100644
--- a/pkg/nnbd_migration/lib/src/decorated_type.dart
+++ b/pkg/nnbd_migration/lib/src/decorated_type.dart
@@ -181,7 +181,7 @@
if (type is InterfaceType) {
return {
for (int i = 0; i < typeArguments.length; i++)
- type.element2.typeParameters[i]: typeArguments[i]!
+ type.element.typeParameters[i]: typeArguments[i]!
};
} else {
throw StateError(
@@ -231,7 +231,7 @@
}
return true;
} else if (thisType is InterfaceType && otherType is InterfaceType) {
- if (thisType.element2 != otherType.element2) return false;
+ if (thisType.element != otherType.element) return false;
if (!_compareLists(typeArguments, other.typeArguments)) {
return false;
}
@@ -321,7 +321,7 @@
if (type is TypeParameterType || type is VoidType) {
return '$type$trailing';
} else if (type is InterfaceType) {
- var name = type.element2.name;
+ var name = type.element.name;
var args = '';
if (type.typeArguments.isNotEmpty) {
args = '<${typeArguments.join(', ')}>';
@@ -445,7 +445,7 @@
return DecoratedType(undecoratedResult, node,
typeArguments: newTypeArguments);
} else if (type is TypeParameterType) {
- var inner = substitution[type.element2];
+ var inner = substitution[type.element];
if (inner == null) {
return this;
} else {
@@ -685,7 +685,7 @@
_TypeVariableReplacement(TypeParameterElement newTypeVariable)
: type = TypeParameterTypeImpl(
- element2: newTypeVariable,
+ element: newTypeVariable,
nullabilitySuffix: NullabilitySuffix.star,
);
diff --git a/pkg/nnbd_migration/lib/src/edge_builder.dart b/pkg/nnbd_migration/lib/src/edge_builder.dart
index 415b4a3..f58e8e0 100644
--- a/pkg/nnbd_migration/lib/src/edge_builder.dart
+++ b/pkg/nnbd_migration/lib/src/edge_builder.dart
@@ -93,7 +93,7 @@
@override
DecoratedType _getTypeParameterTypeBound(DecoratedType type) {
- return bounds[(type.type as TypeParameterType).element2] ??
+ return bounds[(type.type as TypeParameterType).element] ??
(throw StateError('Unknown bound for $type'));
}
}
@@ -716,7 +716,7 @@
_dispatch(node.withClause);
var classElement = node.declaredElement!;
var supertype = classElement.supertype!;
- var superElement = supertype.element2;
+ var superElement = supertype.element;
for (var constructorElement in classElement.constructors) {
assert(constructorElement.isSynthetic);
var superConstructorElement =
@@ -2209,7 +2209,7 @@
var rightType = right.type;
if (leftType is TypeParameterType && leftType != type) {
// We are "unwrapping" a type parameter type to its bound.
- final typeParam = leftType.element2;
+ final typeParam = leftType.element;
return _decorateUpperOrLowerBound(
astNode,
type,
@@ -2221,7 +2221,7 @@
}
if (rightType is TypeParameterType && rightType != type) {
// We are "unwrapping" a type parameter type to its bound.
- final typeParam = rightType.element2;
+ final typeParam = rightType.element;
return _decorateUpperOrLowerBound(
astNode,
type,
@@ -2257,14 +2257,14 @@
List<DecoratedType?> rightTypeArguments;
if (isLUB) {
leftTypeArguments = _decoratedClassHierarchy!
- .asInstanceOf(left, type.element2)
+ .asInstanceOf(left, type.element)
.typeArguments;
rightTypeArguments = _decoratedClassHierarchy!
- .asInstanceOf(right, type.element2)
+ .asInstanceOf(right, type.element)
.typeArguments;
} else {
- if (leftType.element2 != type.element2 ||
- rightType.element2 != type.element2) {
+ if (leftType.element != type.element ||
+ rightType.element != type.element) {
_unimplemented(astNode, 'GLB with substitution');
}
leftTypeArguments = left.typeArguments;
@@ -2350,8 +2350,8 @@
return DecoratedType(type, node);
}
- assert(leftType.element2 == type.element2 &&
- rightType.element2 == type.element2);
+ assert(leftType.element == type.element &&
+ rightType.element == type.element);
return DecoratedType(type, node);
}
_unimplemented(astNode, '_decorateUpperOrLowerBound');
@@ -2438,7 +2438,7 @@
// TODO(paulberry): once we've wired up flow analysis, return promoted
// bounds if applicable.
return _variables
- .decoratedTypeParameterBound((type.type as TypeParameterType).element2);
+ .decoratedTypeParameterBound((type.type as TypeParameterType).element);
}
/// Creates the necessary constraint(s) for an assignment of the given
@@ -3575,7 +3575,7 @@
}
if (dartType is InterfaceType &&
- dartType.element2 == typeProvider.futureOrElement) {
+ dartType.element == typeProvider.futureOrElement) {
var typeArguments = type.typeArguments;
if (typeArguments.length == 1) {
// Wrapping FutureOr<T?1>?2 should produce Future<T?3>, where either 1
@@ -3807,7 +3807,7 @@
} else if (sourceType is InterfaceType &&
destinationType is InterfaceType) {
var rewrittenSource = _decoratedClassHierarchy!
- .asInstanceOf(source, destinationType.element2);
+ .asInstanceOf(source, destinationType.element);
assert(rewrittenSource.typeArguments.length ==
destination.typeArguments.length);
for (int i = 0; i < rewrittenSource.typeArguments.length; i++) {
@@ -3875,7 +3875,7 @@
sourceType.isDartCoreObject ||
sourceType.isVoid) {
if (destinationType is InterfaceType) {
- for (final param in destinationType.element2.typeParameters) {
+ for (final param in destinationType.element.typeParameters) {
assert(param.bound == null,
'downcast to type parameters with bounds not supported');
}
@@ -3926,7 +3926,7 @@
} else if (destinationType is InterfaceType) {
if (sourceType is InterfaceType) {
final target = _decoratedClassHierarchy!
- .asInstanceOf(destination, sourceType.element2);
+ .asInstanceOf(destination, sourceType.element);
for (var i = 0; i < source.typeArguments.length; ++i) {
_checkDowncast(origin,
source: source.typeArguments[i]!,
@@ -4018,7 +4018,7 @@
final self = this;
if (self is TypeParameterType &&
self.nullabilitySuffix == NullabilitySuffix.star) {
- return self.element2.bound.explicitBound;
+ return self.element.bound.explicitBound;
}
return self;
}
diff --git a/pkg/nnbd_migration/lib/src/fix_aggregator.dart b/pkg/nnbd_migration/lib/src/fix_aggregator.dart
index 4014018..4e2a94b 100644
--- a/pkg/nnbd_migration/lib/src/fix_aggregator.dart
+++ b/pkg/nnbd_migration/lib/src/fix_aggregator.dart
@@ -134,7 +134,7 @@
String suffix =
type.nullabilitySuffix == NullabilitySuffix.question ? '?' : '';
if (type is InterfaceType) {
- var name = elementToCode(type.element2);
+ var name = elementToCode(type.element);
var typeArguments = type.typeArguments;
if (typeArguments.isEmpty) {
return '$name$suffix';
diff --git a/pkg/nnbd_migration/lib/src/fix_builder.dart b/pkg/nnbd_migration/lib/src/fix_builder.dart
index 0cfe32c..ef58f21 100644
--- a/pkg/nnbd_migration/lib/src/fix_builder.dart
+++ b/pkg/nnbd_migration/lib/src/fix_builder.dart
@@ -381,7 +381,7 @@
() => element.interfacesInternal,
() => [
for (var interface in element.interfacesInternal)
- _getClassInterface(element, interface.element2)
+ _getClassInterface(element, interface.element)
]);
}
diff --git a/pkg/nnbd_migration/lib/src/node_builder.dart b/pkg/nnbd_migration/lib/src/node_builder.dart
index 376706c..cf3bb7c 100644
--- a/pkg/nnbd_migration/lib/src/node_builder.dart
+++ b/pkg/nnbd_migration/lib/src/node_builder.dart
@@ -533,7 +533,7 @@
List<DecoratedType> positionalParameters = const <DecoratedType>[];
Map<String, DecoratedType> namedParameters =
const <String, DecoratedType>{};
- if (type is InterfaceType && type.element2.typeParameters.isNotEmpty) {
+ if (type is InterfaceType && type.element.typeParameters.isNotEmpty) {
if (node is NamedType) {
if (node.typeArguments == null) {
int index = 0;
@@ -933,7 +933,7 @@
} else {
decoratedSupertype = supertype.accept(this);
}
- var class_ = (decoratedSupertype!.type as InterfaceType).element2;
+ var class_ = (decoratedSupertype!.type as InterfaceType).element;
decoratedSupertypes[class_] = decoratedSupertype;
}
});
diff --git a/pkg/nnbd_migration/lib/src/utilities/resolution_utils.dart b/pkg/nnbd_migration/lib/src/utilities/resolution_utils.dart
index 2361147..3971a35 100644
--- a/pkg/nnbd_migration/lib/src/utilities/resolution_utils.dart
+++ b/pkg/nnbd_migration/lib/src/utilities/resolution_utils.dart
@@ -32,7 +32,7 @@
List<String> _computeObjectGetNames() {
var result = <String>[];
- var objectClass = typeProvider.objectType.element2;
+ var objectClass = typeProvider.objectType.element;
for (var accessor in objectClass.accessors) {
assert(accessor.isGetter);
assert(!accessor.name.startsWith('_'));
diff --git a/pkg/nnbd_migration/lib/src/utilities/where_not_null_transformer.dart b/pkg/nnbd_migration/lib/src/utilities/where_not_null_transformer.dart
index 17e7526..cc27031 100644
--- a/pkg/nnbd_migration/lib/src/utilities/where_not_null_transformer.dart
+++ b/pkg/nnbd_migration/lib/src/utilities/where_not_null_transformer.dart
@@ -69,7 +69,7 @@
var type = decoratedType.type;
var typeArguments = decoratedType.typeArguments;
if (type is InterfaceType &&
- type.element2 == _typeProvider.iterableElement &&
+ type.element == _typeProvider.iterableElement &&
typeArguments.length == 1) {
return DecoratedType(type, decoratedType.node,
typeArguments: [typeArguments.single?.withNode(graph.never)]);
@@ -86,11 +86,11 @@
/// checks or type casts in other parts of the code.
DartType transformPostMigrationInvocationType(DartType type) {
if (type is InterfaceType &&
- type.element2 == _typeProvider.iterableElement) {
+ type.element == _typeProvider.iterableElement) {
var typeArguments = type.typeArguments;
if (typeArguments.length == 1) {
return InterfaceTypeImpl(
- element2: type.element2,
+ element: type.element,
typeArguments: [_typeSystem.promoteToNonNull(typeArguments.single)],
nullabilitySuffix: type.nullabilitySuffix);
}
diff --git a/pkg/nnbd_migration/lib/src/variables.dart b/pkg/nnbd_migration/lib/src/variables.dart
index 573ce93..2276eec 100644
--- a/pkg/nnbd_migration/lib/src/variables.dart
+++ b/pkg/nnbd_migration/lib/src/variables.dart
@@ -341,7 +341,7 @@
);
} else if (type is InterfaceType) {
return InterfaceTypeImpl(
- element2: type.element2,
+ element: type.element,
typeArguments: [
for (var arg in decoratedType.typeArguments) toFinalType(arg!)
],
@@ -349,7 +349,7 @@
);
} else if (type is TypeParameterType) {
return TypeParameterTypeImpl(
- element2: type.element2,
+ element: type.element,
nullabilitySuffix: nullabilitySuffix,
);
} else {
@@ -422,7 +422,7 @@
var result = <InterfaceElement, DecoratedType>{};
for (var decoratedSupertype
in _alreadyMigratedCodeDecorator.getImmediateSupertypes(class_)) {
- var class_ = (decoratedSupertype.type as InterfaceType).element2;
+ var class_ = (decoratedSupertype.type as InterfaceType).element;
result[class_] = decoratedSupertype;
}
return result;
diff --git a/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart b/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
index c7b390f..4eacc04 100644
--- a/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
+++ b/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
@@ -69,7 +69,7 @@
typeFormals: [typeFormal],
parameters: const [],
returnType: TypeParameterTypeImpl(
- element2: typeFormal,
+ element: typeFormal,
nullabilitySuffix: NullabilitySuffix.star,
),
nullabilitySuffix: suffix,
@@ -98,7 +98,7 @@
typeFormals: [typeFormal],
parameters: const [],
returnType: TypeParameterTypeImpl(
- element2: typeFormal,
+ element: typeFormal,
nullabilitySuffix: NullabilitySuffix.star,
),
nullabilitySuffix: suffix,
@@ -244,7 +244,7 @@
var withElement = await _ContextWithFiles().withEmptyUnit();
var decoratedType = withElement.decorate(InterfaceTypeImpl(
- element2: withElement.typeProvider.mapElement,
+ element: withElement.typeProvider.mapElement,
typeArguments: [
withElement.typeProvider.intType,
withElement.typeProvider.numType
@@ -262,7 +262,7 @@
withElement.checkInt(
withElement.decorate(
InterfaceTypeImpl(
- element2: withElement.typeProvider.intElement,
+ element: withElement.typeProvider.intElement,
typeArguments: const [],
nullabilitySuffix: NullabilitySuffix.question,
),
@@ -277,7 +277,7 @@
withElement.checkInt(
withElement.decorate(
InterfaceTypeImpl(
- element2: withElement.typeProvider.intElement,
+ element: withElement.typeProvider.intElement,
typeArguments: const [],
nullabilitySuffix: suffix,
),
@@ -311,7 +311,7 @@
withElement.checkTypeParameter(
withElement.decorate(TypeParameterTypeImpl(
- element2: element, nullabilitySuffix: NullabilitySuffix.question)),
+ element: element, nullabilitySuffix: NullabilitySuffix.question)),
withElement.checkExplicitlyNullable,
element,
'test type');
@@ -325,8 +325,8 @@
var withElement = withUnit.withElement(element);
withElement.checkTypeParameter(
- withElement.decorate(TypeParameterTypeImpl(
- element2: element, nullabilitySuffix: suffix)),
+ withElement.decorate(
+ TypeParameterTypeImpl(element: element, nullabilitySuffix: suffix)),
withElement.checkExplicitlyNonNullable,
element,
'test type');
@@ -536,7 +536,7 @@
String displayName,
) {
final type = decoratedType.type as InterfaceType;
- expect(type.element2, typeProvider.futureOrElement);
+ expect(type.element, typeProvider.futureOrElement);
checkNullability(decoratedType.node, displayName);
checkArgument(
decoratedType.typeArguments[0], 'type argument 0 of $displayName');
@@ -548,7 +548,7 @@
String displayName,
) {
final type = decoratedType.type as InterfaceType;
- expect(type.element2, typeProvider.intElement);
+ expect(type.element, typeProvider.intElement);
checkNullability(decoratedType.node, displayName);
}
@@ -559,7 +559,7 @@
String displayName,
) {
final type = decoratedType.type as InterfaceType;
- expect(type.element2, typeProvider.iterableElement);
+ expect(type.element, typeProvider.iterableElement);
checkNullability(decoratedType.node, displayName);
checkArgument(
decoratedType.typeArguments[0], 'type argument 0 of $displayName');
@@ -576,7 +576,7 @@
String displayName,
) {
final type = decoratedType.type as InterfaceType;
- expect(type.element2, typeProvider.numElement);
+ expect(type.element, typeProvider.numElement);
checkNullability(decoratedType.node, displayName);
}
@@ -586,7 +586,7 @@
String displayName,
) {
final type = decoratedType.type as InterfaceType;
- expect(type.element2, typeProvider.objectType.element2);
+ expect(type.element, typeProvider.objectType.element);
checkNullability(decoratedType.node, displayName);
}
@@ -597,7 +597,7 @@
String displayName,
) {
var type = decoratedType.type as TypeParameterTypeImpl;
- expect(type.element2, same(expectedElement));
+ expect(type.element, same(expectedElement));
checkNullability(decoratedType.node, displayName);
}
diff --git a/pkg/nnbd_migration/test/decorated_type_test.dart b/pkg/nnbd_migration/test/decorated_type_test.dart
index 847f26a..82d20e3 100644
--- a/pkg/nnbd_migration/test/decorated_type_test.dart
+++ b/pkg/nnbd_migration/test/decorated_type_test.dart
@@ -384,12 +384,12 @@
expect(
((type.typeFormals[0].bound as InterfaceType).typeArguments[0]
as TypeParameterType)
- .element2,
+ .element,
same(type.typeFormals[1]));
expect(
((type.typeFormals[2].bound as InterfaceType).typeArguments[0]
as TypeParameterType)
- .element2,
+ .element,
same(type.typeFormals[1]));
}
@@ -404,7 +404,7 @@
expect(
((type.parameters[0].type as InterfaceType).typeArguments[0]
as TypeParameterType)
- .element2,
+ .element,
same(type.typeFormals[0]));
}
@@ -419,7 +419,7 @@
expect(
((type.parameters[0].type as InterfaceType).typeArguments[0]
as TypeParameterType)
- .element2,
+ .element,
same(type.typeFormals[0]));
}
@@ -434,7 +434,7 @@
expect(
((type.parameters[0].type as InterfaceType).typeArguments[0]
as TypeParameterType)
- .element2,
+ .element,
same(type.typeFormals[0]));
}
@@ -449,7 +449,7 @@
expect(
((type.returnType as InterfaceType).typeArguments[0]
as TypeParameterType)
- .element2,
+ .element,
same(type.typeFormals[0]));
}
diff --git a/pkg/nnbd_migration/test/edge_builder_test.dart b/pkg/nnbd_migration/test/edge_builder_test.dart
index 4ebf354..0c6772d 100644
--- a/pkg/nnbd_migration/test/edge_builder_test.dart
+++ b/pkg/nnbd_migration/test/edge_builder_test.dart
@@ -103,7 +103,7 @@
}
return DecoratedType(
InterfaceTypeImpl(
- element2: _myListOfListClass!,
+ element: _myListOfListClass!,
typeArguments: [elementType.type!],
nullabilitySuffix: NullabilitySuffix.star,
),
@@ -5049,7 +5049,7 @@
''');
var toStringReturnType = variables
.decoratedElementType(
- typeProvider.objectType.element2.getMethod('toString')!)
+ typeProvider.objectType.element.getMethod('toString')!)
.returnType!;
assertEdge(
toStringReturnType.node, decoratedTypeAnnotation('String f').node,
@@ -6939,7 +6939,7 @@
await analyze('int f(void Function() g) => g.hashCode;');
var hashCodeReturnType = variables
.decoratedElementType(
- typeProvider.objectType.element2.getGetter('hashCode')!)
+ typeProvider.objectType.element.getGetter('hashCode')!)
.returnType!;
assertEdge(hashCodeReturnType.node, decoratedTypeAnnotation('int f').node,
hard: false);
@@ -8255,7 +8255,7 @@
@override
DecoratedType asInstanceOf(DecoratedType type, InterfaceElement? superclass) {
- var class_ = (type.type as InterfaceType).element2;
+ var class_ = (type.type as InterfaceType).element;
if (class_ == superclass) return type;
if (superclass!.name == 'Object') {
return DecoratedType(
diff --git a/pkg/nnbd_migration/test/node_builder_test.dart b/pkg/nnbd_migration/test/node_builder_test.dart
index 341a654..785c9c9 100644
--- a/pkg/nnbd_migration/test/node_builder_test.dart
+++ b/pkg/nnbd_migration/test/node_builder_test.dart
@@ -312,7 +312,7 @@
class C<T, U> {}
''');
var types = decoratedDirectSupertypes('C');
- var decorated = types[typeProvider.objectType.element2]!;
+ var decorated = types[typeProvider.objectType.element]!;
_assertType(decorated.type!, 'Object');
assertEdge(decorated.node, never, hard: true, checkable: false);
expect(decorated.typeArguments, isEmpty);
@@ -418,7 +418,7 @@
mixin C<T, U> {}
''');
var types = decoratedDirectSupertypes('C');
- var decorated = types[typeProvider.objectType.element2]!;
+ var decorated = types[typeProvider.objectType.element]!;
_assertType(decorated.type!, 'Object');
assertEdge(decorated.node, never, hard: true, checkable: false);
expect(decorated.typeArguments, isEmpty);
@@ -1066,13 +1066,13 @@
// type.
expect(decoratedType.typeFormals, isEmpty);
expect(decoratedType.returnType, same(decoratedTypeAnnotation('T F')));
- expect((decoratedType.returnType!.type as TypeParameterType).element2,
- same(t));
+ expect(
+ (decoratedType.returnType!.type as TypeParameterType).element, same(t));
expect(
decoratedType.returnType!.node, TypeMatcher<NullabilityNodeMutable>());
expect(
(decoratedType.positionalParameters![0].type as TypeParameterType)
- .element2,
+ .element,
same(u));
expect(decoratedType.positionalParameters![0].node,
TypeMatcher<NullabilityNodeMutable>());
@@ -1220,11 +1220,11 @@
expect(decoratedType.typeFormals, hasLength(2));
var t = decoratedType.typeFormals![0];
var u = decoratedType.typeFormals![1];
- expect((decoratedType.returnType!.type as TypeParameterType).element2,
- same(t));
+ expect(
+ (decoratedType.returnType!.type as TypeParameterType).element, same(t));
expect(
(decoratedType.positionalParameters![0].type as TypeParameterType)
- .element2,
+ .element,
same(u));
}
@@ -1300,13 +1300,13 @@
var t = decoratedType.typeFormals![0];
var u = decoratedType.typeFormals![1];
expect(decoratedType.returnType, same(decoratedTypeAnnotation('T F')));
- expect((decoratedType.returnType!.type as TypeParameterType).element2,
- same(t));
+ expect(
+ (decoratedType.returnType!.type as TypeParameterType).element, same(t));
expect(
decoratedType.returnType!.node, TypeMatcher<NullabilityNodeMutable>());
expect(
(decoratedType.positionalParameters![0].type as TypeParameterType)
- .element2,
+ .element,
same(u));
expect(decoratedType.positionalParameters![0].node,
TypeMatcher<NullabilityNodeMutable>());
@@ -1327,13 +1327,13 @@
// type.
expect(decoratedType.typeFormals, isEmpty);
expect(decoratedType.returnType, same(decoratedTypeAnnotation('T F')));
- expect((decoratedType.returnType!.type as TypeParameterType).element2,
- same(t));
+ expect(
+ (decoratedType.returnType!.type as TypeParameterType).element, same(t));
expect(
decoratedType.returnType!.node, TypeMatcher<NullabilityNodeMutable>());
expect(
(decoratedType.positionalParameters![0].type as TypeParameterType)
- .element2,
+ .element,
same(u));
expect(decoratedType.positionalParameters![0].node,
TypeMatcher<NullabilityNodeMutable>());
diff --git a/pkg/vm/lib/transformations/type_flow/summary_collector.dart b/pkg/vm/lib/transformations/type_flow/summary_collector.dart
index d107cf1..eec2c70 100644
--- a/pkg/vm/lib/transformations/type_flow/summary_collector.dart
+++ b/pkg/vm/lib/transformations/type_flow/summary_collector.dart
@@ -1155,11 +1155,14 @@
// - nullable (including Null)
// - a type parameter (it can be instantiated with Null)
// - legacy Never
+ // - a FutureOr of the above
final nullability = type.nullability;
return _environment.isTop(type) ||
nullability == Nullability.nullable ||
type is TypeParameterType ||
- (type is NeverType && nullability == Nullability.legacy);
+ (type is NeverType && nullability == Nullability.legacy) ||
+ (type is FutureOrType &&
+ _canBeNullAfterSuccessfulIsCheck(type.typeArgument));
}
TypeExpr _makeNarrowNotNull(TreeNode node, TypeExpr arg) {
diff --git a/tools/VERSION b/tools/VERSION
index 2f95c15..77b5cb5 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 19
PATCH 0
-PRERELEASE 279
+PRERELEASE 280
PRERELEASE_PATCH 0