diff --git a/pkg/analysis_server/lib/src/computer/computer_outline.dart b/pkg/analysis_server/lib/src/computer/computer_outline.dart index 237e310d269..417657f9d6a 100644 --- a/pkg/analysis_server/lib/src/computer/computer_outline.dart +++ b/pkg/analysis_server/lib/src/computer/computer_outline.dart @@ -414,7 +414,7 @@ class DartUnitOutlineComputer { /// Returns `true` if the given [element] is not `null` and deprecated. static bool _isDeprecated(Declaration declaration) { - var element = declaration.declaredElement; + var element = declaration.declaredElement2; return element != null && element.hasDeprecated; } diff --git a/pkg/analysis_server/lib/src/computer/computer_overrides.dart b/pkg/analysis_server/lib/src/computer/computer_overrides.dart index 65d7d1850c3..4600f6f4b6c 100644 --- a/pkg/analysis_server/lib/src/computer/computer_overrides.dart +++ b/pkg/analysis_server/lib/src/computer/computer_overrides.dart @@ -68,7 +68,7 @@ class DartUnitOverridesComputer { if (classMember.isStatic) { continue; } - _addOverride(classMember.name2, classMember.declaredElement); + _addOverride(classMember.name2, classMember.declaredElement2); } if (classMember is FieldDeclaration) { if (classMember.isStatic) { @@ -76,7 +76,7 @@ class DartUnitOverridesComputer { } List fields = classMember.fields.variables; for (var field in fields) { - _addOverride(field.name2, field.declaredElement); + _addOverride(field.name2, field.declaredElement2); } } } diff --git a/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart b/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart index 47b7bbff81b..adc06b9f40f 100644 --- a/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart +++ b/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart @@ -28,7 +28,7 @@ class _DartUnitOccurrencesComputerVisitor extends RecursiveAstVisitor { @override void visitEnumConstantDeclaration(EnumConstantDeclaration node) { - _addOccurrence(node.declaredElement!, node.name2.offset); + _addOccurrence(node.declaredElement2!, node.name2.offset); super.visitEnumConstantDeclaration(node); } diff --git a/pkg/analysis_server/lib/src/services/completion/dart/enum_constant_constructor_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/enum_constant_constructor_contributor.dart index 4663e2059d5..b6215c332ae 100644 --- a/pkg/analysis_server/lib/src/services/completion/dart/enum_constant_constructor_contributor.dart +++ b/pkg/analysis_server/lib/src/services/completion/dart/enum_constant_constructor_contributor.dart @@ -5,7 +5,6 @@ import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart'; import 'package:analyzer/dart/analysis/features.dart'; import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/dart/element/element.dart'; /// A contributor that produces suggestions for constructors to be invoked /// in enum constants. @@ -46,7 +45,7 @@ class EnumConstantConstructorContributor extends DartCompletionContributor { return; } - var enumElement = enumDeclaration.declaredElement as ClassElement; + var enumElement = enumDeclaration.declaredElement2!; for (var constructor in enumElement.constructors) { builder.suggestConstructor( constructor, 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 03420db3a96..2898c90efb0 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 @@ -366,13 +366,13 @@ class FeatureComputer { : (node as ForElement).forLoopParts; if (loopParts is ForPartsWithDeclarations) { for (var declaredVariable in loopParts.variables.variables.reversed) { - if (declaredVariable.declaredElement == variable) { + if (declaredVariable.declaredElement2 == variable) { return distance; } distance++; } } else if (loopParts is ForEachPartsWithDeclaration) { - if (loopParts.loopVariable.declaredElement == variable) { + if (loopParts.loopVariable.declaredElement2 == variable) { return distance; } distance++; @@ -384,7 +384,7 @@ class FeatureComputer { var index = variables.indexOf(node); for (var i = index - 1; i >= 0; i--) { var declaredVariable = variables[i]; - if (declaredVariable.declaredElement == variable) { + if (declaredVariable.declaredElement2 == variable) { return distance; } distance++; @@ -412,7 +412,7 @@ class FeatureComputer { if (statement is VariableDeclarationStatement) { for (var declaredVariable in statement.variables.variables.reversed) { - if (declaredVariable.declaredElement == variable) { + if (declaredVariable.declaredElement2 == variable) { return distance; } distance++; diff --git a/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart index 2157dcccb53..2bf08ba3c14 100644 --- a/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart +++ b/pkg/analysis_server/lib/src/services/completion/dart/field_formal_contributor.dart @@ -47,12 +47,12 @@ class FieldFormalContributor extends DartCompletionContributor { } } - ClassElement? enclosingClass; + InterfaceElement? enclosingClass; var constructorParent = constructor.parent; if (constructorParent is ClassDeclaration) { - enclosingClass = constructorParent.declaredElement; + enclosingClass = constructorParent.declaredElement2; } else if (constructorParent is EnumDeclaration) { - enclosingClass = constructorParent.declaredElement; + enclosingClass = constructorParent.declaredElement2; } else { return; } diff --git a/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart index bdc06f41666..9a58903754b 100644 --- a/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart +++ b/pkg/analysis_server/lib/src/services/completion/dart/local_library_contributor.dart @@ -47,7 +47,7 @@ class LibraryElementSuggestionBuilder extends GeneralizingElementVisitor { @override void visitClassElement(ClassElement element) { if (opType.includeTypeNameSuggestions) { - builder.suggestClass(element, prefix: prefix); + builder.suggestInterface(element, prefix: prefix); } if (opType.includeConstructorSuggestions) { _addConstructorSuggestions(element); 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 b805f2323b3..8635cac42c7 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 @@ -85,9 +85,9 @@ class LocalReferenceContributor extends DartCompletionContributor { if (member != null) { var enclosingNode = member.parent; if (enclosingNode is ClassDeclaration) { - _addForInterface(enclosingNode.declaredElement!); + _addForInterface(enclosingNode.declaredElement2!); } else if (enclosingNode is MixinDeclaration) { - _addForInterface(enclosingNode.declaredElement!); + _addForInterface(enclosingNode.declaredElement2!); } } } @@ -217,14 +217,14 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredClass(ClassDeclaration declaration) { - _declaredClassElement(declaration.declaredElement); + _declaredInterfaceElement(declaration.declaredElement2); } @override void declaredClassTypeAlias(ClassTypeAlias declaration) { - var declaredElement = declaration.declaredElement; + var declaredElement = declaration.declaredElement2; if (declaredElement != null && opType.includeTypeNameSuggestions) { - builder.suggestClass(declaredElement); + builder.suggestInterface(declaredElement); } } @@ -235,12 +235,12 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredEnum(EnumDeclaration declaration) { - _declaredClassElement(declaration.declaredElement); + _declaredInterfaceElement(declaration.declaredElement2); } @override void declaredExtension(ExtensionDeclaration declaration) { - var declaredElement = declaration.declaredElement; + var declaredElement = declaration.declaredElement2; if (declaredElement != null && visibilityTracker._isVisible(declaredElement) && opType.includeReturnValueSuggestions && @@ -251,7 +251,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredField(FieldDeclaration fieldDecl, VariableDeclaration varDecl) { - var field = varDecl.declaredElement; + var field = varDecl.declaredElement2; if (field is FieldElement && ((visibilityTracker._isVisible(field) && opType.includeReturnValueSuggestions && @@ -260,7 +260,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { var inheritanceDistance = 0.0; var enclosingClass = request.target.containingNode .thisOrAncestorOfType(); - var enclosingElement = enclosingClass?.declaredElement; + var enclosingElement = enclosingClass?.declaredElement2; if (enclosingElement != null) { var enclosingElement = field.enclosingElement3; if (enclosingElement is ClassElement) { @@ -274,7 +274,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredFunction(FunctionDeclaration declaration) { - if (visibilityTracker._isVisible(declaration.declaredElement) && + if (visibilityTracker._isVisible(declaration.declaredElement2) && (opType.includeReturnValueSuggestions || opType.includeVoidReturnSuggestions)) { if (declaration.isSetter) { @@ -287,7 +287,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { return; } } - var declaredElement = declaration.declaredElement; + var declaredElement = declaration.declaredElement2; if (declaredElement is FunctionElement) { builder.suggestTopLevelFunction(declaredElement, kind: _defaultKind); } else if (declaredElement is PropertyAccessorElement) { @@ -298,7 +298,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredFunctionTypeAlias(FunctionTypeAlias declaration) { - var declaredElement = declaration.declaredElement; + var declaredElement = declaration.declaredElement2; if (declaredElement != null && opType.includeTypeNameSuggestions) { builder.suggestTypeAlias(declaredElement); } @@ -306,7 +306,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredGenericTypeAlias(GenericTypeAlias declaration) { - var declaredElement = declaration.declaredElement; + var declaredElement = declaration.declaredElement2; if (declaredElement is TypeAliasElement && opType.includeTypeNameSuggestions) { builder.suggestTypeAlias(declaredElement); @@ -332,7 +332,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredMethod(MethodDeclaration declaration) { - var element = declaration.declaredElement; + var element = declaration.declaredElement2; if (visibilityTracker._isVisible(element) && (opType.includeReturnValueSuggestions || opType.includeVoidReturnSuggestions) && @@ -345,7 +345,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { if (enclosingElement is ClassElement) { inheritanceDistance = request.featureComputer .inheritanceDistanceFeature( - enclosingClass.declaredElement!, enclosingElement); + enclosingClass.declaredElement2!, enclosingElement); } } if (element is MethodElement) { @@ -360,12 +360,12 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredMixin(MixinDeclaration declaration) { - var declaredElement = declaration.declaredElement; + var declaredElement = declaration.declaredElement2; if (!inExtendsClause && declaredElement != null && visibilityTracker._isVisible(declaredElement) && opType.includeTypeNameSuggestions) { - builder.suggestClass(declaredElement); + builder.suggestInterface(declaredElement); } } @@ -387,7 +387,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredTopLevelVar( VariableDeclarationList varList, VariableDeclaration varDecl) { - var variableElement = varDecl.declaredElement; + var variableElement = varDecl.declaredElement2; if (variableElement is TopLevelVariableElement && visibilityTracker._isVisible(variableElement) && opType.includeReturnValueSuggestions) { @@ -400,7 +400,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { @override void declaredTypeParameter(TypeParameter node) { - var declaredElement = node.declaredElement; + var declaredElement = node.declaredElement2; if (declaredElement != null && visibilityTracker._isVisible(declaredElement) && opType.includeTypeNameSuggestions) { @@ -414,17 +414,19 @@ class _LocalVisitor extends LocalDeclarationVisitor { super.visitExtendsClause(node); } - void _declaredClassElement(ClassElement? class_) { - if (class_ != null && visibilityTracker._isVisible(class_)) { + void _declaredInterfaceElement(InterfaceElement? element) { + if (element != null && visibilityTracker._isVisible(element)) { if (opType.includeTypeNameSuggestions) { - builder.suggestClass(class_); + builder.suggestInterface(element); } if (!opType.isPrefixed && opType.includeConstructorSuggestions && - class_ is! EnumElement) { - for (final constructor in class_.constructors) { - if (!class_.isAbstract || constructor.isFactory) { + element is ClassElement && + // TODO(scheglov) Remove when separated EnumElement from ClassElement + element is! EnumElement) { + for (final constructor in element.constructors) { + if (!element.isAbstract || constructor.isFactory) { builder.suggestConstructor(constructor); } } @@ -435,7 +437,7 @@ class _LocalVisitor extends LocalDeclarationVisitor { final contextType = request.contextType; if (contextType is InterfaceType) { // TODO(scheglov) This looks not ideal - we should suggest getters. - for (final field in class_.fields) { + for (final field in element.fields) { if (field.isStatic && typeSystem.isSubtypeOf(field.type, contextType)) { builder.suggestStaticField(field); 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 9cceb5ca984..23777a9abd3 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 @@ -23,7 +23,7 @@ class RedirectingContributor extends DartCompletionContributor { // C() : this.^ var containingConstructor = parent.thisOrAncestorOfType(); - var constructorElement = containingConstructor?.declaredElement; + var constructorElement = containingConstructor?.declaredElement2; var classElement = constructorElement?.enclosingElement3; if (classElement != null) { for (var constructor in classElement.constructors) { @@ -51,7 +51,7 @@ class RedirectingContributor extends DartCompletionContributor { // factory C() = ^ var containingConstructor = parent.thisOrAncestorOfType(); - var constructorElement = containingConstructor?.declaredElement; + var constructorElement = containingConstructor?.declaredElement2; var classElement = constructorElement?.enclosingElement3; var libraryElement = request.libraryElement; if (classElement == null) { diff --git a/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart b/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart index cbdc8398d5b..38fdc71602c 100644 --- a/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart +++ b/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart @@ -322,22 +322,6 @@ class SuggestionBuilder { ); } - /// Add a suggestion for a [classElement]. If the class can only be - /// referenced using a prefix, then the [prefix] should be provided. - void suggestClass(ClassElement classElement, {String? prefix}) { - var relevance = _computeTopLevelRelevance(classElement, - elementType: _instantiateInterfaceElement(classElement)); - _addBuilder( - _createCompletionSuggestionBuilder( - classElement, - kind: CompletionSuggestionKind.IDENTIFIER, - prefix: prefix, - relevance: relevance, - isNotImported: isNotImportedLibrary, - ), - ); - } - /// Add a suggestion to insert a closure matching the given function [type]. /// If [includeTrailingComma] is `true` then the completion text will include /// a trailing comma, such as when the closure is part of an argument list. @@ -452,7 +436,7 @@ class SuggestionBuilder { void suggestElement(Element element, {CompletionSuggestionKind kind = CompletionSuggestionKind.INVOCATION}) { if (element is ClassElement) { - suggestClass(element); + suggestInterface(element); } else if (element is ConstructorElement) { suggestConstructor(element, kind: kind); } else if (element is ExtensionElement) { @@ -588,6 +572,22 @@ class SuggestionBuilder { ); } + /// Add a suggestion for a [element]. If the class can only be + /// referenced using a prefix, then the [prefix] should be provided. + void suggestInterface(InterfaceElement element, {String? prefix}) { + var relevance = _computeTopLevelRelevance(element, + elementType: _instantiateInterfaceElement(element)); + _addBuilder( + _createCompletionSuggestionBuilder( + element, + kind: CompletionSuggestionKind.IDENTIFIER, + prefix: prefix, + relevance: relevance, + isNotImported: isNotImportedLibrary, + ), + ); + } + /// Add a suggestion for a [keyword]. The [offset] is the offset from the /// beginning of the keyword where the cursor will be left. void suggestKeyword(String keyword, {int? offset}) { diff --git a/pkg/analysis_server/lib/src/services/completion/dart/super_formal_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/super_formal_contributor.dart index 574e844bfa8..adfadc68e30 100644 --- a/pkg/analysis_server/lib/src/services/completion/dart/super_formal_contributor.dart +++ b/pkg/analysis_server/lib/src/services/completion/dart/super_formal_contributor.dart @@ -27,7 +27,7 @@ class SuperFormalContributor extends DartCompletionContributor { return; } - var constructorElement = constructor.declaredElement; + var constructorElement = constructor.declaredElement2; constructorElement as ConstructorElementImpl; var superConstructor = constructorElement.superConstructor; 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 1d0f41a5db2..31f1cb51e56 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 @@ -117,7 +117,7 @@ abstract class CorrectionProducer extends SingleCorrectionProducer { if (parent is VariableDeclaration) { var variableDeclaration = parent; if (variableDeclaration.initializer == expression) { - var variableElement = variableDeclaration.declaredElement; + var variableElement = variableDeclaration.declaredElement2; if (variableElement != null) { return variableElement.type; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_async.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_async.dart index f4585ed9de1..db7c3a09111 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_async.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_async.dart @@ -41,10 +41,10 @@ class AddAsync extends CorrectionProducer { DartType? returnType; if (parent is FunctionDeclaration) { body = parent.functionExpression.body; - returnType = parent.declaredElement!.returnType; + returnType = parent.declaredElement2!.returnType; } else if (parent is MethodDeclaration) { body = parent.body; - returnType = parent.declaredElement!.returnType; + returnType = parent.declaredElement2!.returnType; } if (body == null || returnType == null) { return; diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_call_super.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_call_super.dart index df469d06b42..7bb200be1fb 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_call_super.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_call_super.dart @@ -36,7 +36,7 @@ class AddCallSuper extends CorrectionProducer { if (methodDeclaration == null) return; var classElement = methodDeclaration .thisOrAncestorOfType() - ?.declaredElement; + ?.declaredElement2; if (classElement == null) return; var name = Name(classElement.library.source.uri, node.name); 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 c1e341a026b..948d9affd1a 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 @@ -40,7 +40,8 @@ class AddDiagnosticPropertyReference extends CorrectionProducer { final classDeclaration = node.thisOrAncestorOfType(); if (classDeclaration == null || - !flutter.isDiagnosticable(classDeclaration.declaredElement!.thisType)) { + !flutter + .isDiagnosticable(classDeclaration.declaredElement2!.thisType)) { return; } @@ -194,13 +195,13 @@ class AddDiagnosticPropertyReference extends CorrectionProducer { DartType? _getReturnType(AstNode node) { if (node is MethodDeclaration) { // Getter. - var element = node.declaredElement; + var element = node.declaredElement2; if (element is PropertyAccessorElement) { return element.returnType; } } else if (node is VariableDeclaration) { // Field. - var element = node.declaredElement; + var element = node.declaredElement2; if (element is FieldElement) { return element.type; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_explicit_cast.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_explicit_cast.dart index 54a7bce7c4f..8f132a9238d 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_explicit_cast.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_explicit_cast.dart @@ -38,7 +38,7 @@ class AddExplicitCast extends CorrectionProducer { if (parent is AssignmentExpression && target == parent.rightHandSide) { toType = parent.writeType!; } else if (parent is VariableDeclaration && target == parent.initializer) { - toType = parent.declaredElement!.type; + toType = parent.declaredElement2!.type; } else { // TODO(brianwilkerson) Handle function arguments. return; diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_field_formal_parameters.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_field_formal_parameters.dart index b2e5dbea54a..d28bf0a4b94 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_field_formal_parameters.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_field_formal_parameters.dart @@ -28,7 +28,7 @@ class AddFieldFormalParameters extends CorrectionProducer { return; } - var superType = classNode.declaredElement!.supertype; + var superType = classNode.declaredElement2!.supertype; if (superType == null) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_key_to_constructors.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_key_to_constructors.dart index 8f04696f576..4f4b8649bbb 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_key_to_constructors.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_key_to_constructors.dart @@ -36,7 +36,7 @@ class AddKeyToConstructors extends CorrectionProducer { return; } var className = node.name; - var constructors = parent.declaredElement?.supertype?.constructors; + var constructors = parent.declaredElement2?.supertype?.constructors; if (constructors == null) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_null_check.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_null_check.dart index 10e3faa8a85..a1bb384d431 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_null_check.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_null_check.dart @@ -74,14 +74,14 @@ class AddNullCheck extends CorrectionProducer { if (parent is AssignmentExpression && target == parent.rightHandSide) { toType = parent.writeType; } else if (parent is VariableDeclaration && target == parent.initializer) { - toType = parent.declaredElement?.type; + toType = parent.declaredElement2?.type; } else if (parent is ArgumentList) { toType = target.staticParameterElement?.type; } else if (parent is IndexExpression) { toType = parent.realTarget.typeOrThrow; } else if (parent is ForEachPartsWithDeclaration) { toType = - typeProvider.iterableType(parent.loopVariable.declaredElement!.type); + typeProvider.iterableType(parent.loopVariable.declaredElement2!.type); } else if (parent is ForEachPartsWithIdentifier) { toType = typeProvider.iterableType(parent.identifier.typeOrThrow); } else if (parent is SpreadElement) { diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_super_constructor_invocation.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_super_constructor_invocation.dart index f1357b4829e..b5553aaccd0 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_super_constructor_invocation.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_super_constructor_invocation.dart @@ -24,7 +24,7 @@ class AddSuperConstructorInvocation extends MultiCorrectionProducer { return; } - var targetClassElement = targetClassNode.declaredElement!; + var targetClassElement = targetClassNode.declaredElement2!; var superType = targetClassElement.supertype; if (superType == null) { return; diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart index 63ff7ce9972..fc824f22684 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart @@ -104,7 +104,7 @@ class AddTypeAnnotation extends CorrectionProducer { var targetClassDeclaration = target.thisOrAncestorOfType(); if (targetClassDeclaration != null) { - utils.targetClassElement = targetClassDeclaration.declaredElement; + utils.targetClassElement = targetClassDeclaration.declaredElement2; } } } @@ -115,7 +115,7 @@ class AddTypeAnnotation extends CorrectionProducer { if (declaredIdentifier.type != null) { return; } - var type = declaredIdentifier.declaredElement!.type; + var type = declaredIdentifier.declaredElement2!.type; if (type is! InterfaceType && type is! FunctionType) { return; } @@ -183,7 +183,7 @@ class AddTypeAnnotation extends CorrectionProducer { if (statement is! VariableDeclarationStatement || block is! Block) { return null; } - var element = variable.declaredElement; + var element = variable.declaredElement2; if (element is! LocalVariableElement) { return null; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart b/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart index dd306302622..dbe0e7beaf0 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart @@ -141,7 +141,7 @@ class ChangeTo extends CorrectionProducer { if (target == null) { var clazz = this.node.thisOrAncestorOfType(); if (clazz != null) { - var classElement = clazz.declaredElement!; + var classElement = clazz.declaredElement2!; _updateFinderWithClassMembers(finder, classElement); } } else if (target is ExtensionOverride) { @@ -292,7 +292,7 @@ class ChangeTo extends CorrectionProducer { var targetClassNode = parent.thisOrAncestorOfType(); if (targetClassNode == null) return; - var targetClassElement = targetClassNode.declaredElement!; + var targetClassElement = targetClassNode.declaredElement2!; var superType = targetClassElement.supertype; if (superType == null) return; 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 3ebbb8f7aa9..7baee110902 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 @@ -347,7 +347,7 @@ class _EnumDescription { /// description of the conversion work to be done. Otherwise, return `null`. static _EnumDescription? fromClass(ClassDeclaration node) { // The class must be a concrete class. - var classElement = node.declaredElement; + var classElement = node.declaredElement2; if (classElement == null || classElement.isAbstract) { return null; } @@ -516,7 +516,7 @@ class _EnumDescription { var constructors = _Constructors(); for (var member in classDeclaration.members) { if (member is ConstructorDeclaration) { - var constructor = member.declaredElement; + var constructor = member.declaredElement2; if (constructor is ConstructorElement) { if (!classElement.isPrivate && !constructor.isPrivate) { // Public constructor in public enum. @@ -550,7 +550,7 @@ class _EnumDescription { var fields = fieldList.variables; if (member.isStatic) { for (var field in fields) { - var fieldElement = field.declaredElement; + var fieldElement = field.declaredElement2; if (fieldElement is FieldElement) { var fieldType = fieldElement.type; // The field can be converted to be an enum constant if it @@ -597,7 +597,7 @@ class _EnumDescription { // Non-final instance field. return null; } - var fieldElement = field.declaredElement; + var fieldElement = field.declaredElement2; if (fieldElement is FieldElement) { var fieldType = fieldElement.type; if (fieldElement.name == 'index' && fieldType.isDartCoreInt) { @@ -723,7 +723,7 @@ class _NonEnumVisitor extends _BaseVisitor { @override void visitClassDeclaration(ClassDeclaration node) { - var element = node.declaredElement; + var element = node.declaredElement2; if (element == null) { throw _CannotConvertException('Unresolved'); } 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 2f73d8978b5..7d04dc0d9ba 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 @@ -36,7 +36,7 @@ class ConvertClassToMixin extends CorrectionProducer { var superclassConstraints = []; var interfaces = []; - var classElement = classDeclaration.declaredElement!; + var classElement = classDeclaration.declaredElement2!; for (var type in classElement.mixins) { if (referencedClasses.contains(type.element2)) { superclassConstraints.add(type); diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_into_block_body.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_into_block_body.dart index c8e9c08203b..2307386572a 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/convert_into_block_body.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_into_block_body.dart @@ -96,9 +96,9 @@ class ConvertIntoBlockBody extends CorrectionProducer { ExecutableElement? _getFunctionElement(AstNode? node) { if (node is MethodDeclaration) { - return node.declaredElement; + return node.declaredElement2; } else if (node is ConstructorDeclaration) { - return node.declaredElement; + return node.declaredElement2; } else if (node is FunctionExpression) { return node.declaredElement; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_into_final_field.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_into_final_field.dart index 27be65fb6d6..d8fef0833a6 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/convert_into_final_field.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_into_final_field.dart @@ -42,7 +42,7 @@ class ConvertIntoFinalField extends CorrectionProducer { // Check that there is no corresponding setter. { - var element = getter.declaredElement; + var element = getter.declaredElement2; if (element == null) { return; } 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 064a8814fd2..3b01b2f3330 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 @@ -109,7 +109,7 @@ class CreateConstructor extends CorrectionProducer { if (grandParent is! EnumDeclaration) { return; } - var targetElement = grandParent.declaredElement; + var targetElement = grandParent.declaredElement2; if (targetElement == null) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_for_final_fields.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_for_final_fields.dart index e7503147416..002f469d7f1 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_for_final_fields.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_for_final_fields.dart @@ -29,7 +29,7 @@ class CreateConstructorForFinalFields extends CorrectionProducer { } var className = classDeclaration.name2.lexeme; - var superType = classDeclaration.declaredElement?.supertype; + var superType = classDeclaration.declaredElement2?.supertype; if (superType == null) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_super.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_super.dart index 5c5eccbbfb6..498da4ccd79 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_super.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/create_constructor_super.dart @@ -19,7 +19,7 @@ class CreateConstructorSuper extends MultiCorrectionProducer { return; } - var targetClassElement = targetClassNode.declaredElement!; + var targetClassElement = targetClassNode.declaredElement2!; var superType = targetClassElement.supertype; if (superType == null) { return; diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_method.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_method.dart index b0a0035d149..ac13fd91ba7 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/create_method.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/create_method.dart @@ -65,7 +65,7 @@ class CreateMethod extends CorrectionProducer { } final classDecl = memberDecl.thisOrAncestorOfType(); if (classDecl != null) { - final classElement = classDecl.declaredElement!; + final classElement = classDecl.declaredElement2!; var missingEquals = memberDecl is FieldDeclaration || (memberDecl as MethodDeclaration).name2.lexeme == 'hashCode'; diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_missing_overrides.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_missing_overrides.dart index d7c68943a53..5d80e0edf28 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/create_missing_overrides.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/create_missing_overrides.dart @@ -28,7 +28,7 @@ class CreateMissingOverrides extends CorrectionProducer { return; } var targetClass = node.parent as ClassDeclaration; - utils.targetClassElement = targetClass.declaredElement; + utils.targetClassElement = targetClass.declaredElement2; var signatures = InheritanceOverrideVerifier.missingOverrides(targetClass).toList(); // sort by name, getters before setters diff --git a/pkg/analysis_server/lib/src/services/correction/dart/encapsulate_field.dart b/pkg/analysis_server/lib/src/services/correction/dart/encapsulate_field.dart index 43a8826c669..1757e44642e 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/encapsulate_field.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/encapsulate_field.dart @@ -41,7 +41,7 @@ class EncapsulateField extends CorrectionProducer { } var field = fields.first; var nameToken = field.name2; - var fieldElement = field.declaredElement as FieldElement; + var fieldElement = field.declaredElement2 as FieldElement; // should have a public name var name = nameToken.lexeme; if (Identifier.isPrivateName(name)) { diff --git a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart index bfca7e7e4da..5675aa212d5 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart @@ -35,7 +35,7 @@ class FlutterConvertToStatefulWidget extends CorrectionProducer { } // Must be a StatelessWidget subclass. - var widgetClassElement = widgetClass.declaredElement!; + var widgetClassElement = widgetClass.declaredElement2!; var superType = widgetClassElement.supertype; if (superType == null || !flutter.isExactlyStatelessWidgetType(superType)) { return; @@ -66,7 +66,7 @@ class FlutterConvertToStatefulWidget extends CorrectionProducer { for (var member in widgetClass.members) { if (member is FieldDeclaration && !member.isStatic) { for (var fieldNode in member.fields.variables) { - var fieldElement = fieldNode.declaredElement as FieldElement; + var fieldElement = fieldNode.declaredElement2 as FieldElement; if (!fieldsAssignedInConstructors.contains(fieldElement)) { nodesToMove.add(member); elementsToMove.add(fieldElement); @@ -84,7 +84,7 @@ class FlutterConvertToStatefulWidget extends CorrectionProducer { } } else if (member is MethodDeclaration && !member.isStatic) { nodesToMove.add(member); - elementsToMove.add(member.declaredElement!); + elementsToMove.add(member.declaredElement2!); } } 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 e6c8d34e34b..ff116995855 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 @@ -36,7 +36,7 @@ class FlutterConvertToStatelessWidget extends CorrectionProducer { } // Must be a StatefulWidget subclass. - var widgetClassElement = widgetClass.declaredElement!; + var widgetClassElement = widgetClass.declaredElement2!; var superType = widgetClassElement.supertype; if (superType == null || !flutter.isExactlyStatefulWidgetType(superType)) { return; @@ -46,7 +46,7 @@ class FlutterConvertToStatelessWidget extends CorrectionProducer { if (createStateMethod == null) return; var stateClass = _findStateClass(widgetClassElement); - var stateClassElement = stateClass?.declaredElement; + var stateClassElement = stateClass?.declaredElement2; if (stateClass == null || stateClassElement == null || !Identifier.isPrivateName(stateClass.name2.lexeme) || @@ -84,7 +84,7 @@ class FlutterConvertToStatelessWidget extends CorrectionProducer { return; } for (var fieldNode in member.fields.variables) { - var fieldElement = fieldNode.declaredElement as FieldElement; + var fieldElement = fieldNode.declaredElement2 as FieldElement; if (!fieldsAssignedInConstructors.contains(fieldElement)) { nodesToMove.add(member); elementsToMove.add(fieldElement); @@ -106,7 +106,7 @@ class FlutterConvertToStatelessWidget extends CorrectionProducer { } if (!_isDefaultOverride(member)) { nodesToMove.add(member); - elementsToMove.add(member.declaredElement!); + elementsToMove.add(member.declaredElement2!); } } } @@ -391,7 +391,7 @@ class _StateUsageVisitor extends RecursiveAstVisitor { methodDeclaration?.thisOrAncestorOfType(); if (methodDeclaration?.name2.lexeme != 'createState' || - classDeclaration?.declaredElement != widgetClassElement) { + classDeclaration?.declaredElement2 != widgetClassElement) { used = true; } } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart b/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart index 9badb6c7133..b5454bb12af 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/import_library.dart @@ -356,11 +356,11 @@ class ImportLibrary extends MultiCorrectionProducer { DartType? enclosingThisType(AstNode node) { var parent = node.parent; if (parent is ClassDeclaration) { - return parent.declaredElement?.thisType; + return parent.declaredElement2?.thisType; } else if (parent is ExtensionDeclaration) { return parent.extendedType.type; } else if (parent is MixinDeclaration) { - return parent.declaredElement?.thisType; + return parent.declaredElement2?.thisType; } else { return null; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/join_variable_declaration.dart b/pkg/analysis_server/lib/src/services/correction/dart/join_variable_declaration.dart index f85fb9578fc..1c7b9999825 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/join_variable_declaration.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/join_variable_declaration.dart @@ -75,7 +75,7 @@ class JoinVariableDeclaration extends CorrectionProducer { // The declared variable must be the one that is assigned. // There must be no initializer. var declaredVariable = declaredVariables.single; - if (declaredVariable.declaredElement != left.staticElement || + if (declaredVariable.declaredElement2 != left.staticElement || declaredVariable.initializer != null) { return; } @@ -137,7 +137,7 @@ class JoinVariableDeclaration extends CorrectionProducer { } // The assignment should write into the declared variable. - if (assignment.writeElement != declaredVariable.declaredElement) { + if (assignment.writeElement != declaredVariable.declaredElement2) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/make_variable_nullable.dart b/pkg/analysis_server/lib/src/services/correction/dart/make_variable_nullable.dart index 6c2b0d29a08..5181b0ae2a5 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/make_variable_nullable.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/make_variable_nullable.dart @@ -63,7 +63,7 @@ class MakeVariableNullable extends CorrectionProducer { if (statement is VariableDeclarationStatement) { var variableList = statement.variables; for (var declaration in variableList.variables) { - if (declaration.declaredElement == variable) { + if (declaration.declaredElement2 == variable) { return variableList; } } @@ -201,7 +201,7 @@ class MakeVariableNullable extends CorrectionProducer { return; } - var oldType = parent.declaredElement!.type; + var oldType = parent.declaredElement2!.type; if (oldType is! InterfaceTypeImpl) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/remove_abstract.dart b/pkg/analysis_server/lib/src/services/correction/dart/remove_abstract.dart index 335777a5ad0..9e948406738 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/remove_abstract.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/remove_abstract.dart @@ -59,7 +59,7 @@ class RemoveAbstract extends CorrectionProducerWithDiagnostic { continue; } for (var variable in variables) { - if (variable.declaredElement == node.staticElement) { + if (variable.declaredElement2 == node.staticElement) { var abstractKeyword = member.abstractKeyword; if (abstractKeyword != null) { await builder.addDartFileEdit(file, (builder) { diff --git a/pkg/analysis_server/lib/src/services/correction/dart/remove_unused.dart b/pkg/analysis_server/lib/src/services/correction/dart/remove_unused.dart index b63afe572d5..b1ff2f3c6b1 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/remove_unused.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/remove_unused.dart @@ -42,8 +42,8 @@ class RemoveUnusedElement extends _RemoveUnused { referencedNode is MethodDeclaration || referencedNode is VariableDeclaration) { final element = referencedNode is Declaration - ? referencedNode.declaredElement! - : (referencedNode as NamedCompilationUnitMember).declaredElement!; + ? referencedNode.declaredElement2! + : (referencedNode as NamedCompilationUnitMember).declaredElement2!; final references = _findAllReferences(unit, element); // todo (pq): consider filtering for references that are limited to within the class. if (references.length == 1) { @@ -92,7 +92,7 @@ class RemoveUnusedField extends _RemoveUnused { return; } - final element = declaration.declaredElement; + final element = declaration.declaredElement2; if (element is! FieldElement) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/remove_unused_local_variable.dart b/pkg/analysis_server/lib/src/services/correction/dart/remove_unused_local_variable.dart index 9a5aa0e3d4e..5d1b908f4c7 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/remove_unused_local_variable.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/remove_unused_local_variable.dart @@ -31,7 +31,7 @@ class RemoveUnusedLocalVariable extends CorrectionProducer { return; } - var element = declaration.declaredElement; + var element = declaration.declaredElement2; if (element is! LocalVariableElement) { return; } diff --git a/pkg/analysis_server/lib/src/services/correction/dart/rename_method_parameter.dart b/pkg/analysis_server/lib/src/services/correction/dart/rename_method_parameter.dart index 7ba42b80e95..c39f1294e3e 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/rename_method_parameter.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/rename_method_parameter.dart @@ -34,7 +34,7 @@ class RenameMethodParameter extends CorrectionProducer { if (methodParameters == null) return; var classDeclaration = method.parent as Declaration; - var classElement = classDeclaration.declaredElement; + var classElement = classDeclaration.declaredElement2; if (classElement is! ClassElement) return; var parentMethod = classElement.lookUpInheritedMethod( diff --git a/pkg/analysis_server/lib/src/services/correction/dart/replace_conditional_with_if_else.dart b/pkg/analysis_server/lib/src/services/correction/dart/replace_conditional_with_if_else.dart index fdc716360d3..45bbc9945b7 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/replace_conditional_with_if_else.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/replace_conditional_with_if_else.dart @@ -107,7 +107,7 @@ class ReplaceConditionalWithIfElse extends CorrectionProducer { var variable = conditional.parent as VariableDeclaration; var variableList = variable.parent as VariableDeclarationList; if (variableList.type == null) { - var type = variable.declaredElement!.type; + var type = variable.declaredElement2!.type; var keyword = variableList.keyword; if (keyword != null && keyword.keyword == Keyword.VAR) { builder.addReplacement(range.token(keyword), (builder) { diff --git a/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type.dart b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type.dart index 92a695b48ba..f51ac511f3a 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type.dart @@ -84,12 +84,12 @@ class ReplaceReturnType extends CorrectionProducer { if (newType != null) { var clazz = method.thisOrAncestorOfType(); if (clazz != null) { - var classElement = clazz.declaredElement!; + var classElement = clazz.declaredElement2!; var overriddenList = InheritanceManager3().getOverridden2( classElement, Name( classElement.library.source.uri, - method.declaredElement!.name, + method.declaredElement2!.name, )); if (overriddenList != null) { diff --git a/pkg/analysis_server/lib/src/services/correction/dart/split_variable_declaration.dart b/pkg/analysis_server/lib/src/services/correction/dart/split_variable_declaration.dart index 0eff5c63fbd..8540d43e108 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/split_variable_declaration.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/split_variable_declaration.dart @@ -52,7 +52,7 @@ class SplitVariableDeclaration extends CorrectionProducer { await builder.addDartFileEdit(file, (builder) { if (variableList.type == null) { - final type = variable.declaredElement!.type; + final type = variable.declaredElement2!.type; if (!type.isDynamic && keyword != null) { if (!builder.canWriteType(type)) { return; diff --git a/pkg/analysis_server/lib/src/services/correction/dart/surround_with.dart b/pkg/analysis_server/lib/src/services/correction/dart/surround_with.dart index cd68581daf4..fd88d0d0ed9 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/surround_with.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/surround_with.dart @@ -241,7 +241,7 @@ class _SurroundWithSetState extends _SurroundWith { var classDeclaration = node.parent?.thisOrAncestorOfType(); if (classDeclaration != null && - flutter.isState(classDeclaration.declaredElement)) { + flutter.isState(classDeclaration.declaredElement2)) { await builder.addDartFileEdit(file, (builder) { builder.addReplacement(statementsRange, (builder) { builder.write(indentOld); diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename_parameter.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename_parameter.dart index 568dd968150..004b5be5203 100644 --- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename_parameter.dart +++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename_parameter.dart @@ -120,7 +120,7 @@ extension on MethodDeclaration { /// Return the element that this method overrides, or `null` if this method /// doesn't override any inherited member. ExecutableElement? overriddenElement() { - var element = declaredElement; + var element = declaredElement2; if (element != null) { var enclosingElement = element.enclosingElement3; if (enclosingElement is ClassElement) { diff --git a/pkg/analysis_server/lib/src/services/correction/util.dart b/pkg/analysis_server/lib/src/services/correction/util.dart index f2422864a04..15121384921 100644 --- a/pkg/analysis_server/lib/src/services/correction/util.dart +++ b/pkg/analysis_server/lib/src/services/correction/util.dart @@ -255,13 +255,13 @@ AstNode? getEnclosingClassOrUnitMember(AstNode input) { ExecutableElement? getEnclosingExecutableElement(AstNode input) { for (var node in input.withParents) { if (node is FunctionDeclaration) { - return node.declaredElement; + return node.declaredElement2; } if (node is ConstructorDeclaration) { - return node.declaredElement; + return node.declaredElement2; } if (node is MethodDeclaration) { - return node.declaredElement; + return node.declaredElement2; } } return null; 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 1a1b2265144..26c3a066281 100644 --- a/pkg/analysis_server/lib/src/services/kythe/kythe_visitors.dart +++ b/pkg/analysis_server/lib/src/services/kythe/kythe_visitors.dart @@ -202,7 +202,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { if (refVName != null) { var parentNode = node.parent; if (parentNode is Declaration) { - var parentElement = parentNode.declaredElement; + var parentElement = parentNode.declaredElement2; if (parentNode is TopLevelVariableDeclaration) { _handleVariableDeclarationListAnnotations( parentNode.variables, refVName); @@ -279,7 +279,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { @override void visitClassDeclaration(ClassDeclaration node) { - return _withEnclosingElement(node.declaredElement!, () { + return _withEnclosingElement(node.declaredElement2!, () { // record/ class node addNodeAndFacts(schema.RECORD_KIND, nodeVName: _enclosingClassVName, @@ -346,7 +346,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { @override void visitClassTypeAlias(ClassTypeAlias node) { - return _withEnclosingElement(node.declaredElement!, () { + return _withEnclosingElement(node.declaredElement2!, () { // record/ class node addNodeAndFacts(schema.RECORD_KIND, nodeVName: _enclosingClassVName, @@ -460,7 +460,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { @override void visitConstructorDeclaration(ConstructorDeclaration node) { - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; return _withEnclosingElement(declaredElement, () { // function/ constructor node var constructorVName = addNodeAndFacts(schema.FUNCTION_KIND, @@ -502,7 +502,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { @override void visitDeclaredIdentifier(DeclaredIdentifier node) { - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; _handleVariableDeclaration(declaredElement, node.name, subKind: schema.LOCAL_SUBKIND, type: declaredElement.type); @@ -513,7 +513,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { void visitEnumConstantDeclaration(EnumConstantDeclaration node) { // constant node var constDeclVName = - addNodeAndFacts(schema.CONSTANT_KIND, element: node.declaredElement); + addNodeAndFacts(schema.CONSTANT_KIND, element: node.declaredElement2); // anchor- defines/binding, defines addAnchorEdgesContainingEdge( @@ -530,7 +530,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { @override void visitEnumDeclaration(EnumDeclaration node) { - return _withEnclosingElement(node.declaredElement!, () { + return _withEnclosingElement(node.declaredElement2!, () { // record/ enum node addNodeAndFacts(schema.RECORD_KIND, nodeVName: _enclosingClassVName, @@ -591,7 +591,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { @override void visitFunctionDeclaration(FunctionDeclaration node) { - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; return _withEnclosingElement(declaredElement, () { // function node var functionVName = addNodeAndFacts(schema.FUNCTION_KIND, @@ -743,7 +743,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { @override void visitMethodDeclaration(MethodDeclaration node) { - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; return _withEnclosingElement(declaredElement, () { // function node var methodVName = addNodeAndFacts(schema.FUNCTION_KIND, @@ -918,7 +918,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { _enclosingVName != _enclosingFileVName; // variable - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; _handleVariableDeclaration(declaredElement, node.name2, subKind: isLocal ? schema.LOCAL_SUBKIND : schema.FIELD_SUBKIND, type: declaredElement.type); @@ -1104,9 +1104,9 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils { void _handleVariableDeclarationListAnnotations( VariableDeclarationList variableDeclarationList, KytheVName refVName) { for (var varDecl in variableDeclarationList.variables) { - if (varDecl.declaredElement != null) { + if (varDecl.declaredElement2 != null) { var parentVName = - _vNameFromElement(varDecl.declaredElement, schema.VARIABLE_KIND); + _vNameFromElement(varDecl.declaredElement2, schema.VARIABLE_KIND); addEdge(parentVName, schema.ANNOTATED_BY_EDGE, refVName); } else { // The element out of the VarDeclarationList is null 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 3bf7ff6cddd..d62012f39f1 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 @@ -435,15 +435,15 @@ class ExtractMethodRefactoringImpl extends RefactoringImpl return validateCreateFunction(searchEngine, libraryElement, name); } // method of class - ClassElement? classElement; + InterfaceElement? interfaceElement; if (parent is ClassDeclaration) { - classElement = parent.declaredElement!; + interfaceElement = parent.declaredElement2!; } else if (parent is EnumDeclaration) { - classElement = parent.declaredElement!; + interfaceElement = parent.declaredElement2!; } - if (classElement != null) { + if (interfaceElement != null) { return validateCreateMethod(searchEngine, - AnalysisSessionHelper(resolveResult.session), classElement, name); + AnalysisSessionHelper(resolveResult.session), interfaceElement, name); } // OK return Future.value(result); 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 2110a70c194..d9aab7d2b03 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 @@ -184,7 +184,7 @@ class ExtractWidgetRefactoringImpl extends RefactoringImpl // Find the enclosing class. _enclosingClassNode = node?.thisOrAncestorOfType(); - _enclosingClassElement = _enclosingClassNode?.declaredElement; + _enclosingClassElement = _enclosingClassNode?.declaredElement2; // new MyWidget(...) var newExpression = _flutter.identifyNewExpression(node); @@ -372,7 +372,7 @@ class ExtractWidgetRefactoringImpl extends RefactoringImpl /// Replace invocations of the [_method] with instantiations of the new /// widget class. void _replaceInvocationsWithInstantiations(DartFileEditBuilder builder) { - var collector = _MethodInvocationsCollector(_method!.declaredElement!); + var collector = _MethodInvocationsCollector(_method!.declaredElement2!); _enclosingClassNode!.accept(collector); for (var invocation in collector.invocations) { List arguments = invocation.argumentList.arguments; 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 cbd303c4d13..199c73f3187 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 @@ -22,15 +22,15 @@ import 'package:analyzer/src/dart/analysis/session_helper.dart'; import 'package:analyzer/src/generated/java_core.dart'; import 'package:analyzer/src/generated/source.dart'; -/// Checks if creating a method with the given [name] in [classElement] will +/// Checks if creating a method with the given [name] in [interfaceElement] will /// cause any conflicts. Future validateCreateMethod( SearchEngine searchEngine, AnalysisSessionHelper sessionHelper, - ClassElement classElement, + InterfaceElement interfaceElement, String name) { return _CreateClassMemberValidator( - searchEngine, sessionHelper, classElement, name) + searchEngine, sessionHelper, interfaceElement, name) .validate(); } @@ -127,7 +127,7 @@ class RenameClassMemberRefactoringImpl extends RenameRefactoringImpl { class _BaseClassMemberValidator { final SearchEngine searchEngine; final AnalysisSessionHelper sessionHelper; - final ClassElement elementClass; + final InterfaceElement interfaceElement; final ElementKind elementKind; final String name; @@ -136,21 +136,21 @@ class _BaseClassMemberValidator { _BaseClassMemberValidator( this.searchEngine, this.sessionHelper, - this.elementClass, + this.interfaceElement, this.elementKind, this.name, ); - LibraryElement get library => elementClass.library; + LibraryElement get library => interfaceElement.library; void _checkClassAlreadyDeclares() { // check if there is a member with "newName" in the same ClassElement - for (var newNameMember in getChildren(elementClass, name)) { + for (var newNameMember in getChildren(interfaceElement, name)) { result.addError( format( "{0} '{1}' already declares {2} with name '{3}'.", - capitalize(elementClass.kind.displayName), - elementClass.displayName, + capitalize(interfaceElement.kind.displayName), + interfaceElement.displayName, getElementKindName(newNameMember), name, ), @@ -164,7 +164,7 @@ class _BaseClassMemberValidator { required Set subClasses, }) async { var superClasses = - elementClass.allSupertypes.map((e) => e.element2).toSet(); + interfaceElement.allSupertypes.map((e) => e.element2).toSet(); // check shadowing in the hierarchy var declarations = await searchEngine.searchMemberDeclarations(name); for (var declaration in declarations) { @@ -201,12 +201,12 @@ class _CreateClassMemberValidator extends _BaseClassMemberValidator { _CreateClassMemberValidator( SearchEngine searchEngine, AnalysisSessionHelper sessionHelper, - ClassElement elementClass, + InterfaceElement interfaceElement, String name) : super( searchEngine, sessionHelper, - elementClass, + interfaceElement, ElementKind.METHOD, name, ); @@ -214,13 +214,13 @@ class _CreateClassMemberValidator extends _BaseClassMemberValidator { Future validate() async { _checkClassAlreadyDeclares(); // do chained computations - var subClasses = await searchEngine.searchAllSubtypes(elementClass); + var subClasses = await searchEngine.searchAllSubtypes(interfaceElement); // check shadowing of class names - if (elementClass.name == name) { + if (interfaceElement.name == name) { result.addError( 'Created ${elementKind.displayName} has the same name as the ' - "declaring ${elementClass.kind.displayName} '$name'.", - newLocation_fromElement(elementClass), + "declaring ${interfaceElement.kind.displayName} '$name'.", + newLocation_fromElement(interfaceElement), ); } // check shadowing in the hierarchy @@ -274,7 +274,7 @@ class _RenameClassMemberValidator extends _BaseClassMemberValidator { _checkClassAlreadyDeclares(); // do chained computations await _prepareReferences(); - var subClasses = await searchEngine.searchAllSubtypes(elementClass); + var subClasses = await searchEngine.searchAllSubtypes(interfaceElement); // check shadowing of class names for (var element in elements) { var enclosingElement = element.enclosingElement3; diff --git a/pkg/analysis_server/lib/src/services/refactoring/legacy/visible_ranges_computer.dart b/pkg/analysis_server/lib/src/services/refactoring/legacy/visible_ranges_computer.dart index 6e8b38e9bba..7c2a94b7d7d 100644 --- a/pkg/analysis_server/lib/src/services/refactoring/legacy/visible_ranges_computer.dart +++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/visible_ranges_computer.dart @@ -37,7 +37,7 @@ class VisibleRangesComputer extends GeneralizingAstVisitor { var loop = node.parent; if (loop != null) { for (var variable in node.variables.variables) { - _addLocalVariable(loop, variable.declaredElement); + _addLocalVariable(loop, variable.declaredElement2); variable.initializer?.accept(this); } } @@ -47,7 +47,7 @@ class VisibleRangesComputer extends GeneralizingAstVisitor { void visitFunctionDeclaration(FunctionDeclaration node) { var block = node.parent?.parent; if (block is Block) { - var element = node.declaredElement as FunctionElement; + var element = node.declaredElement2 as FunctionElement; _map[element] = range.node(block); } @@ -59,7 +59,7 @@ class VisibleRangesComputer extends GeneralizingAstVisitor { var block = node.parent; if (block != null) { for (var variable in node.variables.variables) { - _addLocalVariable(block, variable.declaredElement); + _addLocalVariable(block, variable.declaredElement2); variable.initializer?.accept(this); } } diff --git a/pkg/analysis_server/lib/src/status/ast_writer.dart b/pkg/analysis_server/lib/src/status/ast_writer.dart index e9173b7ac6f..8b8e20d8bcd 100644 --- a/pkg/analysis_server/lib/src/status/ast_writer.dart +++ b/pkg/analysis_server/lib/src/status/ast_writer.dart @@ -43,10 +43,10 @@ class AstWriter extends UnifyingAstVisitor with TreeWriter { properties['static element'] = node.staticElement; properties['static type'] = node.staticType; } else if (node is ClassDeclaration) { - properties['declaredElement'] = node.declaredElement; + properties['declaredElement'] = node.declaredElement2; properties['abstract keyword'] = node.abstractKeyword; } else if (node is ClassTypeAlias) { - properties['declaredElement'] = node.declaredElement; + properties['declaredElement'] = node.declaredElement2; properties['abstract keyword'] = node.abstractKeyword; } else if (node is CompilationUnit) { properties['declaredElement'] = node.declaredElement; @@ -55,7 +55,7 @@ class AstWriter extends UnifyingAstVisitor with TreeWriter { } else if (node is ConstructorName) { properties['static element'] = node.staticElement; } else if (node is DeclaredIdentifier) { - properties['element'] = node.declaredElement; + properties['element'] = node.declaredElement2; properties['keyword'] = node.keyword; } else if (node is ExportDirective) { properties['element'] = node.element2; @@ -75,7 +75,7 @@ class AstWriter extends UnifyingAstVisitor with TreeWriter { properties['kind'] = 'unknown kind'; } } else if (node is FunctionDeclaration) { - properties['declaredElement'] = node.declaredElement; + properties['declaredElement'] = node.declaredElement2; properties['external keyword'] = node.externalKeyword; properties['property keyword'] = node.propertyKeyword; } else if (node is FunctionExpressionInvocation) { @@ -94,7 +94,7 @@ class AstWriter extends UnifyingAstVisitor with TreeWriter { } else if (node is LibraryDirective) { properties['element'] = node.element2; } else if (node is MethodDeclaration) { - properties['declaredElement'] = node.declaredElement; + properties['declaredElement'] = node.declaredElement2; properties['external keyword'] = node.externalKeyword; properties['modifier keyword'] = node.modifierKeyword; properties['operator keyword'] = node.operatorKeyword; @@ -126,7 +126,7 @@ class AstWriter extends UnifyingAstVisitor with TreeWriter { } else if (node is VariableDeclarationList) { properties['keyword'] = node.keyword; } else if (node is Declaration) { - properties['declaredElement'] = node.declaredElement; + properties['declaredElement'] = node.declaredElement2; } else if (node is Expression) { properties['static type'] = node.staticType; } else if (node is FunctionBody) { diff --git a/pkg/analysis_server/lib/src/utilities/extensions/ast.dart b/pkg/analysis_server/lib/src/utilities/extensions/ast.dart index f93477cf5d2..703779c0eba 100644 --- a/pkg/analysis_server/lib/src/utilities/extensions/ast.dart +++ b/pkg/analysis_server/lib/src/utilities/extensions/ast.dart @@ -24,7 +24,7 @@ extension AstNodeExtensions on AstNode { ExtensionElement? get enclosingExtensionElement { for (final node in withParents) { if (node is ExtensionDeclaration) { - return node.declaredElement; + return node.declaredElement2; } } return null; @@ -46,9 +46,9 @@ extension AstNodeExtensions on AstNode { InterfaceElement? get enclosingInterfaceElement { for (final node in withParents) { if (node is ClassDeclaration) { - return node.declaredElement; + return node.declaredElement2; } else if (node is MixinDeclaration) { - return node.declaredElement; + return node.declaredElement2; } } return null; diff --git a/pkg/analysis_server/test/services/refactoring/legacy/rename_constructor_test.dart b/pkg/analysis_server/test/services/refactoring/legacy/rename_constructor_test.dart index a690c71fa18..118b635f435 100644 --- a/pkg/analysis_server/test/services/refactoring/legacy/rename_constructor_test.dart +++ b/pkg/analysis_server/test/services/refactoring/legacy/rename_constructor_test.dart @@ -568,7 +568,7 @@ enum E { class _RenameConstructorTest extends RenameRefactoringTest { void _createConstructorDeclarationRefactoring(String search) { - var element = findNode.constructor(search).declaredElement; + var element = findNode.constructor(search).declaredElement2; createRenameRefactoringForElement(element); } diff --git a/pkg/analysis_server/tool/bulk_fix/parse_utils.dart b/pkg/analysis_server/tool/bulk_fix/parse_utils.dart index ab93c6fc34e..4e63e7262f3 100644 --- a/pkg/analysis_server/tool/bulk_fix/parse_utils.dart +++ b/pkg/analysis_server/tool/bulk_fix/parse_utils.dart @@ -29,7 +29,7 @@ class BulkFixDetails { .getResolvedUnit(file.absolute.path) as ResolvedUnitResult; for (var classDecl in resolvedFile.unit.declarations.whereType()) { - var classElement = classDecl.declaredElement; + var classElement = classDecl.declaredElement2; if (classElement != null && classElement.allSupertypes.any( (element) => element.element2.name == 'CorrectionProducer')) { diff --git a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart index d74f7f77a97..2e8c73a3852 100644 --- a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart +++ b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart @@ -968,7 +968,7 @@ class RelevanceDataCollector extends RecursiveAstVisitor { // There are no completions. data.recordPercentage( 'Methods with type parameters', node.typeParameters != null); - var element = node.declaredElement!; + var element = node.declaredElement2!; if (!element.isStatic && element.enclosingElement3 is ClassElement) { var overriddenMembers = inheritanceManager.getOverridden2( element.enclosingElement3 as ClassElement, @@ -1488,12 +1488,12 @@ class RelevanceDataCollector extends RecursiveAstVisitor { var node = reference; while (node != null) { if (node is MethodDeclaration) { - if (node.declaredElement == function) { + if (node.declaredElement2 == function) { return depth; } depth++; } else if (node is ConstructorDeclaration) { - if (node.declaredElement == function) { + if (node.declaredElement2 == function) { return depth; } depth++; diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md index 3212353d76c..430d57f3010 100644 --- a/pkg/analyzer/CHANGELOG.md +++ b/pkg/analyzer/CHANGELOG.md @@ -1,6 +1,9 @@ ## 4.5.0-dev * Update deprecation message for `FormalParameter.identifier`. * Deprecated `ClassOrMixinDeclaration`, use `ClassDeclaration` and `MixinDeclaration` directly. +* Deprecate `Declaration.declaredElement`, use `declaredElement2` instead. + This is necessary to separate `ClassElement`, `EnumElement`, and `MixinElement`. + And, in the future, augmentations like `ClassAugmentationElement`, etc. ## 4.4.0 * Deprecated `ClassDeclaration.isAbstract`, use `abstractKeyword` instead. diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart index 9bf0421c99a..ad890810519 100644 --- a/pkg/analyzer/lib/dart/ast/ast.dart +++ b/pkg/analyzer/lib/dart/ast/ast.dart @@ -863,7 +863,7 @@ abstract class ClassAugmentationDeclaration Token get augmentKeyword; @override - ClassAugmentationElement? get declaredElement; + ClassAugmentationElement? get declaredElement2; } /// The declaration of a class. @@ -882,9 +882,13 @@ abstract class ClassDeclaration ClassOrAugmentationDeclaration, // ignore: deprecated_member_use_from_same_package ClassOrMixinDeclaration { + @Deprecated('Use declaredElement2 instead') @override ClassElement? get declaredElement; + @override + ClassElement? get declaredElement2; + /// Returns the implements clause for the class/mixin, or `null` if the /// class/mixin does not implement any interfaces. @override @@ -947,6 +951,9 @@ abstract class ClassOrAugmentationDeclaration /// Returns the token representing the 'class' keyword. Token get classKeyword; + @override + ClassOrAugmentationElement? get declaredElement2; + /// Returns the `extends` clause for this class, or `null` if the class /// does not extend any other class. /// @@ -1031,9 +1038,13 @@ abstract class ClassTypeAlias implements TypeAlias { /// defining an abstract class. Token? get abstractKeyword; + @Deprecated('Use declaredElement2 instead') @override ClassElement? get declaredElement; + @override + ClassElement? get declaredElement2; + /// Return the token for the '=' separating the name from the definition. Token get equals; @@ -1387,9 +1398,13 @@ abstract class ConstructorDeclaration implements ClassMember { /// not a const constructor. Token? get constKeyword; + @Deprecated('Use declaredElement2 instead') @override ConstructorElement? get declaredElement; + @override + ConstructorElement? get declaredElement2; + /// Return the token for the 'external' keyword to the given [token]. Token? get externalKeyword; @@ -1567,7 +1582,13 @@ abstract class Declaration implements AnnotatedNode { /// Return the element associated with this declaration, or `null` if either /// this node corresponds to a list of declarations or if the AST structure /// has not been resolved. + @Deprecated('Use declaredElement2 instead') Element? get declaredElement; + + /// Return the element associated with this declaration, or `null` if either + /// this node corresponds to a list of declarations or if the AST structure + /// has not been resolved. + Element? get declaredElement2; } /// The declaration of a single identifier. @@ -1577,9 +1598,13 @@ abstract class Declaration implements AnnotatedNode { /// /// Clients may not extend, implement or mix-in this class. abstract class DeclaredIdentifier implements Declaration { + @Deprecated('Use declaredElement2 instead') @override LocalVariableElement? get declaredElement; + @override + LocalVariableElement? get declaredElement2; + /// Return the name of the variable being declared. @Deprecated('Use name instead') SimpleIdentifier get identifier; @@ -1793,9 +1818,13 @@ abstract class EnumDeclaration implements NamedCompilationUnitMember { /// Return the enumeration constants being declared. NodeList get constants; + @Deprecated('Use declaredElement2 instead') @override ClassElement? get declaredElement; + @override + EnumElement? get declaredElement2; + /// Return the 'enum' keyword. Token get enumKeyword; @@ -1966,9 +1995,13 @@ abstract class ExtendsClause implements AstNode { /// /// Clients may not extend, implement or mix-in this class. abstract class ExtensionDeclaration implements CompilationUnitMember { + @Deprecated('Use declaredElement2 instead') @override ExtensionElement? get declaredElement; + @override + ExtensionElement? get declaredElement2; + /// Return the type that is being extended. TypeAnnotation get extendedType; @@ -2508,9 +2541,13 @@ abstract class FunctionBody implements AstNode { /// /// Clients may not extend, implement or mix-in this class. abstract class FunctionDeclaration implements NamedCompilationUnitMember { + @Deprecated('Use declaredElement2 instead') @override ExecutableElement? get declaredElement; + @override + ExecutableElement? get declaredElement2; + /// Return the token representing the 'external' keyword, or `null` if this is /// not an external function. Token? get externalKeyword; @@ -2627,9 +2664,13 @@ abstract class FunctionReference /// /// Clients may not extend, implement or mix-in this class. abstract class FunctionTypeAlias implements TypeAlias { + @Deprecated('Use declaredElement2 instead') @override TypeAliasElement? get declaredElement; + @override + TypeAliasElement? get declaredElement2; + /// Return the parameters associated with the function type. FormalParameterList get parameters; @@ -3424,9 +3465,13 @@ abstract class MethodDeclaration implements ClassMember { /// Return the body of the method. FunctionBody get body; + @Deprecated('Use declaredElement2 instead') @override ExecutableElement? get declaredElement; + @override + ExecutableElement? get declaredElement2; + /// Return the token for the 'external' keyword, or `null` if the constructor /// is not external. Token? get externalKeyword; @@ -3552,7 +3597,7 @@ abstract class MixinAugmentationDeclaration Token get augmentKeyword; @override - MixinAugmentationElement? get declaredElement; + MixinAugmentationElement? get declaredElement2; } /// The declaration of a mixin. @@ -3567,13 +3612,13 @@ abstract class MixinDeclaration MixinOrAugmentationDeclaration, // ignore: deprecated_member_use_from_same_package ClassOrMixinDeclaration { - // TODO(scheglov) Uncomment when removed [ClassOrMixinDeclaration]. - // @override - // MixinElement get declaredElement; - + @Deprecated('Use declaredElement2 instead') @override ClassElement? get declaredElement; + @override + MixinElement? get declaredElement2; + /// Returns the implements clause for the class/mixin, or `null` if the /// class/mixin does not implement any interfaces. @override @@ -3604,14 +3649,13 @@ abstract class MixinDeclaration @experimental abstract class MixinOrAugmentationDeclaration implements NamedCompilationUnitMember { + @override + MixinOrAugmentationElement? get declaredElement2; + /// Returns the `implements` clause for the mixin, or `null` if the mixin /// does not implement any interfaces. ImplementsClause? get implementsClause; - // @override - // TODO(scheglov) Uncomment when removed [ClassOrMixinDeclaration]. - // MixinOrAugmentationElement get declaredElement; - /// Returns the left curly bracket. Token get leftBracket; @@ -4827,9 +4871,13 @@ abstract class TypeParameter implements Declaration { /// explicit upper bound. TypeAnnotation? get bound; + @Deprecated('Use declaredElement2 instead') @override TypeParameterElement? get declaredElement; + @override + TypeParameterElement? get declaredElement2; + /// Return the token representing the 'extends' keyword, or `null` if there is /// no explicit upper bound. Token? get extendsKeyword; @@ -4906,9 +4954,13 @@ abstract class UriBasedDirective implements Directive { // Consider changing the class hierarchy so that [VariableDeclaration] does not // extend [Declaration]. abstract class VariableDeclaration implements Declaration { + @Deprecated('Use declaredElement2 instead') @override VariableElement? get declaredElement; + @override + VariableElement? get declaredElement2; + /// Return the equal sign separating the variable name from the initial value, /// or `null` if the initial value was not specified. Token? get equals; diff --git a/pkg/analyzer/lib/src/dart/analysis/index.dart b/pkg/analyzer/lib/src/dart/analysis/index.dart index b83db32c0d9..fd50ffd7253 100644 --- a/pkg/analyzer/lib/src/dart/analysis/index.dart +++ b/pkg/analyzer/lib/src/dart/analysis/index.dart @@ -446,7 +446,7 @@ class _IndexContributor extends GeneralizingAstVisitor { _IndexContributor(this.assembler); - void recordIsAncestorOf(ClassElement descendant) { + void recordIsAncestorOf(InterfaceElement descendant) { _recordIsAncestorOf(descendant, descendant, false, []); } @@ -561,7 +561,7 @@ class _IndexContributor extends GeneralizingAstVisitor { @override void visitClassDeclaration(ClassDeclaration node) { _addSubtypeForClassDeclaration(node); - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; if (node.extendsClause == null) { final objectElement = declaredElement.supertype?.element2; recordRelationOffset(objectElement, IndexRelationKind.IS_EXTENDED_BY, @@ -574,7 +574,7 @@ class _IndexContributor extends GeneralizingAstVisitor { @override void visitClassTypeAlias(ClassTypeAlias node) { _addSubtypeForClassTypeAlis(node); - recordIsAncestorOf(node.declaredElement!); + recordIsAncestorOf(node.declaredElement2!); super.visitClassTypeAlias(node); } @@ -681,7 +681,7 @@ class _IndexContributor extends GeneralizingAstVisitor { memberNodes: node.members, ); - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; recordIsAncestorOf(declaredElement); super.visitEnumDeclaration(node); } @@ -770,7 +770,7 @@ class _IndexContributor extends GeneralizingAstVisitor { @override void visitMixinDeclaration(MixinDeclaration node) { _addSubtypeForMixinDeclaration(node); - recordIsAncestorOf(node.declaredElement!); + recordIsAncestorOf(node.declaredElement2!); super.visitMixinDeclaration(node); } diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart index 5c761d8a8e7..36e3ba04e0f 100644 --- a/pkg/analyzer/lib/src/dart/ast/ast.dart +++ b/pkg/analyzer/lib/src/dart/ast/ast.dart @@ -1714,7 +1714,7 @@ class ClassDeclarationImpl extends ClassOrMixinDeclarationImpl NativeClauseImpl? _nativeClause; @override - ClassElement? declaredElement; + ClassElement? declaredElement2; /// Initialize a newly created class declaration. Either or both of the /// [comment] and [metadata] can be `null` if the class does not have the @@ -1745,6 +1745,10 @@ class ClassDeclarationImpl extends ClassOrMixinDeclarationImpl _becomeParentOf(_withClause); } + @Deprecated('Use declaredElement2 instead') + @override + ClassElement? get declaredElement => declaredElement2; + @override ExtendsClauseImpl? get extendsClause => _extendsClause; @@ -1978,7 +1982,7 @@ class ClassTypeAliasImpl extends TypeAliasImpl implements ClassTypeAlias { ImplementsClauseImpl? _implementsClause; @override - ClassElement? declaredElement; + ClassElement? declaredElement2; /// Initialize a newly created class type alias. Either or both of the /// [comment] and [metadata] can be `null` if the class type alias does not @@ -2010,6 +2014,10 @@ class ClassTypeAliasImpl extends TypeAliasImpl implements ClassTypeAlias { _becomeParentOf(_implementsClause); } + @Deprecated('Use declaredElement2 instead') + @override + ClassElement? get declaredElement => declaredElement2; + @override Token get firstTokenAfterCommentAndMetadata { return abstractKeyword ?? macroKeyword ?? augmentKeyword ?? typedefKeyword; @@ -2784,7 +2792,7 @@ class ConstructorDeclarationImpl extends ClassMemberImpl /// structure has not been resolved or if this constructor could not be /// resolved. @override - ConstructorElement? declaredElement; + ConstructorElement? declaredElement2; /// Initialize a newly created constructor declaration. The [externalKeyword] /// can be `null` if the constructor is not external. Either or both of the @@ -2833,6 +2841,10 @@ class ConstructorDeclarationImpl extends ClassMemberImpl _body = _becomeParentOf(functionBody as FunctionBodyImpl); } + @Deprecated('Use declaredElement2 instead') + @override + ConstructorElement? get declaredElement => declaredElement2; + @override Token get endToken { return _body.endToken; @@ -3268,7 +3280,7 @@ class DeclaredIdentifierImpl extends DeclarationImpl SimpleIdentifierImpl _identifier; @override - LocalVariableElement? declaredElement; + LocalVariableElement? declaredElement2; /// Initialize a newly created formal parameter. Either or both of the /// [comment] and [metadata] can be `null` if the declaration does not have @@ -3286,6 +3298,10 @@ class DeclaredIdentifierImpl extends DeclarationImpl _becomeParentOf(_identifier); } + @Deprecated('Use declaredElement2 instead') + @override + LocalVariableElement? get declaredElement => declaredElement2; + @override Token get endToken => _identifier.endToken; @@ -3801,7 +3817,7 @@ class EnumConstantDeclarationImpl extends DeclarationImpl SimpleIdentifierImpl _name; @override - FieldElement? declaredElement; + FieldElement? declaredElement2; @override final EnumConstantArgumentsImpl? arguments; @@ -3822,6 +3838,10 @@ class EnumConstantDeclarationImpl extends DeclarationImpl _becomeParentOf(arguments); } + @Deprecated('Use declaredElement2 instead') + @override + FieldElement? get declaredElement => declaredElement2; + @override Token get endToken => (arguments ?? _name).endToken; @@ -3902,7 +3922,7 @@ class EnumDeclarationImpl extends NamedCompilationUnitMemberImpl Token rightBracket; @override - ClassElement? declaredElement; + EnumElement? declaredElement2; /// Initialize a newly created enumeration declaration. Either or both of the /// [comment] and [metadata] can be `null` if the declaration does not have @@ -3934,6 +3954,10 @@ class EnumDeclarationImpl extends NamedCompilationUnitMemberImpl @override NodeListImpl get constants => _constants; + @Deprecated('Use declaredElement2 instead') + @override + ClassElement? get declaredElement => declaredElement2 as ClassElement?; + @override Token get endToken => rightBracket; @@ -4427,7 +4451,8 @@ class ExtensionDeclarationImpl extends CompilationUnitMemberImpl @override Token rightBracket; - ExtensionElement? _declaredElement; + @override + ExtensionElement? declaredElement2; ExtensionDeclarationImpl({ required super.comment, @@ -4454,13 +4479,9 @@ class ExtensionDeclarationImpl extends CompilationUnitMemberImpl _members._initialize(this, members); } + @Deprecated('Use declaredElement2 instead') @override - ExtensionElement? get declaredElement => _declaredElement; - - /// Set the element declared by this declaration to the given [element]. - set declaredElement(ExtensionElement? element) { - _declaredElement = element; - } + ExtensionElement? get declaredElement => declaredElement2; @override Token get endToken => rightBracket; @@ -4687,6 +4708,9 @@ class FieldDeclarationImpl extends ClassMemberImpl implements FieldDeclaration { @override Element? get declaredElement => null; + @override + Element? get declaredElement2 => null; + @override Token get endToken => semicolon; @@ -5519,7 +5543,7 @@ class FunctionDeclarationImpl extends NamedCompilationUnitMemberImpl FunctionExpressionImpl _functionExpression; @override - ExecutableElement? declaredElement; + ExecutableElement? declaredElement2; /// Initialize a newly created function declaration. Either or both of the /// [comment] and [metadata] can be `null` if the function does not have the @@ -5542,6 +5566,10 @@ class FunctionDeclarationImpl extends NamedCompilationUnitMemberImpl _becomeParentOf(_functionExpression); } + @Deprecated('Use declaredElement2 instead') + @override + ExecutableElement? get declaredElement => declaredElement2; + @override Token get endToken => _functionExpression.endToken; @@ -5881,7 +5909,7 @@ class FunctionTypeAliasImpl extends TypeAliasImpl implements FunctionTypeAlias { FormalParameterListImpl _parameters; @override - TypeAliasElement? declaredElement; + TypeAliasElement? declaredElement2; /// Initialize a newly created function type alias. Either or both of the /// [comment] and [metadata] can be `null` if the function does not have the @@ -5905,6 +5933,10 @@ class FunctionTypeAliasImpl extends TypeAliasImpl implements FunctionTypeAlias { _becomeParentOf(_parameters); } + @Deprecated('Use declaredElement2 instead') + @override + TypeAliasElement? get declaredElement => declaredElement2; + @override FormalParameterListImpl get parameters => _parameters; @@ -6199,7 +6231,7 @@ class GenericTypeAliasImpl extends TypeAliasImpl implements GenericTypeAlias { Token equals; @override - Element? declaredElement; + Element? declaredElement2; /// Returns a newly created generic type alias. Either or both of the /// [comment] and [metadata] can be `null` if the variable list does not have @@ -6220,6 +6252,10 @@ class GenericTypeAliasImpl extends TypeAliasImpl implements GenericTypeAlias { _becomeParentOf(_type); } + @Deprecated('Use declaredElement2 instead') + @override + Element? get declaredElement => declaredElement2; + /// The type of function being defined by the alias. /// /// If the non-function type aliases feature is enabled, a type alias may have @@ -7956,7 +7992,7 @@ class MethodDeclarationImpl extends ClassMemberImpl /// a [PropertyAccessorElement] if this represents the declaration of either a /// getter or a setter. @override - ExecutableElement? declaredElement; + ExecutableElement? declaredElement2; /// Initialize a newly created method declaration. Either or both of the /// [comment] and [metadata] can be `null` if the declaration does not have @@ -7998,6 +8034,10 @@ class MethodDeclarationImpl extends ClassMemberImpl _body = _becomeParentOf(functionBody as FunctionBodyImpl); } + @Deprecated('Use declaredElement2 instead') + @override + ExecutableElement? get declaredElement => declaredElement2; + @override Token get endToken => _body.endToken; @@ -8263,7 +8303,7 @@ class MixinDeclarationImpl extends ClassOrMixinDeclarationImpl OnClauseImpl? _onClause; @override - ClassElement? declaredElement; + MixinElement? declaredElement2; /// Initialize a newly created mixin declaration. Either or both of the /// [comment] and [metadata] can be `null` if the mixin does not have the @@ -8288,6 +8328,10 @@ class MixinDeclarationImpl extends ClassOrMixinDeclarationImpl _becomeParentOf(_onClause); } + @Deprecated('Use declaredElement2 instead') + @override + ClassElement? get declaredElement => declaredElement2 as ClassElement?; + @override Token get firstTokenAfterCommentAndMetadata { return mixinKeyword; @@ -11334,6 +11378,9 @@ class TopLevelVariableDeclarationImpl extends CompilationUnitMemberImpl @override Element? get declaredElement => null; + @override + Element? get declaredElement2 => null; + @override Token get endToken => semicolon; @@ -11665,7 +11712,7 @@ class TypeParameterImpl extends DeclarationImpl implements TypeParameter { TypeAnnotationImpl? _bound; @override - TypeParameterElement? declaredElement; + TypeParameterElement? declaredElement2; /// Initialize a newly created type parameter. Either or both of the [comment] /// and [metadata] can be `null` if the parameter does not have the @@ -11691,6 +11738,10 @@ class TypeParameterImpl extends DeclarationImpl implements TypeParameter { _bound = _becomeParentOf(type as TypeAnnotationImpl?); } + @Deprecated('Use declaredElement2 instead') + @override + TypeParameterElement? get declaredElement => declaredElement2; + @override Token get endToken { if (_bound == null) { @@ -11884,7 +11935,7 @@ class VariableDeclarationImpl extends DeclarationImpl SimpleIdentifierImpl _name; @override - VariableElement? declaredElement; + VariableElement? declaredElement2; /// The equal sign separating the variable name from the initial value, or /// `null` if the initial value was not specified. @@ -11914,6 +11965,10 @@ class VariableDeclarationImpl extends DeclarationImpl _becomeParentOf(_initializer); } + @Deprecated('Use declaredElement2 instead') + @override + VariableElement? get declaredElement => declaredElement2; + /// This overridden implementation of [documentationComment] looks in the /// grandparent node for Dartdoc comments if no documentation is specifically /// available on the node. diff --git a/pkg/analyzer/lib/src/dart/ast/element_locator.dart b/pkg/analyzer/lib/src/dart/ast/element_locator.dart index 6e910aa9da6..83dc7955909 100644 --- a/pkg/analyzer/lib/src/dart/ast/element_locator.dart +++ b/pkg/analyzer/lib/src/dart/ast/element_locator.dart @@ -38,7 +38,7 @@ class _ElementMapper extends GeneralizingAstVisitor { @override Element? visitClassDeclaration(ClassDeclaration node) { - return node.declaredElement; + return node.declaredElement2; } @override @@ -48,7 +48,7 @@ class _ElementMapper extends GeneralizingAstVisitor { @override Element? visitConstructorDeclaration(ConstructorDeclaration node) { - return node.declaredElement; + return node.declaredElement2; } @override @@ -75,17 +75,17 @@ class _ElementMapper extends GeneralizingAstVisitor { @override Element? visitFunctionDeclaration(FunctionDeclaration node) { - return node.declaredElement; + return node.declaredElement2; } @override Element? visitFunctionTypeAlias(FunctionTypeAlias node) { - return node.declaredElement; + return node.declaredElement2; } @override Element? visitGenericTypeAlias(GenericTypeAlias node) { - return node.declaredElement; + return node.declaredElement2; } @override @@ -103,14 +103,14 @@ class _ElementMapper extends GeneralizingAstVisitor { if (identical(returnType, node)) { var name = parent.name2; if (name != null) { - return parent.declaredElement; + return parent.declaredElement2; } var element = node.staticElement; if (element is ClassElement) { return element.unnamedConstructor; } } else if (parent.name2 == node.endToken) { - return parent.declaredElement; + return parent.declaredElement2; } } else if (parent is LibraryIdentifier) { var grandParent = parent.parent; @@ -148,7 +148,7 @@ class _ElementMapper extends GeneralizingAstVisitor { @override Element? visitMethodDeclaration(MethodDeclaration node) { - return node.declaredElement; + return node.declaredElement2; } @override @@ -194,11 +194,11 @@ class _ElementMapper extends GeneralizingAstVisitor { @override Element? visitTypeParameter(TypeParameter node) { - return node.declaredElement; + return node.declaredElement2; } @override Element? visitVariableDeclaration(VariableDeclaration node) { - return node.declaredElement; + return node.declaredElement2; } } diff --git a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart index df14528133c..0119969c757 100644 --- a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart +++ b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart @@ -132,7 +132,7 @@ class ConstantVerifier extends RecursiveAstVisitor { _validateConstantArguments(argumentList); } - var element = node.declaredElement as ConstFieldElementImpl; + var element = node.declaredElement2 as ConstFieldElementImpl; var result = element.evaluationResult; if (result != null) { _reportErrors(result.errors, null); @@ -290,7 +290,7 @@ class ConstantVerifier extends RecursiveAstVisitor { super.visitVariableDeclaration(node); var initializer = node.initializer; if (initializer != null && (node.isConst || node.isFinal)) { - var element = node.declaredElement as VariableElementImpl; + var element = node.declaredElement2 as VariableElementImpl; var result = element.evaluationResult; if (result == null) { // Variables marked "const" should have had their values computed by @@ -1090,7 +1090,7 @@ extension on Expression { !declarationListParent.isStatic) { var container = declarationListParent.parent; if (container is ClassDeclaration) { - var enclosingClass = container.declaredElement; + var enclosingClass = container.declaredElement2; if (enclosingClass != null) { // A field initializer of a class with at least one generative // const constructor does not constitute a constant context, but diff --git a/pkg/analyzer/lib/src/dart/constant/utilities.dart b/pkg/analyzer/lib/src/dart/constant/utilities.dart index 38b14dc918f..3bd96a5f394 100644 --- a/pkg/analyzer/lib/src/dart/constant/utilities.dart +++ b/pkg/analyzer/lib/src/dart/constant/utilities.dart @@ -106,7 +106,7 @@ class ConstantFinder extends RecursiveAstVisitor { @override void visitClassDeclaration(ClassDeclaration node) { bool prevTreatFinalInstanceVarAsConst = treatFinalInstanceVarAsConst; - if (node.declaredElement!.constructors + if (node.declaredElement2!.constructors .any((ConstructorElement e) => e.isConst)) { // Instance vars marked "final" need to be included in the dependency // graph, since constant constructors implicitly use the values in their @@ -124,7 +124,7 @@ class ConstantFinder extends RecursiveAstVisitor { void visitConstructorDeclaration(ConstructorDeclaration node) { super.visitConstructorDeclaration(node); if (node.constKeyword != null) { - var element = node.declaredElement; + var element = node.declaredElement2; if (element != null) { constantsToCompute.add(element); constantsToCompute.addAll(element.parameters); @@ -145,7 +145,7 @@ class ConstantFinder extends RecursiveAstVisitor { void visitEnumConstantDeclaration(EnumConstantDeclaration node) { super.visitEnumConstantDeclaration(node); - var element = node.declaredElement as ConstFieldElementImpl; + var element = node.declaredElement2 as ConstFieldElementImpl; constantsToCompute.add(element); var constantInitializer = element.constantInitializer!; @@ -156,7 +156,7 @@ class ConstantFinder extends RecursiveAstVisitor { void visitVariableDeclaration(VariableDeclaration node) { super.visitVariableDeclaration(node); var initializer = node.initializer; - var element = node.declaredElement!; + var element = node.declaredElement2!; if (initializer != null && (node.isConst || treatFinalInstanceVarAsConst && diff --git a/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart b/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart index 5a30ab4f6ac..cc2458b4004 100644 --- a/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart +++ b/pkg/analyzer/lib/src/dart/element/class_hierarchy.dart @@ -11,7 +11,7 @@ import 'package:analyzer/src/dart/element/type_system.dart'; class ClassHierarchy { final Map _map = {}; - List errors(ClassElement element) { + List errors(InterfaceElement element) { return _getHierarchy(element).errors; } diff --git a/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart b/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart index 8819dd64108..6ade8c9966e 100644 --- a/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart +++ b/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart @@ -299,7 +299,7 @@ class InheritanceManager3 { /// Return all members of mixins, superclasses, and interfaces that a member /// with the given [name], defined in the [element], would override; or `null` /// if no members would be overridden. - List? getOverridden2(ClassElement element, Name name) { + List? getOverridden2(InterfaceElement element, Name name) { var interface = getInterface(element); return interface._overridden[name]; } diff --git a/pkg/analyzer/lib/src/dart/element/scope.dart b/pkg/analyzer/lib/src/dart/element/scope.dart index 7e1f1e7174b..2c891190015 100644 --- a/pkg/analyzer/lib/src/dart/element/scope.dart +++ b/pkg/analyzer/lib/src/dart/element/scope.dart @@ -8,14 +8,6 @@ import 'package:analyzer/src/dart/element/element.dart'; import 'package:analyzer/src/summary2/combinator.dart'; import 'package:analyzer/src/summary2/export.dart'; -/// The scope defined by a class. -class ClassScope extends EnclosedScope { - ClassScope(super.parent, ClassElement element) { - element.accessors.forEach(_addPropertyAccessor); - element.methods.forEach(_addGetter); - } -} - /// The scope for the initializers in a constructor. class ConstructorInitializerScope extends EnclosedScope { ConstructorInitializerScope(super.parent, ConstructorElement element) { @@ -107,6 +99,14 @@ class ImportedElement { }); } +/// The scope defined by an interface element. +class InterfaceScope extends EnclosedScope { + InterfaceScope(super.parent, InterfaceElement element) { + element.accessors.forEach(_addPropertyAccessor); + element.methods.forEach(_addGetter); + } +} + class LibraryOrAugmentationScope extends EnclosedScope { final LibraryOrAugmentationElementImpl _container; final List extensions = []; diff --git a/pkg/analyzer/lib/src/dart/micro/utils.dart b/pkg/analyzer/lib/src/dart/micro/utils.dart index 48c3c780494..32e6541698a 100644 --- a/pkg/analyzer/lib/src/dart/micro/utils.dart +++ b/pkg/analyzer/lib/src/dart/micro/utils.dart @@ -277,7 +277,7 @@ class ReferencesCollector extends GeneralizingAstVisitor { @override visitConstructorDeclaration(ConstructorDeclaration node) { - var e = node.declaredElement; + var e = node.declaredElement2; if (e == element) { if (e!.name.isEmpty) { references.add( diff --git a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart index 43ad2d4d692..7c98bf5ad02 100644 --- a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart +++ b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart @@ -280,7 +280,7 @@ class FlowAnalysisHelper { var variables = node.variables; for (var i = 0; i < variables.length; ++i) { var variable = variables[i]; - flow!.declare(variable.declaredElement as PromotableElement, + flow!.declare(variable.declaredElement2 as PromotableElement, variable.initializer != null); } } @@ -627,7 +627,7 @@ class _AssignedVariablesVisitor extends RecursiveAstVisitor { grandParent is FieldDeclaration) { throw StateError('Should not visit top level declarations'); } - var declaredElement = node.declaredElement as PromotableElement; + var declaredElement = node.declaredElement2 as PromotableElement; assignedVariables.declare(declaredElement); if (declaredElement.isLate && node.initializer != null) { assignedVariables.beginNode(); @@ -678,7 +678,7 @@ class _AssignedVariablesVisitor extends RecursiveAstVisitor { assignedVariables.write(element); } } else if (forLoopParts is ForEachPartsWithDeclaration) { - var variable = forLoopParts.loopVariable.declaredElement!; + var variable = forLoopParts.loopVariable.declaredElement2!; assignedVariables.declare(variable); } else { throw StateError('Unrecognized for loop parts'); diff --git a/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart index 4784ae4511c..3264c287ac4 100644 --- a/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart @@ -132,12 +132,13 @@ class ForResolver { elementType != null && loopVariable.type == null) { var loopVariableElement = - loopVariable.declaredElement as LocalVariableElementImpl; + loopVariable.declaredElement2 as LocalVariableElementImpl; loopVariableElement.type = elementType; } if (loopVariable != null) { - _resolver.flowAnalysis.flow?.declare(loopVariable.declaredElement!, true); + _resolver.flowAnalysis.flow + ?.declare(loopVariable.declaredElement2!, true); } _resolver.flowAnalysis.flow?.forEach_bodyBegin(node); diff --git a/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart index cde77546f02..2d094c72743 100644 --- a/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/function_expression_resolver.dart @@ -162,7 +162,7 @@ class FunctionExpressionResolver { } return type.instantiate(typeParameters.map((typeParameter) { - return typeParameter.declaredElement!.instantiate( + return typeParameter.declaredElement2!.instantiate( nullabilitySuffix: _resolver.noneOrStarSuffix, ); }).toList()); diff --git a/pkg/analyzer/lib/src/dart/resolver/legacy_type_asserter.dart b/pkg/analyzer/lib/src/dart/resolver/legacy_type_asserter.dart index 580be8a2c70..3e197def087 100644 --- a/pkg/analyzer/lib/src/dart/resolver/legacy_type_asserter.dart +++ b/pkg/analyzer/lib/src/dart/resolver/legacy_type_asserter.dart @@ -50,7 +50,7 @@ class LegacyTypeAsserter extends GeneralizingAstVisitor { @override void visitClassMember(ClassMember node) { - final element = node.declaredElement; + final element = node.declaredElement2; if (element is ExecutableElement) { _assertLegacyType(element.type); } @@ -66,7 +66,7 @@ class LegacyTypeAsserter extends GeneralizingAstVisitor { @override void visitDeclaredIdentifier(DeclaredIdentifier node) { - _assertLegacyType(node.declaredElement?.type); + _assertLegacyType(node.declaredElement2?.type); super.visitDeclaredIdentifier(node); } @@ -85,7 +85,7 @@ class LegacyTypeAsserter extends GeneralizingAstVisitor { @override void visitFunctionDeclaration(FunctionDeclaration node) { - _assertLegacyType(node.declaredElement?.type); + _assertLegacyType(node.declaredElement2?.type); super.visitFunctionDeclaration(node); } @@ -110,7 +110,7 @@ class LegacyTypeAsserter extends GeneralizingAstVisitor { @override void visitVariableDeclaration(VariableDeclaration node) { - _assertLegacyType(node.declaredElement?.type); + _assertLegacyType(node.declaredElement2?.type); super.visitVariableDeclaration(node); } diff --git a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart index 2d6fa61724f..ee1c4b7e378 100644 --- a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart +++ b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart @@ -240,7 +240,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitClassDeclaration(covariant ClassDeclarationImpl node) { ClassElementImpl element = _elementWalker!.getClass(); - node.declaredElement = element; + node.declaredElement2 = element; _namedTypeResolver.enclosingClass = element; _setOrCreateMetadataElements(element, node.metadata); @@ -275,7 +275,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitClassTypeAlias(covariant ClassTypeAliasImpl node) { ClassElementImpl element = _elementWalker!.getClass(); - node.declaredElement = element; + node.declaredElement2 = element; _namedTypeResolver.enclosingClass = element; _setOrCreateMetadataElements(element, node.metadata); @@ -302,8 +302,8 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitConstructorDeclaration(ConstructorDeclaration node) { ConstructorElementImpl element = _elementWalker!.getConstructor(); - (node as ConstructorDeclarationImpl).declaredElement = element; - node.declaredElement = element; + (node as ConstructorDeclarationImpl).declaredElement2 = element; + node.declaredElement2 = element; _setOrCreateMetadataElements(element, node.metadata); @@ -333,7 +333,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { var nameToken = node.name; var element = LocalVariableElementImpl(nameToken.lexeme, nameToken.offset); _elementHolder.enclose(element); - node.declaredElement = element; + node.declaredElement2 = element; _setOrCreateMetadataElements(element, node.metadata); @@ -408,7 +408,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { void visitEnumConstantDeclaration( covariant EnumConstantDeclarationImpl node) { var element = _elementWalker!.getVariable() as ConstFieldElementImpl; - node.declaredElement = element; + node.declaredElement2 = element; _setOrCreateMetadataElements(element, node.metadata); @@ -425,7 +425,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitEnumDeclaration(covariant EnumDeclarationImpl node) { EnumElementImpl element = _elementWalker!.getEnum(); - node.declaredElement = element; + node.declaredElement2 = element; _namedTypeResolver.enclosingClass = element; _setOrCreateMetadataElements(element, node.metadata); @@ -463,8 +463,8 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitExtensionDeclaration(ExtensionDeclaration node) { var element = _elementWalker!.getExtension(); - (node as ExtensionDeclarationImpl).declaredElement = element; - node.declaredElement = element; + (node as ExtensionDeclarationImpl).declaredElement2 = element; + node.declaredElement2 = element; _setOrCreateMetadataElements(element, node.metadata); @@ -546,9 +546,9 @@ class ResolutionVisitor extends RecursiveAstVisitor { element = node.isGetter || node.isSetter ? _elementWalker!.getAccessor() : _elementWalker!.getFunction(); - node.declaredElement = element; + node.declaredElement2 = element; } else { - element = node.declaredElement as ExecutableElementImpl; + element = node.declaredElement2 as ExecutableElementImpl; _setCodeRange(element, node); setElementDocumentationComment(element, node); @@ -646,7 +646,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitFunctionTypeAlias(covariant FunctionTypeAliasImpl node) { var element = _elementWalker!.getTypedef(); - node.declaredElement = element; + node.declaredElement2 = element; _setOrCreateMetadataElements(element, node.metadata); @@ -760,7 +760,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitGenericTypeAlias(covariant GenericTypeAliasImpl node) { var element = _elementWalker!.getTypedef(); - node.declaredElement = element; + node.declaredElement2 = element; _setOrCreateMetadataElements(element, node.metadata); @@ -862,7 +862,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { ExecutableElementImpl element = node.isGetter || node.isSetter ? _elementWalker!.getAccessor() : _elementWalker!.getFunction(); - node.declaredElement = element; + node.declaredElement2 = element; _setOrCreateMetadataElements(element, node.metadata); @@ -897,7 +897,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitMixinDeclaration(covariant MixinDeclarationImpl node) { var element = _elementWalker!.getMixin(); - node.declaredElement = element; + node.declaredElement2 = element as MixinElementImpl; _setOrCreateMetadataElements(element, node.metadata); @@ -1089,7 +1089,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { @override void visitTypeParameter(TypeParameter node) { - var element = node.declaredElement as TypeParameterElementImpl; + var element = node.declaredElement2 as TypeParameterElementImpl; _setOrCreateMetadataElements(element, node.metadata); @@ -1109,9 +1109,9 @@ class ResolutionVisitor extends RecursiveAstVisitor { VariableElementImpl element; if (_elementWalker != null) { element = _elementWalker!.getVariable(); - node.declaredElement = element; + node.declaredElement2 = element; } else { - var localElement = node.declaredElement as LocalVariableElementImpl; + var localElement = node.declaredElement2 as LocalVariableElementImpl; element = localElement; var varList = node.parent as VariableDeclarationList; @@ -1153,7 +1153,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { var variables = node.variables; for (var i = 0; i < variables.length; i++) { var variable = variables[i]; - var element = variable.declaredElement as ElementImpl; + var element = variable.declaredElement2 as ElementImpl; _setOrCreateMetadataElements(element, annotations, visitNodes: false); var offset = (i == 0 ? node.parent! : variable).offset; @@ -1195,7 +1195,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { var node = statement.functionDeclaration; var nameToken = node.name2; var element = FunctionElementImpl(nameToken.lexeme, nameToken.offset); - node.declaredElement = element; + node.declaredElement2 = element; _define(element); _elementHolder.enclose(element); } @@ -1220,7 +1220,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { nameToken.offset, ); } - variable.declaredElement = element; + variable.declaredElement2 = element; _elementHolder.enclose(element); _define(element); @@ -1249,7 +1249,7 @@ class ResolutionVisitor extends RecursiveAstVisitor { _setCodeRange(element, typeParameter); } - typeParameter.declaredElement = element; + typeParameter.declaredElement2 = element; // ignore: deprecated_member_use_from_same_package typeParameter.name.staticElement = element; _define(element); diff --git a/pkg/analyzer/lib/src/dart/resolver/scope.dart b/pkg/analyzer/lib/src/dart/resolver/scope.dart index 9249da9b343..f36a0784340 100644 --- a/pkg/analyzer/lib/src/dart/resolver/scope.dart +++ b/pkg/analyzer/lib/src/dart/resolver/scope.dart @@ -27,10 +27,10 @@ class BlockScope { NodeList variables = statement.variables.variables; int variableCount = variables.length; for (int j = 0; j < variableCount; j++) { - yield variables[j].declaredElement!; + yield variables[j].declaredElement2!; } } else if (statement is FunctionDeclarationStatement) { - yield statement.functionDeclaration.declaredElement!; + yield statement.functionDeclaration.declaredElement2!; } } } diff --git a/pkg/analyzer/lib/src/dart/resolver/variable_declaration_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/variable_declaration_resolver.dart index d9be7b73abc..338720021f8 100644 --- a/pkg/analyzer/lib/src/dart/resolver/variable_declaration_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/variable_declaration_resolver.dart @@ -39,7 +39,7 @@ class VariableDeclarationResolver { return; } - var element = node.declaredElement!; + var element = node.declaredElement2!; var isTopLevel = element is FieldElement || element is TopLevelVariableElement; diff --git a/pkg/analyzer/lib/src/error/best_practices_verifier.dart b/pkg/analyzer/lib/src/error/best_practices_verifier.dart index ec88c94bb1e..15d2cf5b83e 100644 --- a/pkg/analyzer/lib/src/error/best_practices_verifier.dart +++ b/pkg/analyzer/lib/src/error/best_practices_verifier.dart @@ -155,10 +155,11 @@ class BestPracticesVerifier extends RecursiveAstVisitor { HintCode.INVALID_IMMUTABLE_ANNOTATION, node, []); } } else if (element.isInternal) { - var parentElement = parent is Declaration ? parent.declaredElement : null; + var parentElement = + parent is Declaration ? parent.declaredElement2 : null; if (parent is TopLevelVariableDeclaration) { for (VariableDeclaration variable in parent.variables.variables) { - var element = variable.declaredElement as TopLevelVariableElement; + var element = variable.declaredElement2 as TopLevelVariableElement; if (Identifier.isPrivateName(element.name)) { _errorReporter.reportErrorForNode( HintCode.INVALID_INTERNAL_ANNOTATION, variable, []); @@ -166,14 +167,14 @@ class BestPracticesVerifier extends RecursiveAstVisitor { } } else if (parent is FieldDeclaration) { for (VariableDeclaration variable in parent.fields.variables) { - var element = variable.declaredElement as FieldElement; + var element = variable.declaredElement2 as FieldElement; if (Identifier.isPrivateName(element.name)) { _errorReporter.reportErrorForNode( HintCode.INVALID_INTERNAL_ANNOTATION, variable, []); } } } else if (parent is ConstructorDeclaration) { - var class_ = parent.declaredElement!.enclosingElement3; + var class_ = parent.declaredElement2!.enclosingElement3; if (class_.isPrivate || (parentElement?.isPrivate ?? false)) { _errorReporter.reportErrorForNode( HintCode.INVALID_INTERNAL_ANNOTATION, node, []); @@ -255,7 +256,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { if (parent is TopLevelVariableDeclaration) { for (VariableDeclaration variable in parent.variables.variables) { var variableElement = - variable.declaredElement as TopLevelVariableElement; + variable.declaredElement2 as TopLevelVariableElement; if (Identifier.isPrivateName(variableElement.name)) { reportInvalidAnnotation(variableElement); @@ -268,7 +269,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { } } else if (parent is FieldDeclaration) { for (VariableDeclaration variable in parent.fields.variables) { - var fieldElement = variable.declaredElement as FieldElement; + var fieldElement = variable.declaredElement2 as FieldElement; if (parent.isStatic && element.isVisibleForOverriding == true) { reportInvalidVisibleForOverriding(fieldElement); } @@ -277,8 +278,8 @@ class BestPracticesVerifier extends RecursiveAstVisitor { reportInvalidAnnotation(fieldElement); } } - } else if (parent.declaredElement != null) { - final declaredElement = parent.declaredElement!; + } else if (parent.declaredElement2 != null) { + final declaredElement = parent.declaredElement2!; if (element.isVisibleForOverriding && !declaredElement.isInstanceMember) { reportInvalidVisibleForOverriding(declaredElement); @@ -377,7 +378,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { @override void visitClassDeclaration(ClassDeclaration node) { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; _enclosingClass = element; _invalidAccessVerifier._enclosingClass = element; @@ -421,7 +422,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { @override void visitConstructorDeclaration(ConstructorDeclaration node) { - var element = node.declaredElement as ConstructorElementImpl; + var element = node.declaredElement2 as ConstructorElementImpl; if (!_isNonNullableByDefault && element.isFactory) { if (node.body is BlockFunctionBody) { // Check the block for a return statement, if not, create the hint. @@ -470,7 +471,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { super.visitFieldDeclaration(node); for (var field in node.fields.variables) { ExecutableElement? getOverriddenPropertyAccessor() { - final element = field.declaredElement; + final element = field.declaredElement2; if (element is PropertyAccessorElement || element is FieldElement) { Name name = Name(_currentLibrary.source.uri, element!.name); Element enclosingElement = element.enclosingElement3!; @@ -526,7 +527,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { @override void visitFunctionDeclaration(FunctionDeclaration node) { bool wasInDoNotStoreMember = _inDoNotStoreMember; - ExecutableElement element = node.declaredElement!; + ExecutableElement element = node.declaredElement2!; _deprecatedVerifier.pushInDeprecatedValue(element.hasDeprecated); if (element.hasDoNotStore) { _inDoNotStoreMember = true; @@ -641,7 +642,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { @override void visitMethodDeclaration(MethodDeclaration node) { bool wasInDoNotStoreMember = _inDoNotStoreMember; - var element = node.declaredElement!; + var element = node.declaredElement2!; var enclosingElement = element.enclosingElement3; Name name = Name(_currentLibrary.source.uri, element.name); @@ -716,7 +717,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { @override void visitMixinDeclaration(MixinDeclaration node) { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; _enclosingClass = element; _invalidAccessVerifier._enclosingClass = _enclosingClass; @@ -1049,7 +1050,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { return nonFinalFields; } - var element = node.declaredElement as ClassElement; + var element = node.declaredElement2 as ClassElement; if (isOrInheritsImmutable(element, HashSet())) { Iterable nonFinalFields = definedOrInheritedNonFinalInstanceFields( @@ -1170,7 +1171,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { // ClassElement, but [_checkForInvalidSealedSuperclass] should only be // called with a [ClassOrMixinDeclaration], or a [ClassTypeAlias]. The // `declaredElement` of these specific classes is a [ClassElement]. - var element = node.declaredElement as ClassElement; + var element = node.declaredElement2 as ClassElement; // TODO(srawlins): Perhaps replace this with a getter on Element, like // `Element.hasOrInheritsSealed`? for (InterfaceType supertype in element.allSupertypes) { @@ -1451,7 +1452,7 @@ class BestPracticesVerifier extends RecursiveAstVisitor { _errorReporter.reportErrorForNode( HintCode.RETURN_OF_DO_NOT_STORE, entry.key, - [entry.value.name!, parent.declaredElement!.displayName], + [entry.value.name!, parent.declaredElement2!.displayName], ); } } 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 00252ab9082..719164613c6 100644 --- a/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart +++ b/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart @@ -272,7 +272,7 @@ class DeprecatedMemberUseVerifier { for (; node != null; node = node.parent) { if (node is ConstructorDeclaration) { - if (node.declaredElement == definingFunction) { + if (node.declaredElement2 == definingFunction) { return true; } } else if (node is FunctionExpression) { @@ -280,7 +280,7 @@ class DeprecatedMemberUseVerifier { return true; } } else if (node is MethodDeclaration) { - if (node.declaredElement == definingFunction) { + if (node.declaredElement2 == definingFunction) { return true; } } diff --git a/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart b/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart index 366f6f6a2fa..163872a6ad8 100644 --- a/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart +++ b/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart @@ -9,7 +9,6 @@ import 'package:analyzer/dart/ast/token.dart'; import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/error/error.dart'; import 'package:analyzer/error/listener.dart'; -import 'package:analyzer/src/dart/element/element.dart'; import 'package:analyzer/src/dart/element/inheritance_manager3.dart'; import 'package:analyzer/src/diagnostic/diagnostic_factory.dart'; import 'package:analyzer/src/error/codes.dart'; @@ -46,12 +45,12 @@ class DuplicateDefinitionVerifier { } void checkClass(ClassDeclaration node) { - _checkClassMembers(node.declaredElement!, node.members); + _checkClassMembers(node.declaredElement2!, node.members); } /// Check that there are no members with the same name. void checkEnum(EnumDeclaration node) { - var enumElement = node.declaredElement as EnumElementImpl; + var enumElement = node.declaredElement2!; var enumName = enumElement.name; var constructorNames = {}; @@ -62,14 +61,14 @@ class DuplicateDefinitionVerifier { for (EnumConstantDeclaration constant in node.constants) { _checkDuplicateIdentifier(staticGetters, constant.name2, - element: constant.declaredElement!); + element: constant.declaredElement2!); _checkValuesDeclarationInEnum(constant.name2); } for (var member in node.members) { if (member is ConstructorDeclaration) { if (member.returnType.name == enumElement.name) { - var name = member.declaredElement!.name; + var name = member.declaredElement2!.name; if (!constructorNames.add(name)) { if (name.isEmpty) { _errorReporter.reportErrorForName( @@ -91,7 +90,7 @@ class DuplicateDefinitionVerifier { _checkDuplicateIdentifier( member.isStatic ? staticGetters : instanceGetters, identifier, - element: field.declaredElement!, + element: field.declaredElement2!, setterScope: member.isStatic ? staticSetters : instanceSetters, ); _checkValuesDeclarationInEnum(identifier); @@ -100,7 +99,7 @@ class DuplicateDefinitionVerifier { _checkDuplicateIdentifier( member.isStatic ? staticGetters : instanceGetters, member.name2, - element: member.declaredElement!, + element: member.declaredElement2!, setterScope: member.isStatic ? staticSetters : instanceSetters, ); if (!(member.isStatic && member.isSetter)) { @@ -126,7 +125,7 @@ class DuplicateDefinitionVerifier { } _checkConflictingConstructorAndStatic( - classElement: enumElement, + interfaceElement: enumElement, staticGetters: staticGetters, staticSetters: staticSetters, ); @@ -200,7 +199,7 @@ class DuplicateDefinitionVerifier { _checkDuplicateIdentifier( member.isStatic ? staticGetters : instanceGetters, identifier, - element: field.declaredElement!, + element: field.declaredElement2!, setterScope: member.isStatic ? staticSetters : instanceSetters, ); } @@ -208,7 +207,7 @@ class DuplicateDefinitionVerifier { _checkDuplicateIdentifier( member.isStatic ? staticGetters : instanceGetters, member.name2, - element: member.declaredElement!, + element: member.declaredElement2!, setterScope: member.isStatic ? staticSetters : instanceSetters, ); } @@ -254,12 +253,12 @@ class DuplicateDefinitionVerifier { Map definedNames = HashMap(); for (VariableDeclaration variable in node.variables) { _checkDuplicateIdentifier(definedNames, variable.name2, - element: variable.declaredElement!); + element: variable.declaredElement2!); } } void checkMixin(MixinDeclaration node) { - _checkClassMembers(node.declaredElement!, node.members); + _checkClassMembers(node.declaredElement2!, node.members); } /// Check that all of the parameters have unique names. @@ -283,13 +282,13 @@ class DuplicateDefinitionVerifier { if (statement is VariableDeclarationStatement) { for (VariableDeclaration variable in statement.variables.variables) { _checkDuplicateIdentifier(definedNames, variable.name2, - element: variable.declaredElement!); + element: variable.declaredElement2!); } } else if (statement is FunctionDeclarationStatement) { _checkDuplicateIdentifier( definedNames, statement.functionDeclaration.name2, - element: statement.functionDeclaration.declaredElement!, + element: statement.functionDeclaration.declaredElement2!, ); } } @@ -300,7 +299,7 @@ class DuplicateDefinitionVerifier { Map definedNames = HashMap(); for (TypeParameter parameter in node.typeParameters) { _checkDuplicateIdentifier(definedNames, parameter.name2, - element: parameter.declaredElement!); + element: parameter.declaredElement2!); } } @@ -358,22 +357,22 @@ class DuplicateDefinitionVerifier { var identifier = member.name2; if (identifier != null) { _checkDuplicateIdentifier(definedGetters, identifier, - element: member.declaredElement!, setterScope: definedSetters); + element: member.declaredElement2!, setterScope: definedSetters); } } else if (member is NamedCompilationUnitMember) { _checkDuplicateIdentifier(definedGetters, member.name2, - element: member.declaredElement!, setterScope: definedSetters); + element: member.declaredElement2!, setterScope: definedSetters); } else if (member is TopLevelVariableDeclaration) { for (VariableDeclaration variable in member.variables.variables) { _checkDuplicateIdentifier(definedGetters, variable.name2, - element: variable.declaredElement!, setterScope: definedSetters); + element: variable.declaredElement2!, setterScope: definedSetters); } } } } /// Check that there are no members with the same name. - void _checkClassMembers(ClassElement element, List members) { + void _checkClassMembers(InterfaceElement element, List members) { var constructorNames = HashSet(); var instanceGetters = HashMap(); var instanceSetters = HashMap(); @@ -405,7 +404,7 @@ class DuplicateDefinitionVerifier { _checkDuplicateIdentifier( member.isStatic ? staticGetters : instanceGetters, field.name2, - element: field.declaredElement!, + element: field.declaredElement2!, setterScope: member.isStatic ? staticSetters : instanceSetters, ); } @@ -413,14 +412,14 @@ class DuplicateDefinitionVerifier { _checkDuplicateIdentifier( member.isStatic ? staticGetters : instanceGetters, member.name2, - element: member.declaredElement!, + element: member.declaredElement2!, setterScope: member.isStatic ? staticSetters : instanceSetters, ); } } _checkConflictingConstructorAndStatic( - classElement: element, + interfaceElement: element, staticGetters: staticGetters, staticSetters: staticSetters, ); @@ -462,11 +461,11 @@ class DuplicateDefinitionVerifier { } void _checkConflictingConstructorAndStatic({ - required ClassElement classElement, + required InterfaceElement interfaceElement, required Map staticGetters, required Map staticSetters, }) { - for (var constructor in classElement.constructors) { + for (var constructor in interfaceElement.constructors) { var name = constructor.name; var staticMember = staticGetters[name] ?? staticSetters[name]; if (staticMember is PropertyAccessorElement) { @@ -578,7 +577,7 @@ class DuplicateDefinitionVerifier { } ExecutableElement? _getInheritedMember( - ClassElement element, String baseName) { + InterfaceElement element, String baseName) { var libraryUri = _currentLibrary.source.uri; var getterName = Name(libraryUri, baseName); @@ -592,7 +591,7 @@ class DuplicateDefinitionVerifier { } ExecutableElement? _getInterfaceMember( - ClassElement element, String baseName) { + InterfaceElement element, String baseName) { var libraryUri = _currentLibrary.source.uri; var getterName = Name(libraryUri, baseName); diff --git a/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart b/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart index ba54bdc269a..cb76e1b83c4 100644 --- a/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart +++ b/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart @@ -39,8 +39,8 @@ class GetterSetterTypesVerifier { } } - void checkInterface(ClassElement classElement, Interface interface) { - var libraryUri = classElement.library.source.uri; + void checkInterface(InterfaceElement element, Interface interface) { + var libraryUri = element.library.source.uri; for (var name in interface.map.keys) { if (!name.isAccessibleFor(libraryUri)) continue; @@ -53,22 +53,22 @@ class GetterSetterTypesVerifier { var setterType = setter.parameters[0].type; if (!_match(getterType, setterType)) { Element errorElement; - if (getter.enclosingElement3 == classElement) { + if (getter.enclosingElement3 == element) { errorElement = getter; - } else if (setter.enclosingElement3 == classElement) { + } else if (setter.enclosingElement3 == element) { errorElement = setter; } else { - errorElement = classElement; + errorElement = element; } var getterName = getter.displayName; - if (getter.enclosingElement3 != classElement) { + if (getter.enclosingElement3 != element) { var getterClassName = getter.enclosingElement3.displayName; getterName = '$getterClassName.$getterName'; } var setterName = setter.displayName; - if (setter.enclosingElement3 != classElement) { + if (setter.enclosingElement3 != element) { var setterClassName = setter.enclosingElement3.displayName; setterName = '$setterClassName.$setterName'; } diff --git a/pkg/analyzer/lib/src/error/inheritance_override.dart b/pkg/analyzer/lib/src/error/inheritance_override.dart index 5740b3901b0..e17c257fb27 100644 --- a/pkg/analyzer/lib/src/error/inheritance_override.dart +++ b/pkg/analyzer/lib/src/error/inheritance_override.dart @@ -46,7 +46,7 @@ class InheritanceOverrideVerifier { featureSet: unit.featureSet, library: library, classNameToken: declaration.name2, - classElement: declaration.declaredElement as AbstractClassElementImpl, + classElement: declaration.declaredElement2!, implementsClause: declaration.implementsClause, members: declaration.members, superclass: declaration.extendsClause?.superclass, @@ -61,7 +61,7 @@ class InheritanceOverrideVerifier { featureSet: unit.featureSet, library: library, classNameToken: declaration.name2, - classElement: declaration.declaredElement as AbstractClassElementImpl, + classElement: declaration.declaredElement2!, implementsClause: declaration.implementsClause, superclass: declaration.superclass, withClause: declaration.withClause, @@ -75,7 +75,7 @@ class InheritanceOverrideVerifier { featureSet: unit.featureSet, library: library, classNameToken: declaration.name2, - classElement: declaration.declaredElement as AbstractClassElementImpl, + classElement: declaration.declaredElement2!, implementsClause: declaration.implementsClause, members: declaration.members, withClause: declaration.withClause, @@ -89,7 +89,7 @@ class InheritanceOverrideVerifier { featureSet: unit.featureSet, library: library, classNameToken: declaration.name2, - classElement: declaration.declaredElement as AbstractClassElementImpl, + classElement: declaration.declaredElement2!, implementsClause: declaration.implementsClause, members: declaration.members, onClause: declaration.onClause, @@ -122,7 +122,7 @@ class _ClassVerifier { final FeatureSet featureSet; final LibraryElementImpl library; final Uri libraryUri; - final AbstractClassElementImpl classElement; + final InterfaceElement classElement; final Token classNameToken; final List members; @@ -161,7 +161,9 @@ class _ClassVerifier { return true; } + final classElement = this.classElement; if (classElement is! EnumElement && + classElement is ClassElement && !classElement.isAbstract && implementsDartCoreEnum) { reporter.reportErrorForToken( @@ -186,7 +188,9 @@ class _ClassVerifier { if (classElement.supertype != null) { directSuperInterfaces.add(classElement.supertype!); } - directSuperInterfaces.addAll(classElement.superclassConstraints); + if (classElement is MixinElement) { + directSuperInterfaces.addAll(classElement.superclassConstraints); + } // Each mixin in `class C extends S with M0, M1, M2 {}` is equivalent to: // class S&M0 extends S { ...members of M0... } @@ -211,7 +215,7 @@ class _ClassVerifier { if (member is FieldDeclaration) { var fieldList = member.fields; for (var field in fieldList.variables) { - var fieldElement = field.declaredElement as FieldElement; + var fieldElement = field.declaredElement2 as FieldElement; _checkDeclaredMember(field.name2, libraryUri, fieldElement.getter); _checkDeclaredMember(field.name2, libraryUri, fieldElement.setter); if (!member.isStatic && classElement is! EnumElement) { @@ -227,7 +231,7 @@ class _ClassVerifier { continue; } - _checkDeclaredMember(member.name2, libraryUri, member.declaredElement, + _checkDeclaredMember(member.name2, libraryUri, member.declaredElement2, methodParameterNodes: member.parameters?.parameters); if (!(member.isStatic || member.isAbstract || member.isSetter)) { _checkIllegalConcreteEnumMemberDeclaration(member.name2); @@ -246,7 +250,7 @@ class _ClassVerifier { errorReporter: reporter, ).checkInterface(classElement, interface); - if (!classElement.isAbstract) { + if (!(classElement as ClassElement).isAbstract) { List? inheritedAbstract; for (var name in interface.map.keys) { @@ -402,12 +406,14 @@ class _ClassVerifier { return false; } - var interfaceElement = type.element2; + final typeElement = type.element2; - if (interfaceElement is ClassElement && - interfaceElement.isDartCoreEnum && + final classElement = this.classElement; + if (typeElement is ClassElement && + typeElement.isDartCoreEnum && library.featureSet.isEnabled(Feature.enhanced_enums)) { - if (classElement.isAbstract || classElement is EnumElement) { + if (classElement is ClassElement && classElement.isAbstract || + classElement is EnumElement) { return false; } reporter.reportErrorForNode( @@ -417,7 +423,7 @@ class _ClassVerifier { return true; } - if (typeProvider.isNonSubtypableClass(interfaceElement)) { + if (typeProvider.isNonSubtypableClass(typeElement)) { reporter.reportErrorForNode(errorCode, namedType, [type]); return true; } @@ -671,14 +677,19 @@ class _ClassVerifier { } void _checkIllegalConcreteEnumMemberDeclaration(Token name) { - if (implementsDartCoreEnum && - !classElement.isDartCoreEnumImpl && - const {'index', 'hashCode', '=='}.contains(name.lexeme)) { - reporter.reportErrorForToken( - CompileTimeErrorCode.ILLEGAL_CONCRETE_ENUM_MEMBER_DECLARATION, - name, - [name.lexeme], - ); + if (implementsDartCoreEnum) { + final classElement = this.classElement; + if (classElement is ClassElementImpl && + !classElement.isDartCoreEnumImpl || + classElement is EnumElementImpl) { + if (const {'index', 'hashCode', '=='}.contains(name.lexeme)) { + reporter.reportErrorForToken( + CompileTimeErrorCode.ILLEGAL_CONCRETE_ENUM_MEMBER_DECLARATION, + name, + [name.lexeme], + ); + } + } } } @@ -918,7 +929,7 @@ class _ClassVerifier { } bool _reportNoCombinedSuperSignature(MethodDeclaration node) { - var element = node.declaredElement; + var element = node.declaredElement2; if (element is MethodElementImpl) { var inferenceError = element.typeInferenceError; if (inferenceError?.kind == 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 7908d2de036..c473cbf4f83 100644 --- a/pkg/analyzer/lib/src/error/must_call_super_verifier.dart +++ b/pkg/analyzer/lib/src/error/must_call_super_verifier.dart @@ -20,7 +20,7 @@ class MustCallSuperVerifier { if (node.isStatic || node.isAbstract) { return; } - var element = node.declaredElement!; + var element = node.declaredElement2!; var overridden = _findOverriddenMemberWithMustCallSuper(element); if (overridden == null) { return; @@ -136,7 +136,7 @@ class MustCallSuperVerifier { void _verifySuperIsCalled(MethodDeclaration node, String methodName, String? overriddenEnclosingName) { - var declaredElement = node.declaredElement as ExecutableElementImpl; + var declaredElement = node.declaredElement2 as ExecutableElementImpl; if (!declaredElement.invokesSuperSelf) { // Overridable elements are always enclosed in named elements, so it is // safe to assume [overriddenEnclosingName] is non-`null`. diff --git a/pkg/analyzer/lib/src/error/override_verifier.dart b/pkg/analyzer/lib/src/error/override_verifier.dart index e3a6fcb8805..5a50cf48e10 100644 --- a/pkg/analyzer/lib/src/error/override_verifier.dart +++ b/pkg/analyzer/lib/src/error/override_verifier.dart @@ -23,7 +23,7 @@ class OverrideVerifier extends RecursiveAstVisitor { final ErrorReporter _errorReporter; /// The current class or mixin. - ClassElement? _currentClass; + InterfaceElement? _currentClass; OverrideVerifier( this._inheritance, LibraryElement library, this._errorReporter) @@ -31,14 +31,14 @@ class OverrideVerifier extends RecursiveAstVisitor { @override void visitClassDeclaration(ClassDeclaration node) { - _currentClass = node.declaredElement; + _currentClass = node.declaredElement2; super.visitClassDeclaration(node); _currentClass = null; } @override void visitEnumDeclaration(EnumDeclaration node) { - _currentClass = node.declaredElement; + _currentClass = node.declaredElement2; super.visitEnumDeclaration(node); _currentClass = null; } @@ -46,7 +46,7 @@ class OverrideVerifier extends RecursiveAstVisitor { @override void visitFieldDeclaration(FieldDeclaration node) { for (VariableDeclaration field in node.fields.variables) { - var fieldElement = field.declaredElement as FieldElement; + var fieldElement = field.declaredElement2 as FieldElement; if (fieldElement.hasOverride) { var getter = fieldElement.getter; if (getter != null && _isOverride(getter)) continue; @@ -64,7 +64,7 @@ class OverrideVerifier extends RecursiveAstVisitor { @override void visitMethodDeclaration(MethodDeclaration node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; if (element.hasOverride && !_isOverride(element)) { if (element is MethodElement) { _errorReporter.reportErrorForToken( @@ -89,7 +89,7 @@ class OverrideVerifier extends RecursiveAstVisitor { @override void visitMixinDeclaration(MixinDeclaration node) { - _currentClass = node.declaredElement; + _currentClass = node.declaredElement2; super.visitMixinDeclaration(node); _currentClass = null; } diff --git a/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart b/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart index 3cbfd39c5b1..140b81d2ba7 100644 --- a/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart +++ b/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart @@ -72,7 +72,7 @@ class GatherUsedLocalElementsVisitor extends RecursiveAstVisitor { void visitClassDeclaration(ClassDeclaration node) { var enclosingClassOld = _enclosingClass; try { - _enclosingClass = node.declaredElement; + _enclosingClass = node.declaredElement2; super.visitClassDeclaration(node); } finally { _enclosingClass = enclosingClassOld; @@ -81,7 +81,7 @@ class GatherUsedLocalElementsVisitor extends RecursiveAstVisitor { @override void visitConstructorDeclaration(ConstructorDeclaration node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; var redirectedConstructor = node.redirectedConstructor; if (redirectedConstructor != null) { var redirectedElement = redirectedConstructor.staticElement; @@ -126,7 +126,7 @@ class GatherUsedLocalElementsVisitor extends RecursiveAstVisitor { void visitFunctionDeclaration(FunctionDeclaration node) { var enclosingExecOld = _enclosingExec; try { - _enclosingExec = node.declaredElement; + _enclosingExec = node.declaredElement2; super.visitFunctionDeclaration(node); } finally { _enclosingExec = enclosingExecOld; @@ -176,7 +176,7 @@ class GatherUsedLocalElementsVisitor extends RecursiveAstVisitor { void visitMethodDeclaration(MethodDeclaration node) { var enclosingExecOld = _enclosingExec; try { - _enclosingExec = node.declaredElement; + _enclosingExec = node.declaredElement2; super.visitMethodDeclaration(node); } finally { _enclosingExec = enclosingExecOld; @@ -456,7 +456,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitClassDeclaration(ClassDeclaration node) { - final declaredElement = node.declaredElement as ClassElement; + final declaredElement = node.declaredElement2!; _visitClassElement(declaredElement); super.visitClassDeclaration(node); @@ -465,7 +465,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitConstructorDeclaration(ConstructorDeclaration node) { if (node.name2 != null) { - final declaredElement = node.declaredElement as ConstructorElement; + final declaredElement = node.declaredElement2!; _visitConstructorElement(declaredElement); } @@ -474,7 +474,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitEnumConstantDeclaration(EnumConstantDeclaration node) { - final declaredElement = node.declaredElement as FieldElement; + final declaredElement = node.declaredElement2 as FieldElement; _visitFieldElement(declaredElement); super.visitEnumConstantDeclaration(node); @@ -482,7 +482,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitEnumDeclaration(EnumDeclaration node) { - final declaredElement = node.declaredElement as ClassElement; + final declaredElement = node.declaredElement2!; _visitClassElement(declaredElement); super.visitEnumDeclaration(node); @@ -501,7 +501,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitFunctionDeclaration(FunctionDeclaration node) { - final declaredElement = node.declaredElement; + final declaredElement = node.declaredElement2; if (declaredElement is FunctionElement) { _visitFunctionElement(declaredElement); } else if (declaredElement is PropertyAccessorElement) { @@ -513,7 +513,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitFunctionTypeAlias(FunctionTypeAlias node) { - final declaredElement = node.declaredElement as TypeAliasElement; + final declaredElement = node.declaredElement2!; _visitTypeAliasElement(declaredElement); super.visitFunctionTypeAlias(node); @@ -521,7 +521,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitGenericTypeAlias(GenericTypeAlias node) { - final declaredElement = node.declaredElement as TypeAliasElement; + final declaredElement = node.declaredElement2 as TypeAliasElement; _visitTypeAliasElement(declaredElement); super.visitGenericTypeAlias(node); @@ -529,7 +529,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitMethodDeclaration(MethodDeclaration node) { - final declaredElement = node.declaredElement; + final declaredElement = node.declaredElement2; if (declaredElement is MethodElement) { _visitMethodElement(declaredElement); } else if (declaredElement is PropertyAccessorElement) { @@ -541,7 +541,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { @override void visitMixinDeclaration(MixinDeclaration node) { - final declaredElement = node.declaredElement as ClassElement; + final declaredElement = node.declaredElement2!; _visitClassElement(declaredElement); super.visitMixinDeclaration(node); @@ -797,7 +797,7 @@ class UnusedLocalElementsVerifier extends RecursiveAstVisitor { } } - void _visitClassElement(ClassElement element) { + void _visitClassElement(InterfaceElement element) { if (!_isUsedElement(element)) { _reportErrorForElement( HintCode.UNUSED_ELEMENT, element, [element.displayName]); diff --git a/pkg/analyzer/lib/src/generated/element_resolver.dart b/pkg/analyzer/lib/src/generated/element_resolver.dart index 70bb5906005..4b487caff12 100644 --- a/pkg/analyzer/lib/src/generated/element_resolver.dart +++ b/pkg/analyzer/lib/src/generated/element_resolver.dart @@ -128,7 +128,7 @@ class ElementResolver { } void visitConstructorDeclaration(ConstructorDeclaration node) { - ConstructorElement element = node.declaredElement!; + ConstructorElement element = node.declaredElement2!; if (element is ConstructorElementImpl) { var redirectedNode = node.redirectedConstructor; if (redirectedNode != null) { diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart index 8a7106b5859..a2e385154b7 100644 --- a/pkg/analyzer/lib/src/generated/error_verifier.dart +++ b/pkg/analyzer/lib/src/generated/error_verifier.dart @@ -202,7 +202,7 @@ class ErrorVerifier extends RecursiveAstVisitor /// The class containing the AST nodes being visited, or `null` if we are not /// in the scope of a class. - ClassElement? _enclosingClass; + InterfaceElement? _enclosingClass; /// The element of the extension being visited, or `null` if we are not /// in the scope of an extension. @@ -267,7 +267,7 @@ class ErrorVerifier extends RecursiveAstVisitor ); } - ClassElement? get enclosingClass => _enclosingClass; + InterfaceElement? get enclosingClass => _enclosingClass; /// For consumers of error verification as a library, (currently just the /// angular plugin), expose a setter that can make the errors reported more @@ -275,7 +275,7 @@ class ErrorVerifier extends RecursiveAstVisitor /// context. Note that this setter is very defensive for potential misuse; it /// should not be modified in the middle of visiting a tree and requires an /// analyzer-provided Impl instance to work. - set enclosingClass(ClassElement? classElement) { + set enclosingClass(InterfaceElement? interfaceElement) { assert(_enclosingClass == null); assert(_enclosingExecutable.element == null); } @@ -421,7 +421,7 @@ class ErrorVerifier extends RecursiveAstVisitor void visitClassDeclaration(ClassDeclaration node) { var outerClass = _enclosingClass; try { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; _isInNativeClass = node.nativeClause != null; _enclosingClass = element; @@ -448,7 +448,7 @@ class ErrorVerifier extends RecursiveAstVisitor _checkForFinalNotInitializedInClass(members); _checkForBadFunctionUse(node); _checkForWrongTypeParameterVarianceInSuperinterfaces(); - _checkForMainFunction1(node.name2, node.declaredElement!); + _checkForMainFunction1(node.name2, node.declaredElement2!); _reportMacroApplicationErrors( annotations: node.metadata, macroErrors: element.macroApplicationErrors, @@ -473,10 +473,10 @@ class ErrorVerifier extends RecursiveAstVisitor node.name2, CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME); var outerClassElement = _enclosingClass; try { - _enclosingClass = node.declaredElement as ClassElementImpl; + _enclosingClass = node.declaredElement2 as ClassElementImpl; _checkClassInheritance( node, node.superclass, node.withClause, node.implementsClause); - _checkForMainFunction1(node.name2, node.declaredElement!); + _checkForMainFunction1(node.name2, node.declaredElement2!); _checkForWrongTypeParameterVarianceInSuperinterfaces(); } finally { _enclosingClass = outerClassElement; @@ -513,7 +513,7 @@ class ErrorVerifier extends RecursiveAstVisitor @override void visitConstructorDeclaration(ConstructorDeclaration node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _withEnclosingExecutable(element, () { _checkForNonConstGenerativeEnumConstructor(node); _checkForInvalidModifierOnBody( @@ -596,7 +596,7 @@ class ErrorVerifier extends RecursiveAstVisitor void visitEnumDeclaration(EnumDeclaration node) { var outerClass = _enclosingClass; try { - var element = node.declaredElement as EnumElementImpl; + var element = node.declaredElement2 as EnumElementImpl; _enclosingClass = element; _duplicateDefinitionVerifier.checkEnum(node); @@ -613,7 +613,7 @@ class ErrorVerifier extends RecursiveAstVisitor _constructorFieldsVerifier.enterEnum(node, element); _checkForFinalNotInitializedInClass(node.members); _checkForWrongTypeParameterVarianceInSuperinterfaces(); - _checkForMainFunction1(node.name2, node.declaredElement!); + _checkForMainFunction1(node.name2, node.declaredElement2!); _checkForEnumInstantiatedToBoundsIsNotWellBounded(node, element); GetterSetterTypesVerifier( @@ -653,7 +653,7 @@ class ErrorVerifier extends RecursiveAstVisitor @override void visitExtensionDeclaration(ExtensionDeclaration node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _enclosingExtension = element; _duplicateDefinitionVerifier.checkExtension(node); _checkForConflictingExtensionTypeVariableErrorCodes(); @@ -719,7 +719,7 @@ class ErrorVerifier extends RecursiveAstVisitor @override void visitForEachPartsWithDeclaration(ForEachPartsWithDeclaration node) { DeclaredIdentifier loopVariable = node.loopVariable; - if (_checkForEachParts(node, loopVariable.declaredElement)) { + if (_checkForEachParts(node, loopVariable.declaredElement2)) { if (loopVariable.isConst) { errorReporter.reportErrorForToken( CompileTimeErrorCode.FOR_IN_WITH_CONST_VARIABLE, @@ -754,7 +754,7 @@ class ErrorVerifier extends RecursiveAstVisitor @override void visitFunctionDeclaration(FunctionDeclaration node) { - ExecutableElement functionElement = node.declaredElement!; + ExecutableElement functionElement = node.declaredElement2!; if (functionElement.enclosingElement3 is! CompilationUnitElement) { _hiddenElements!.declare(functionElement); } @@ -769,8 +769,8 @@ class ErrorVerifier extends RecursiveAstVisitor } _checkForTypeAnnotationDeferredClass(returnType); _returnTypeVerifier.verifyReturnType(returnType); - _checkForImplicitDynamicReturn(node.name2, node.declaredElement!); - _checkForMainFunction1(node.name2, node.declaredElement!); + _checkForImplicitDynamicReturn(node.name2, node.declaredElement2!); + _checkForMainFunction1(node.name2, node.declaredElement2!); _checkForMainFunction2(node); super.visitFunctionDeclaration(node); }); @@ -817,9 +817,9 @@ class ErrorVerifier extends RecursiveAstVisitor void visitFunctionTypeAlias(FunctionTypeAlias node) { _checkForBuiltInIdentifierAsName( node.name2, CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME); - _checkForMainFunction1(node.name2, node.declaredElement!); + _checkForMainFunction1(node.name2, node.declaredElement2!); _checkForTypeAliasCannotReferenceItself( - node.name2, node.declaredElement as TypeAliasElementImpl); + node.name2, node.declaredElement2 as TypeAliasElementImpl); super.visitFunctionTypeAlias(node); } @@ -854,9 +854,9 @@ class ErrorVerifier extends RecursiveAstVisitor void visitGenericTypeAlias(GenericTypeAlias node) { _checkForBuiltInIdentifierAsName( node.name2, CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME); - _checkForMainFunction1(node.name2, node.declaredElement!); + _checkForMainFunction1(node.name2, node.declaredElement2!); _checkForTypeAliasCannotReferenceItself( - node.name2, node.declaredElement as TypeAliasElementImpl); + node.name2, node.declaredElement2 as TypeAliasElementImpl); super.visitGenericTypeAlias(node); } @@ -947,7 +947,7 @@ class ErrorVerifier extends RecursiveAstVisitor @override void visitMethodDeclaration(MethodDeclaration node) { - _withEnclosingExecutable(node.declaredElement!, () { + _withEnclosingExecutable(node.declaredElement2!, () { var returnType = node.returnType; if (node.isSetter) { _checkForWrongNumberOfParametersForSetter(node.name2, node.parameters); @@ -965,7 +965,7 @@ class ErrorVerifier extends RecursiveAstVisitor _checkForExtensionDeclaresMemberOfObject(node); _checkForTypeAnnotationDeferredClass(returnType); _returnTypeVerifier.verifyReturnType(returnType); - _checkForImplicitDynamicReturn(node.name2, node.declaredElement!); + _checkForImplicitDynamicReturn(node.name2, node.declaredElement2!); _checkForWrongTypeParameterVarianceInMethod(node); super.visitMethodDeclaration(node); }); @@ -995,7 +995,7 @@ class ErrorVerifier extends RecursiveAstVisitor // TODO(scheglov) Verify for all mixin errors. var outerClass = _enclosingClass; try { - _enclosingClass = node.declaredElement as ClassElementImpl; + _enclosingClass = node.declaredElement2!; List members = node.members; _duplicateDefinitionVerifier.checkMixin(node); @@ -1013,7 +1013,7 @@ class ErrorVerifier extends RecursiveAstVisitor _checkForConflictingClassMembers(); _checkForFinalNotInitializedInClass(members); - _checkForMainFunction1(node.name2, node.declaredElement!); + _checkForMainFunction1(node.name2, node.declaredElement2!); _checkForWrongTypeParameterVarianceInSuperinterfaces(); // _checkForBadFunctionUse(node); super.visitMixinDeclaration(node); @@ -1274,7 +1274,7 @@ class ErrorVerifier extends RecursiveAstVisitor _checkForNotInitializedNonNullableVariable(node.variables, true); for (var variable in node.variables.variables) { - _checkForMainFunction1(variable.name2, variable.declaredElement!); + _checkForMainFunction1(variable.name2, variable.declaredElement2!); } super.visitTopLevelVariableDeclaration(node); @@ -1313,7 +1313,7 @@ class ErrorVerifier extends RecursiveAstVisitor var initializerNode = node.initializer; // do checks _checkForImplicitDynamicIdentifier(node, nameToken, - variable: node.declaredElement!); + variable: node.declaredElement2!); _checkForAbstractOrExternalVariableInitializer(node); // visit initializer String name = nameToken.lexeme; @@ -1329,7 +1329,7 @@ class ErrorVerifier extends RecursiveAstVisitor AstNode grandparent = node.parent!.parent!; if (grandparent is! TopLevelVariableDeclaration && grandparent is! FieldDeclaration) { - VariableElement element = node.declaredElement!; + VariableElement element = node.declaredElement2!; // There is no hidden elements if we are outside of a function body, // which will happen for variables declared in control flow elements. _hiddenElements?.declare(element); @@ -1419,7 +1419,7 @@ class ErrorVerifier extends RecursiveAstVisitor void _checkForAbstractOrExternalVariableInitializer( VariableDeclaration node) { - var declaredElement = node.declaredElement; + var declaredElement = node.declaredElement2; if (node.initializer != null) { if (declaredElement is FieldElement) { if (declaredElement.isAbstract) { @@ -1521,7 +1521,7 @@ class ErrorVerifier extends RecursiveAstVisitor DartType redirectedReturnType = redirectedType.returnType; // Report specific problem when return type is incompatible - FunctionType constructorType = declaration.declaredElement!.type; + FunctionType constructorType = declaration.declaredElement2!.type; DartType constructorReturnType = constructorType.returnType; if (!typeSystem.isAssignableTo( redirectedReturnType, constructorReturnType)) { @@ -1926,7 +1926,7 @@ class ErrorVerifier extends RecursiveAstVisitor } void _checkForConflictingGenerics(NamedCompilationUnitMember node) { - var element = node.declaredElement as ClassElement; + var element = node.declaredElement2 as InterfaceElement; var analysisSession = _currentLibrary.session; var errors = analysisSession.classHierarchy.errors(element); @@ -1993,7 +1993,7 @@ class ErrorVerifier extends RecursiveAstVisitor // [declaration] is a redirecting constructor via a redirecting // initializer. _checkForRedirectToNonConstConstructor( - declaration.declaredElement!, + declaration.declaredElement2!, initializer.staticElement, initializer.constructorName ?? initializer.thisKeyword, ); @@ -2721,7 +2721,7 @@ class ErrorVerifier extends RecursiveAstVisitor variable.name2, [variable.name2.lexeme]); } else { - var variableElement = variable.declaredElement; + var variableElement = variable.declaredElement2; if (variableElement is FieldElement && (variableElement.isAbstract || variableElement.isExternal)) { // Abstract and external fields can't be initialized, so no error. @@ -3805,7 +3805,7 @@ class ErrorVerifier extends RecursiveAstVisitor if (_isEnclosingClassFfiUnion) return; for (var field in fields.variables) { - var fieldElement = field.declaredElement as FieldElement; + var fieldElement = field.declaredElement2 as FieldElement; if (fieldElement.isAbstract || fieldElement.isExternal) continue; if (field.initializer != null) continue; @@ -4059,7 +4059,7 @@ class ErrorVerifier extends RecursiveAstVisitor } var redirectedElement = redirectedConstructor.staticElement; _checkForRedirectToNonConstConstructor( - declaration.declaredElement!, + declaration.declaredElement2!, redirectedElement, redirectedConstructor, ); @@ -4322,7 +4322,7 @@ class ErrorVerifier extends RecursiveAstVisitor if (elementToNode == null) { elementToNode = {}; for (var parameter in parameters) { - elementToNode[parameter.declaredElement!] = parameter; + elementToNode[parameter.declaredElement2!] = parameter; } } @@ -4335,7 +4335,7 @@ class ErrorVerifier extends RecursiveAstVisitor current = null; } if (step == parameters.length) { - var element = parameter.declaredElement!; + var element = parameter.declaredElement2!; // This error can only occur if there is a bound, so we can saefly // assume `element.bound` is non-`null`. errorReporter.reportErrorForToken( @@ -4769,7 +4769,7 @@ class ErrorVerifier extends RecursiveAstVisitor // variance is added to the interface. if (!(typeParameter as TypeParameterElementImpl).isLegacyCovariant) { var fields = node.fields; - var fieldElement = fields.variables.first.declaredElement!; + var fieldElement = fields.variables.first.declaredElement2!; var fieldName = fields.variables.first.name2; Variance fieldVariance = Variance(typeParameter, fieldElement.type); @@ -4887,7 +4887,11 @@ class ErrorVerifier extends RecursiveAstVisitor checkOne(_enclosingClass!.supertype); _enclosingClass!.interfaces.forEach(checkOne); _enclosingClass!.mixins.forEach(checkOne); - _enclosingClass!.superclassConstraints.forEach(checkOne); + + final enclosingClass = _enclosingClass; + if (enclosingClass is MixinElement) { + enclosingClass.superclassConstraints.forEach(checkOne); + } } /// Check for invalid variance positions in members of a class or mixin. @@ -5284,7 +5288,7 @@ class ErrorVerifier extends RecursiveAstVisitor if (fieldDeclaration is FieldDeclaration) { for (VariableDeclaration field in fieldDeclaration.fields.variables) { if (field.initializer == null) { - fields.add(field.declaredElement as FieldElement); + fields.add(field.declaredElement2 as FieldElement); } } } diff --git a/pkg/analyzer/lib/src/generated/ffi_verifier.dart b/pkg/analyzer/lib/src/generated/ffi_verifier.dart index 9f13c23d1f2..90e93adb16f 100644 --- a/pkg/analyzer/lib/src/generated/ffi_verifier.dart +++ b/pkg/analyzer/lib/src/generated/ffi_verifier.dart @@ -86,7 +86,7 @@ class FfiVerifier extends RecursiveAstVisitor { if (className == _structClassName || className == _unionClassName) { inCompound = true; compound = node; - if (node.declaredElement!.isEmptyStruct) { + if (node.declaredElement2!.isEmptyStruct) { _errorReporter.reportErrorForToken(FfiCode.EMPTY_STRUCT, node.name2, [node.name2.lexeme, className]); } @@ -148,13 +148,13 @@ class FfiVerifier extends RecursiveAstVisitor { } if (inCompound) { - if (node.declaredElement!.typeParameters.isNotEmpty) { + if (node.declaredElement2!.typeParameters.isNotEmpty) { _errorReporter.reportErrorForToken( FfiCode.GENERIC_STRUCT_SUBCLASS, node.name2, [node.name2.lexeme]); } final implementsClause = node.implementsClause; if (implementsClause != null) { - final compoundType = node.declaredElement!.thisType; + final compoundType = node.declaredElement2!.thisType; final structType = compoundType.superclass!; final ffiLibrary = structType.element2.library; final finalizableElement = ffiLibrary.getClass(_finalizableClassName)!; @@ -194,7 +194,7 @@ class FfiVerifier extends RecursiveAstVisitor { _checkFfiNative( errorNode: node, annotations: node.metadata, - declarationElement: node.declaredElement as ExecutableElement, + declarationElement: node.declaredElement2!, formalParameterList: node.functionExpression.parameters, ); super.visitFunctionDeclaration(node); @@ -246,7 +246,7 @@ class FfiVerifier extends RecursiveAstVisitor { _checkFfiNative( errorNode: node, annotations: node.metadata, - declarationElement: node.declaredElement as ExecutableElement, + declarationElement: node.declaredElement2!, formalParameterList: node.parameters); super.visitMethodDeclaration(node); } diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart index 8d222fa05bd..ad153478a99 100644 --- a/pkg/analyzer/lib/src/generated/resolver.dart +++ b/pkg/analyzer/lib/src/generated/resolver.dart @@ -741,22 +741,22 @@ class ResolverVisitor extends ThrowingAstVisitor node is TopLevelVariableDeclaration; } - void forClassElement(ClassElement parentElement) { + void forClassElement(InterfaceElement parentElement) { enclosingClass = parentElement; } if (parent is ClassDeclaration) { - forClassElement(parent.declaredElement!); + forClassElement(parent.declaredElement2!); return true; } if (parent is ExtensionDeclaration) { - enclosingExtension = parent.declaredElement!; + enclosingExtension = parent.declaredElement2!; return true; } if (parent is MixinDeclaration) { - forClassElement(parent.declaredElement!); + forClassElement(parent.declaredElement2!); return true; } @@ -1142,7 +1142,7 @@ class ResolverVisitor extends ThrowingAstVisitor // var outerType = enclosingClass; try { - enclosingClass = node.declaredElement; + enclosingClass = node.declaredElement2; checkUnreachableNode(node); node.visitChildren(this); elementResolver.visitClassDeclaration(node); @@ -1238,11 +1238,11 @@ class ResolverVisitor extends ThrowingAstVisitor flowAnalysis.executableDeclaration_enter(node, node.parameters, isClosure: false); - var returnType = node.declaredElement!.type.returnType; + var returnType = node.declaredElement2!.type.returnType; var outerFunction = _enclosingFunction; try { - _enclosingFunction = node.declaredElement; + _enclosingFunction = node.declaredElement2; assert(_thisType == null); _setupThisType(); checkUnreachableNode(node); @@ -1400,7 +1400,7 @@ class ResolverVisitor extends ThrowingAstVisitor node.metadata.accept(this); checkUnreachableNode(node); - var element = node.declaredElement as ConstFieldElementImpl; + var element = node.declaredElement2 as ConstFieldElementImpl; var initializer = element.constantInitializer; if (initializer is InstanceCreationExpression) { var constructorName = initializer.constructorName; @@ -1479,7 +1479,7 @@ class ResolverVisitor extends ThrowingAstVisitor // var outerType = enclosingClass; try { - enclosingClass = node.declaredElement; + enclosingClass = node.declaredElement2; checkUnreachableNode(node); node.visitChildren(this); elementResolver.visitEnumDeclaration(node); @@ -1538,7 +1538,7 @@ class ResolverVisitor extends ThrowingAstVisitor void visitExtensionDeclaration(ExtensionDeclaration node) { var outerExtension = enclosingExtension; try { - enclosingExtension = node.declaredElement!; + enclosingExtension = node.declaredElement2!; checkUnreachableNode(node); node.visitChildren(this); elementResolver.visitExtensionDeclaration(node); @@ -1632,11 +1632,11 @@ class ResolverVisitor extends ThrowingAstVisitor isClosure: isLocal, ); - var functionType = node.declaredElement!.type; + var functionType = node.declaredElement2!.type; var outerFunction = _enclosingFunction; try { - _enclosingFunction = node.declaredElement; + _enclosingFunction = node.declaredElement2; checkUnreachableNode(node); node.documentationComment?.accept(this); node.metadata.accept(this); @@ -1935,11 +1935,11 @@ class ResolverVisitor extends ThrowingAstVisitor flowAnalysis.executableDeclaration_enter(node, node.parameters, isClosure: false); - DartType returnType = node.declaredElement!.returnType; + DartType returnType = node.declaredElement2!.returnType; var outerFunction = _enclosingFunction; try { - _enclosingFunction = node.declaredElement; + _enclosingFunction = node.declaredElement2; assert(_thisType == null); _setupThisType(); checkUnreachableNode(node); @@ -2015,7 +2015,7 @@ class ResolverVisitor extends ThrowingAstVisitor // var outerType = enclosingClass; try { - enclosingClass = node.declaredElement!; + enclosingClass = node.declaredElement2!; checkUnreachableNode(node); node.visitChildren(this); elementResolver.visitMixinDeclaration(node); @@ -2494,7 +2494,7 @@ class ResolverVisitor extends ThrowingAstVisitor void visitVariableDeclaration(VariableDeclaration node) { _variableDeclarationResolver.resolve(node as VariableDeclarationImpl); - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; var initializer = node.initializer; var parent = node.parent as VariableDeclarationList; @@ -2558,7 +2558,7 @@ class ResolverVisitor extends ThrowingAstVisitor } void _checkTopLevelCycle(VariableDeclaration node) { - var element = node.declaredElement; + var element = node.declaredElement2; if (element is! PropertyInducingElementImpl) { return; } @@ -3018,7 +3018,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { void visitClassDeclaration(ClassDeclaration node) { Scope outerScope = nameScope; try { - ClassElement element = node.declaredElement!; + ClassElement element = node.declaredElement2!; node.metadata.accept(this); nameScope = TypeParameterScope( @@ -3028,7 +3028,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { _setNodeNameScope(node, nameScope); visitClassDeclarationInScope(node); - nameScope = ClassScope(nameScope, element); + nameScope = InterfaceScope(nameScope, element); visitClassMembersInScope(node); } finally { nameScope = outerScope; @@ -3053,8 +3053,8 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { node.metadata.accept(this); Scope outerScope = nameScope; try { - ClassElement element = node.declaredElement!; - nameScope = ClassScope( + ClassElement element = node.declaredElement2!; + nameScope = InterfaceScope( TypeParameterScope(nameScope, element.typeParameters), element, ); @@ -3086,7 +3086,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { (node.body as FunctionBodyImpl).localVariableInfo = _localVariableInfo; Scope outerScope = nameScope; try { - ConstructorElement element = node.declaredElement!; + ConstructorElement element = node.declaredElement2!; node.metadata.accept(this); node.returnType.accept(this); @@ -3126,7 +3126,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { @override void visitDeclaredIdentifier(DeclaredIdentifier node) { - _define(node.declaredElement!); + _define(node.declaredElement2!); super.visitDeclaredIdentifier(node); } @@ -3150,7 +3150,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { void visitEnumDeclaration(EnumDeclaration node) { Scope outerScope = nameScope; try { - ClassElement element = node.declaredElement!; + final element = node.declaredElement2!; node.metadata.accept(this); nameScope = TypeParameterScope( @@ -3160,7 +3160,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { _setNodeNameScope(node, nameScope); visitEnumDeclarationInScope(node); - nameScope = ClassScope(nameScope, element); + nameScope = InterfaceScope(nameScope, element); visitEnumMembersInScope(node); } finally { nameScope = outerScope; @@ -3189,7 +3189,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { void visitExtensionDeclaration(ExtensionDeclaration node) { Scope outerScope = nameScope; try { - ExtensionElement element = node.declaredElement!; + ExtensionElement element = node.declaredElement2!; node.metadata.accept(this); nameScope = TypeParameterScope( @@ -3262,7 +3262,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { parent.declaredElement!.parameters, ); } else if (parent is FunctionTypeAlias) { - var aliasedElement = parent.declaredElement!.aliasedElement; + var aliasedElement = parent.declaredElement2!.aliasedElement; var functionElement = aliasedElement as GenericFunctionTypeElement; nameScope = FormalParameterScope( nameScope, @@ -3271,7 +3271,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { } else if (parent is MethodDeclaration) { nameScope = FormalParameterScope( nameScope, - parent.declaredElement!.parameters, + parent.declaredElement2!.parameters, ); } } @@ -3309,10 +3309,10 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { Scope outerScope = nameScope; try { _enclosingClosure = node.parent is FunctionDeclarationStatement - ? node.declaredElement + ? node.declaredElement2 : null; node.metadata.accept(this); - var element = node.declaredElement!; + var element = node.declaredElement2!; nameScope = TypeParameterScope( nameScope, element.typeParameters, @@ -3366,7 +3366,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { node.metadata.accept(this); Scope outerScope = nameScope; try { - var element = node.declaredElement!; + var element = node.declaredElement2!; nameScope = TypeParameterScope(nameScope, element.typeParameters); visitFunctionTypeAliasInScope(node); } finally { @@ -3440,7 +3440,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { node.metadata.accept(this); Scope outerScope = nameScope; try { - var element = node.declaredElement as TypeAliasElement; + var element = node.declaredElement2 as TypeAliasElement; nameScope = TypeParameterScope(nameScope, element.typeParameters); _setNodeNameScope(node, nameScope); visitGenericTypeAliasInScope(node); @@ -3488,7 +3488,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { node.metadata.accept(this); Scope outerScope = nameScope; try { - ExecutableElement element = node.declaredElement!; + ExecutableElement element = node.declaredElement2!; nameScope = TypeParameterScope( nameScope, element.typeParameters, @@ -3530,14 +3530,14 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { void visitMixinDeclaration(MixinDeclaration node) { Scope outerScope = nameScope; try { - ClassElement element = node.declaredElement!; + final element = node.declaredElement2!; node.metadata.accept(this); nameScope = TypeParameterScope(nameScope, element.typeParameters); _setNodeNameScope(node, nameScope); visitMixinDeclarationInScope(node); - nameScope = ClassScope(nameScope, element); + nameScope = InterfaceScope(nameScope, element); visitMixinMembersInScope(node); } finally { nameScope = outerScope; @@ -3688,7 +3688,7 @@ class ScopeResolverVisitor extends UnifyingAstVisitor { super.visitVariableDeclaration(node); if (node.parent!.parent is ForParts) { - _define(node.declaredElement!); + _define(node.declaredElement2!); } } diff --git a/pkg/analyzer/lib/src/lint/linter.dart b/pkg/analyzer/lib/src/lint/linter.dart index 1471a8b713b..687da3aee0c 100644 --- a/pkg/analyzer/lib/src/lint/linter.dart +++ b/pkg/analyzer/lib/src/lint/linter.dart @@ -336,7 +336,7 @@ class LinterContextImpl implements LinterContext { @override bool canBeConstConstructor(covariant ConstructorDeclarationImpl node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; final classElement = element.enclosingElement3; if (classElement is ClassElement && classElement.hasNonFinalField) { diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart index e4577c859ed..320fc05bed9 100644 --- a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart +++ b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart @@ -858,7 +858,7 @@ class AstBinaryWriter extends ThrowingAstVisitor { f(); } else { var elements = node.typeParameters - .map((typeParameter) => typeParameter.declaredElement!) + .map((typeParameter) => typeParameter.declaredElement2!) .toList(); _sink.localElements.withElements(elements, () { f(); diff --git a/pkg/analyzer/lib/src/summary2/default_types_builder.dart b/pkg/analyzer/lib/src/summary2/default_types_builder.dart index 4ddea7898a4..83fbd83e9b8 100644 --- a/pkg/analyzer/lib/src/summary2/default_types_builder.dart +++ b/pkg/analyzer/lib/src/summary2/default_types_builder.dart @@ -25,32 +25,32 @@ class DefaultTypesBuilder { void build(List nodes) { for (var node in nodes) { if (node is ClassDeclaration) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _breakSelfCycles(node.typeParameters); _breakRawTypeCycles(element, node.typeParameters); _computeBounds(element, node.typeParameters); } else if (node is ClassTypeAlias) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _breakSelfCycles(node.typeParameters); _breakRawTypeCycles(element, node.typeParameters); _computeBounds(element, node.typeParameters); } else if (node is EnumDeclaration) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _breakSelfCycles(node.typeParameters); _breakRawTypeCycles(element, node.typeParameters); _computeBounds(element, node.typeParameters); } else if (node is FunctionTypeAlias) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _breakSelfCycles(node.typeParameters); _breakRawTypeCycles(element, node.typeParameters); _computeBounds(element, node.typeParameters); } else if (node is GenericTypeAlias) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _breakSelfCycles(node.typeParameters); _breakRawTypeCycles(element, node.typeParameters); _computeBounds(element, node.typeParameters); } else if (node is MixinDeclaration) { - var element = node.declaredElement!; + var element = node.declaredElement2!; _breakSelfCycles(node.typeParameters); _breakRawTypeCycles(element, node.typeParameters); _computeBounds(element, node.typeParameters); @@ -152,7 +152,7 @@ class DefaultTypesBuilder { if (parameterList == null) return; for (var parameter in parameterList.typeParameters) { - var element = parameter.declaredElement as TypeParameterElementImpl; + var element = parameter.declaredElement2 as TypeParameterElementImpl; var defaultType = element.defaultType; if (defaultType is TypeBuilder) { var builtType = defaultType.build(); @@ -182,7 +182,7 @@ class DefaultTypesBuilder { var bounds = []; for (int i = 0; i < length; i++) { var node = nodes[i]; - elements.add(node.declaredElement as TypeParameterElementImpl); + elements.add(node.declaredElement2 as TypeParameterElementImpl); bounds.add(node.bound?.type ?? dynamicType); } @@ -228,7 +228,7 @@ class DefaultTypesBuilder { // Set computed TypeBuilder(s) as default types. for (var i = 0; i < length; i++) { - var element = nodes[i].declaredElement as TypeParameterElementImpl; + var element = nodes[i].declaredElement2 as TypeParameterElementImpl; element.defaultType = bounds[i]; } } diff --git a/pkg/analyzer/lib/src/summary2/element_builder.dart b/pkg/analyzer/lib/src/summary2/element_builder.dart index dc7f62566e4..574fcf2140b 100644 --- a/pkg/analyzer/lib/src/summary2/element_builder.dart +++ b/pkg/analyzer/lib/src/summary2/element_builder.dart @@ -98,7 +98,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(element, node); _setDocumentation(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var reference = _enclosingContext.addClass(name, element); @@ -132,7 +132,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(element, node); _setDocumentation(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var reference = _enclosingContext.addClass(name, element); @@ -178,7 +178,7 @@ class ElementBuilder extends ThrowingAstVisitor { element.constantInitializers = node.initializers; } - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var reference = _enclosingContext.addConstructor(element); @@ -205,7 +205,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(element, node); _setDocumentation(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var reference = _enclosingContext.addEnum(name, element); @@ -406,7 +406,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(element, node); _setDocumentation(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var refName = name ?? '${_nextUnnamedExtensionId++}'; @@ -478,7 +478,7 @@ class ElementBuilder extends ThrowingAstVisitor { _enclosingContext.addNonSyntheticField(element); _linker.elementNodes[element] = variable; - variable.declaredElement = element; + variable.declaredElement2 = element; } _buildType(node.fields.type); } @@ -585,7 +585,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(executableElement, node); _setDocumentation(executableElement, node); - node.declaredElement = executableElement; + node.declaredElement2 = executableElement; _linker.elementNodes[executableElement] = node; _buildExecutableElementChildren( @@ -615,7 +615,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(element, node); _setDocumentation(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var reference = _enclosingContext.addTypeAlias(name, element); @@ -723,7 +723,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(element, node); _setDocumentation(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var reference = _enclosingContext.addTypeAlias(name, element); @@ -836,7 +836,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(executableElement, node); _setDocumentation(executableElement, node); - node.declaredElement = executableElement; + node.declaredElement2 = executableElement; _linker.elementNodes[executableElement] = node; _buildExecutableElementChildren( @@ -859,7 +859,7 @@ class ElementBuilder extends ThrowingAstVisitor { _setCodeRange(element, node); _setDocumentation(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; var reference = _enclosingContext.addMixin(name, element); @@ -1038,7 +1038,7 @@ class ElementBuilder extends ThrowingAstVisitor { _linker.elementNodes[element] = variable; _enclosingContext.addTopLevelVariable(name, element); - variable.declaredElement = element; + variable.declaredElement2 = element; var getter = element.getter; if (getter is PropertyAccessorElementImpl) { @@ -1070,7 +1070,7 @@ class ElementBuilder extends ThrowingAstVisitor { element.metadata = _buildAnnotations(node.metadata); _setCodeRange(element, node); - node.declaredElement = element; + node.declaredElement2 = element; _linker.elementNodes[element] = node; _enclosingContext.addTypeParameter(name, element); @@ -1092,7 +1092,7 @@ class ElementBuilder extends ThrowingAstVisitor { } void _buildClass(ClassDeclaration node) { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; var hasConstConstructor = node.members.any((e) { return e is ConstructorDeclaration && e.constKeyword != null; }); @@ -1137,7 +1137,7 @@ class ElementBuilder extends ThrowingAstVisitor { } void _buildMixin(MixinDeclaration node) { - var element = node.declaredElement as MixinElementImpl; + var element = node.declaredElement2 as MixinElementImpl; var hasConstConstructor = node.members.any((e) { return e is ConstructorDeclaration && e.constKeyword != null; }); diff --git a/pkg/analyzer/lib/src/summary2/function_type_builder.dart b/pkg/analyzer/lib/src/summary2/function_type_builder.dart index 8ecabb3c078..0a07a1c94e4 100644 --- a/pkg/analyzer/lib/src/summary2/function_type_builder.dart +++ b/pkg/analyzer/lib/src/summary2/function_type_builder.dart @@ -208,6 +208,6 @@ class FunctionTypeBuilder extends TypeBuilder { TypeParameterList? node, ) { if (node == null) return const []; - return node.typeParameters.map((n) => n.declaredElement!).toList(); + return node.typeParameters.map((n) => n.declaredElement2!).toList(); } } diff --git a/pkg/analyzer/lib/src/summary2/library_builder.dart b/pkg/analyzer/lib/src/summary2/library_builder.dart index 008ff70b676..ea65c0fd6b4 100644 --- a/pkg/analyzer/lib/src/summary2/library_builder.dart +++ b/pkg/analyzer/lib/src/summary2/library_builder.dart @@ -212,7 +212,7 @@ class LibraryBuilder { executable.body.accept(collector); } } - var element = declaration.declaredElement as MixinElementImpl; + var element = declaration.declaredElement2 as MixinElementImpl; element.superInvokedNames = names.toList(); } } diff --git a/pkg/analyzer/lib/src/summary2/macro_declarations.dart b/pkg/analyzer/lib/src/summary2/macro_declarations.dart index 57302610011..d495de4e7bc 100644 --- a/pkg/analyzer/lib/src/summary2/macro_declarations.dart +++ b/pkg/analyzer/lib/src/summary2/macro_declarations.dart @@ -52,7 +52,7 @@ class DeclarationBuilder { } for (final entry in fromNode._classMap.entries) { - final element = entry.key.declaredElement as ClassElement; + final element = entry.key.declaredElement2!; final declaration = entry.value; declaration.element = element; fromElement._classMap[element] = declaration; @@ -214,7 +214,7 @@ class DeclarationBuilderFromNode { assert(!_classMap.containsKey(node)); return IntrospectableClassDeclarationImpl._( id: macro.RemoteInstance.uniqueId, - identifier: _declaredIdentifier(node.name2, node.declaredElement!), + identifier: _declaredIdentifier(node.name2, node.declaredElement2!), typeParameters: _typeParameters(node.typeParameters), interfaces: _typeAnnotations(node.implementsClause?.interfaces), isAbstract: node.abstractKeyword != null, @@ -290,7 +290,7 @@ class DeclarationBuilderFromNode { ) { return macro.TypeParameterDeclarationImpl( id: macro.RemoteInstance.uniqueId, - identifier: _declaredIdentifier(node.name2, node.declaredElement!), + identifier: _declaredIdentifier(node.name2, node.declaredElement2!), bound: node.bound.mapOrNull(_typeAnnotation), ); } diff --git a/pkg/analyzer/lib/src/summary2/named_type_builder.dart b/pkg/analyzer/lib/src/summary2/named_type_builder.dart index 184476e6e65..507f59a671a 100644 --- a/pkg/analyzer/lib/src/summary2/named_type_builder.dart +++ b/pkg/analyzer/lib/src/summary2/named_type_builder.dart @@ -319,7 +319,7 @@ class NamedTypeBuilder extends TypeBuilder { static List _typeParameters(TypeParameterList? node) { if (node != null) { return node.typeParameters - .map((p) => p.declaredElement!) + .map((p) => p.declaredElement2!) .toList(); } else { return const []; diff --git a/pkg/analyzer/lib/src/summary2/reference_resolver.dart b/pkg/analyzer/lib/src/summary2/reference_resolver.dart index 93d557866f5..23b407b1b6e 100644 --- a/pkg/analyzer/lib/src/summary2/reference_resolver.dart +++ b/pkg/analyzer/lib/src/summary2/reference_resolver.dart @@ -52,7 +52,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitClassDeclaration(ClassDeclaration node) { var outerScope = scope; - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; scope = TypeParameterScope(scope, element.typeParameters); @@ -61,7 +61,7 @@ class ReferenceResolver extends ThrowingAstVisitor { node.implementsClause?.accept(this); node.withClause?.accept(this); - scope = ClassScope(scope, element); + scope = InterfaceScope(scope, element); LinkingNodeContext(node, scope); node.members.accept(this); @@ -74,7 +74,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitClassTypeAlias(ClassTypeAlias node) { var outerScope = scope; - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; scope = TypeParameterScope(scope, element.typeParameters); LinkingNodeContext(node, scope); @@ -98,7 +98,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitConstructorDeclaration(ConstructorDeclaration node) { var outerScope = scope; - var element = node.declaredElement as ConstructorElementImpl; + var element = node.declaredElement2 as ConstructorElementImpl; scope = TypeParameterScope(scope, element.typeParameters); LinkingNodeContext(node, scope); @@ -117,7 +117,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitEnumDeclaration(EnumDeclaration node) { var outerScope = scope; - var element = node.declaredElement as EnumElementImpl; + var element = node.declaredElement2 as EnumElementImpl; scope = TypeParameterScope(scope, element.typeParameters); @@ -125,7 +125,7 @@ class ReferenceResolver extends ThrowingAstVisitor { node.implementsClause?.accept(this); node.withClause?.accept(this); - scope = ClassScope(scope, element); + scope = InterfaceScope(scope, element); LinkingNodeContext(node, scope); node.members.accept(this); @@ -146,7 +146,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitExtensionDeclaration(ExtensionDeclaration node) { var outerScope = scope; - var element = node.declaredElement as ExtensionElementImpl; + var element = node.declaredElement2 as ExtensionElementImpl; scope = TypeParameterScope(scope, element.typeParameters); @@ -192,7 +192,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitFunctionDeclaration(FunctionDeclaration node) { var outerScope = scope; - var element = node.declaredElement as ExecutableElementImpl; + var element = node.declaredElement2 as ExecutableElementImpl; scope = TypeParameterScope(outerScope, element.typeParameters); LinkingNodeContext(node, scope); @@ -214,7 +214,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitFunctionTypeAlias(FunctionTypeAlias node) { var outerScope = scope; - var element = node.declaredElement as TypeAliasElementImpl; + var element = node.declaredElement2 as TypeAliasElementImpl; scope = TypeParameterScope(outerScope, element.typeParameters); @@ -267,7 +267,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitGenericTypeAlias(GenericTypeAlias node) { var outerScope = scope; - var element = node.declaredElement as TypeAliasElementImpl; + var element = node.declaredElement2 as TypeAliasElementImpl; scope = TypeParameterScope(outerScope, element.typeParameters); @@ -294,7 +294,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitMethodDeclaration(MethodDeclaration node) { var outerScope = scope; - var element = node.declaredElement as ExecutableElementImpl; + var element = node.declaredElement2 as ExecutableElementImpl; scope = TypeParameterScope(scope, element.typeParameters); LinkingNodeContext(node, scope); @@ -311,7 +311,7 @@ class ReferenceResolver extends ThrowingAstVisitor { void visitMixinDeclaration(MixinDeclaration node) { var outerScope = scope; - var element = node.declaredElement as MixinElementImpl; + var element = node.declaredElement2 as MixinElementImpl; scope = TypeParameterScope(scope, element.typeParameters); @@ -319,7 +319,7 @@ class ReferenceResolver extends ThrowingAstVisitor { node.onClause?.accept(this); node.implementsClause?.accept(this); - scope = ClassScope(scope, element); + scope = InterfaceScope(scope, element); LinkingNodeContext(node, scope); node.members.accept(this); @@ -424,7 +424,7 @@ class ReferenceResolver extends ThrowingAstVisitor { var bound = node.bound; if (bound != null) { bound.accept(this); - var element = node.declaredElement as TypeParameterElementImpl; + var element = node.declaredElement2 as TypeParameterElementImpl; element.bound = bound.type; } } diff --git a/pkg/analyzer/lib/src/summary2/simply_bounded.dart b/pkg/analyzer/lib/src/summary2/simply_bounded.dart index 1bfce1f9456..d77ddc773d7 100644 --- a/pkg/analyzer/lib/src/summary2/simply_bounded.dart +++ b/pkg/analyzer/lib/src/summary2/simply_bounded.dart @@ -40,22 +40,22 @@ void computeSimplyBounded(Linker linker) { walker.walk(node); var node2 = node._node; if (node2 is ClassDeclaration) { - var element = node2.declaredElement as ClassElementImpl; + var element = node2.declaredElement2 as ClassElementImpl; element.isSimplyBounded = node.isSimplyBounded; } else if (node2 is ClassTypeAlias) { - var element = node2.declaredElement as ClassElementImpl; + var element = node2.declaredElement2 as ClassElementImpl; element.isSimplyBounded = node.isSimplyBounded; } else if (node2 is EnumDeclaration) { - var element = node2.declaredElement as EnumElementImpl; + var element = node2.declaredElement2 as EnumElementImpl; element.isSimplyBounded = node.isSimplyBounded; } else if (node2 is GenericTypeAlias) { - var element = node2.declaredElement as TypeAliasElementImpl; + var element = node2.declaredElement2 as TypeAliasElementImpl; element.isSimplyBounded = node.isSimplyBounded; } else if (node2 is FunctionTypeAlias) { - var element = node2.declaredElement as TypeAliasElementImpl; + var element = node2.declaredElement2 as TypeAliasElementImpl; element.isSimplyBounded = node.isSimplyBounded; } else if (node2 is MixinDeclaration) { - var element = node2.declaredElement as MixinElementImpl; + var element = node2.declaredElement2 as MixinElementImpl; element.isSimplyBounded = node.isSimplyBounded; } else { throw UnimplementedError('${node2.runtimeType}'); diff --git a/pkg/analyzer/lib/src/summary2/type_alias.dart b/pkg/analyzer/lib/src/summary2/type_alias.dart index 2c241ad24af..4a2779e54d1 100644 --- a/pkg/analyzer/lib/src/summary2/type_alias.dart +++ b/pkg/analyzer/lib/src/summary2/type_alias.dart @@ -15,12 +15,12 @@ class TypeAliasSelfReferenceFinder { if (node is FunctionTypeAlias) { var finder = _Finder(linker, node); finder.functionTypeAlias(node); - var element = node.declaredElement as TypeAliasElementImpl; + var element = node.declaredElement2 as TypeAliasElementImpl; element.hasSelfReference = finder.hasSelfReference; } else if (node is GenericTypeAlias) { var finder = _Finder(linker, node); finder.genericTypeAlias(node); - var element = node.declaredElement as TypeAliasElementImpl; + var element = node.declaredElement2 as TypeAliasElementImpl; element.hasSelfReference = finder.hasSelfReference; } } diff --git a/pkg/analyzer/lib/src/summary2/types_builder.dart b/pkg/analyzer/lib/src/summary2/types_builder.dart index 750e3427fc0..b573cf4cd24 100644 --- a/pkg/analyzer/lib/src/summary2/types_builder.dart +++ b/pkg/analyzer/lib/src/summary2/types_builder.dart @@ -117,7 +117,7 @@ class TypesBuilder { } void _classDeclaration(ClassDeclaration node) { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; var extendsClause = node.extendsClause; if (extendsClause != null) { @@ -143,7 +143,7 @@ class TypesBuilder { } void _classTypeAlias(ClassTypeAlias node) { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; var superType = node.superclass.type; if (superType is InterfaceType && _isInterfaceTypeInterface(superType)) { @@ -181,7 +181,7 @@ class TypesBuilder { returnType = _dynamicType; } } - var element = node.declaredElement as ExecutableElementImpl; + var element = node.declaredElement2 as ExecutableElementImpl; element.returnType = returnType; } else if (node is FunctionTypeAlias) { _functionTypeAlias(node); @@ -200,7 +200,7 @@ class TypesBuilder { returnType = _dynamicType; } } - var element = node.declaredElement as ExecutableElementImpl; + var element = node.declaredElement2 as ExecutableElementImpl; element.returnType = returnType; } else if (node is MixinDeclaration) { _mixinDeclaration(node); @@ -213,7 +213,7 @@ class TypesBuilder { var type = node.type?.type; if (type != null) { for (var variable in node.variables) { - (variable.declaredElement as VariableElementImpl).type = type; + (variable.declaredElement2 as VariableElementImpl).type = type; } } } else { @@ -222,7 +222,7 @@ class TypesBuilder { } void _enumDeclaration(EnumDeclaration node) { - var element = node.declaredElement as EnumElementImpl; + var element = node.declaredElement2 as EnumElementImpl; element.mixins = _toInterfaceTypeList( node.withClause?.mixinTypes, @@ -234,7 +234,7 @@ class TypesBuilder { } void _extensionDeclaration(ExtensionDeclaration node) { - var element = node.declaredElement as ExtensionElementImpl; + var element = node.declaredElement2 as ExtensionElementImpl; element.extendedType = node.extendedType.typeOrThrow; } @@ -261,7 +261,7 @@ class TypesBuilder { } void _functionTypeAlias(FunctionTypeAlias node) { - var element = node.declaredElement as TypeAliasElementImpl; + var element = node.declaredElement2 as TypeAliasElementImpl; var function = element.aliasedElement as GenericFunctionTypeElementImpl; function.returnType = node.returnType?.type ?? _dynamicType; element.aliasedType = function.type; @@ -279,7 +279,7 @@ class TypesBuilder { } void _genericTypeAlias(GenericTypeAlias node) { - var element = node.declaredElement as TypeAliasElementImpl; + var element = node.declaredElement2 as TypeAliasElementImpl; var featureSet = element.library.featureSet; var typeNode = node.type; @@ -298,7 +298,7 @@ class TypesBuilder { } void _mixinDeclaration(MixinDeclaration node) { - var element = node.declaredElement as MixinElementImpl; + var element = node.declaredElement2 as MixinElementImpl; var constraints = _toInterfaceTypeList( node.onClause?.superclassConstraints, @@ -347,7 +347,7 @@ class TypesBuilder { } return node.typeParameters - .map((p) => p.declaredElement!) + .map((p) => p.declaredElement2!) .toList(); } @@ -518,7 +518,8 @@ class _MixinsInference { void perform(List declarations) { for (var node in declarations) { if (node is ClassDeclaration || node is ClassTypeAlias) { - var element = (node as Declaration).declaredElement as ClassElementImpl; + var element = + (node as Declaration).declaredElement2 as ClassElementImpl; element.mixinInferenceCallback = _callbackWhenRecursion; } } @@ -568,13 +569,13 @@ class _MixinsInference { void _inferDeclaration(AstNode node) { if (node is ClassDeclaration) { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; _infer(element, node.withClause); } else if (node is ClassTypeAlias) { - var element = node.declaredElement as ClassElementImpl; + var element = node.declaredElement2 as ClassElementImpl; _infer(element, node.withClause); } else if (node is EnumDeclaration) { - var element = node.declaredElement as EnumElementImpl; + var element = node.declaredElement2 as EnumElementImpl; _infer(element, node.withClause); } } @@ -586,10 +587,10 @@ class _MixinsInference { void _resetHierarchies(List declarations) { for (var declaration in declarations) { if (declaration is ClassDeclaration) { - var element = declaration.declaredElement as ClassElementImpl; + var element = declaration.declaredElement2 as ClassElementImpl; element.library.session.classHierarchy.remove(element); } else if (declaration is MixinDeclaration) { - var element = declaration.declaredElement as MixinElementImpl; + var element = declaration.declaredElement2 as MixinElementImpl; element.library.session.classHierarchy.remove(element); } } diff --git a/pkg/analyzer/lib/src/summary2/variance_builder.dart b/pkg/analyzer/lib/src/summary2/variance_builder.dart index fad5a0e9b73..d6cb860e592 100644 --- a/pkg/analyzer/lib/src/summary2/variance_builder.dart +++ b/pkg/analyzer/lib/src/summary2/variance_builder.dart @@ -164,7 +164,7 @@ class VarianceBuilder { try { for (var parameter in parameterList.typeParameters) { var variance = _computeFunctionType( - parameter.declaredElement!, + parameter.declaredElement2!, returnType: node.returnType?.type, typeFormals: null, parameters: FunctionTypeBuilder.getParameters( @@ -210,7 +210,7 @@ class VarianceBuilder { _visit.add(node); try { for (var parameter in parameterList.typeParameters) { - var variance = _compute(parameter.declaredElement!, type); + var variance = _compute(parameter.declaredElement2!, type); _setVariance(parameter, variance); } } finally { @@ -247,7 +247,7 @@ class VarianceBuilder { } static void _setVariance(TypeParameter node, Variance variance) { - var element = node.declaredElement as TypeParameterElementImpl; + var element = node.declaredElement2 as TypeParameterElementImpl; element.variance = variance; } } diff --git a/pkg/analyzer/lib/src/task/strong/checker.dart b/pkg/analyzer/lib/src/task/strong/checker.dart index a5dd06b27aa..d01f62f2625 100644 --- a/pkg/analyzer/lib/src/task/strong/checker.dart +++ b/pkg/analyzer/lib/src/task/strong/checker.dart @@ -203,7 +203,7 @@ class CodeChecker extends RecursiveAstVisitor { _visitForEachParts( node, node.loopVariable.name, - node.loopVariable.declaredElement, + node.loopVariable.declaredElement2, ); node.visitChildren(this); } @@ -564,7 +564,7 @@ class CodeChecker extends RecursiveAstVisitor { FunctionType functionType; var parent = body.parent; if (parent is Declaration) { - functionType = _elementType(parent.declaredElement!) as FunctionType; + functionType = _elementType(parent.declaredElement2!) as FunctionType; } else { assert(parent is FunctionExpression); functionType = (parent as FunctionExpression).staticType as FunctionType; diff --git a/pkg/analyzer/lib/src/test_utilities/find_element.dart b/pkg/analyzer/lib/src/test_utilities/find_element.dart index aa8aef93bd5..b959695d58d 100644 --- a/pkg/analyzer/lib/src/test_utilities/find_element.dart +++ b/pkg/analyzer/lib/src/test_utilities/find_element.dart @@ -104,7 +104,7 @@ class FindElement extends _FindElementBase { unit.accept(FunctionAstVisitor( functionDeclarationStatement: (node) { - var element = node.functionDeclaration.declaredElement; + var element = node.functionDeclaration.declaredElement2; if (element is FunctionElement && element.name == name) { if (result != null) { throw StateError('Not unique: $name'); @@ -137,10 +137,10 @@ class FindElement extends _FindElementBase { updateResult(node.declaredElement!); }, declaredIdentifier: (node) { - updateResult(node.declaredElement!); + updateResult(node.declaredElement2!); }, variableDeclaration: (node) { - updateResult(node.declaredElement!); + updateResult(node.declaredElement2!); }, )); diff --git a/pkg/analyzer/lib/src/util/ast_data_extractor.dart b/pkg/analyzer/lib/src/util/ast_data_extractor.dart index 199f082f1e5..46ac78ba450 100644 --- a/pkg/analyzer/lib/src/util/ast_data_extractor.dart +++ b/pkg/analyzer/lib/src/util/ast_data_extractor.dart @@ -95,7 +95,7 @@ abstract class AstDataExtractor extends GeneralizingAstVisitor T? computeNodeValue(Id id, AstNode node); Id createClassId(Declaration node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; return ClassId(element.name!); } @@ -109,7 +109,7 @@ abstract class AstDataExtractor extends GeneralizingAstVisitor } Id createMemberId(Declaration node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; return computeMemberId(element); } diff --git a/pkg/analyzer/test/generated/resolver_test_case.dart b/pkg/analyzer/test/generated/resolver_test_case.dart index 6205e1df14c..74459f0ca78 100644 --- a/pkg/analyzer/test/generated/resolver_test_case.dart +++ b/pkg/analyzer/test/generated/resolver_test_case.dart @@ -94,7 +94,7 @@ class ResolutionVerifier extends RecursiveAstVisitor { @override void visitFunctionDeclaration(FunctionDeclaration node) { node.visitChildren(this); - if (node.declaredElement is LibraryElement) { + if (node.declaredElement2 is LibraryElement) { _wrongTypedNodes.add(node); } } diff --git a/pkg/analyzer/test/generated/strong_mode_test.dart b/pkg/analyzer/test/generated/strong_mode_test.dart index 9d90aad3d1d..d9bf5531499 100644 --- a/pkg/analyzer/test/generated/strong_mode_test.dart +++ b/pkg/analyzer/test/generated/strong_mode_test.dart @@ -223,7 +223,7 @@ class StrongModeLocalInferenceTest extends PubPackageResolutionTest return exp; } - Element elementA = AstFinder.getClass(unit, "A").declaredElement!; + Element elementA = AstFinder.getClass(unit, "A").declaredElement2!; CascadeExpression cascade = fetch(0); _isInstantiationOf(_hasElement(elementA))([_isInt])(cascade.typeOrThrow); @@ -369,8 +369,8 @@ class StrongModeLocalInferenceTest extends PubPackageResolutionTest var body = constructor.body as BlockFunctionBody; var stmt = body.block.statements[0] as ReturnStatement; var exp = stmt.expression as InstanceCreationExpression; - ClassElement elementB = AstFinder.getClass(unit, "B").declaredElement!; - ClassElement elementA = AstFinder.getClass(unit, "A").declaredElement!; + ClassElement elementB = AstFinder.getClass(unit, "B").declaredElement2!; + ClassElement elementA = AstFinder.getClass(unit, "A").declaredElement2!; final type = exp.constructorName.type.typeOrThrow as InterfaceType; expect(type.element2, elementB); _isInstantiationOf(_hasElement(elementB))([ @@ -1118,7 +1118,7 @@ void test() { error(HintCode.UNUSED_LOCAL_VARIABLE, 347, 2), ]); - Element elementA = AstFinder.getClass(unit, "A").declaredElement!; + Element elementA = AstFinder.getClass(unit, "A").declaredElement2!; List statements = AstFinder.getStatementsInTopLevelFunction(unit, "test"); void check(int i) { @@ -1149,7 +1149,7 @@ void test() { ]); DartType cType = findElement.localVar('c').type; - Element elementC = AstFinder.getClass(unit, "C").declaredElement!; + Element elementC = AstFinder.getClass(unit, "C").declaredElement2!; _isInstantiationOf(_hasElement(elementC))([_isDynamic])(cType); } @@ -1426,7 +1426,7 @@ test() { as VariableDeclarationStatement) .variables .variables[0]; - _isDynamic(h.declaredElement!.type); + _isDynamic(h.declaredElement2!.type); var fCall = h.initializer as MethodInvocation; assertInvokeType(fCall, 'dynamic Function(dynamic Function(dynamic))'); var g = fCall.argumentList.arguments[0]; @@ -1480,9 +1480,9 @@ num test(Iterable values) => values.fold(values.first as num, max); VariableDeclaration mapB = AstFinder.getFieldInClass(unit, "B", "map"); MethodDeclaration mapC = AstFinder.getMethodInClass(unit, "C", "map"); - assertMapOfIntToListOfInt(mapB.declaredElement!.type as InterfaceType); + assertMapOfIntToListOfInt(mapB.declaredElement2!.type as InterfaceType); assertMapOfIntToListOfInt( - mapC.declaredElement!.returnType as InterfaceType); + mapC.declaredElement2!.returnType as InterfaceType); var mapLiteralB = mapB.initializer as SetOrMapLiteral; var mapLiteralC = @@ -1667,12 +1667,12 @@ num test(Iterable values) => values.fold(values.first as num, max); void hasType(Asserter assertion, Expression exp) => assertion(exp.typeOrThrow); - Element elementA = AstFinder.getClass(unit, "A").declaredElement!; - Element elementB = AstFinder.getClass(unit, "B").declaredElement!; - Element elementC = AstFinder.getClass(unit, "C").declaredElement!; - Element elementD = AstFinder.getClass(unit, "D").declaredElement!; - Element elementE = AstFinder.getClass(unit, "E").declaredElement!; - Element elementF = AstFinder.getClass(unit, "F").declaredElement!; + Element elementA = AstFinder.getClass(unit, "A").declaredElement2!; + Element elementB = AstFinder.getClass(unit, "B").declaredElement2!; + Element elementC = AstFinder.getClass(unit, "C").declaredElement2!; + Element elementD = AstFinder.getClass(unit, "D").declaredElement2!; + Element elementE = AstFinder.getClass(unit, "E").declaredElement2!; + Element elementF = AstFinder.getClass(unit, "F").declaredElement2!; AsserterBuilder>, DartType> assertAOf = _isInstantiationOf(_hasElement(elementA)); @@ -2178,7 +2178,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var body = test.functionExpression.body as ExpressionFunctionBody; DartType type = body.expression.typeOrThrow; - Element elementB = AstFinder.getClass(unit, "B").declaredElement!; + Element elementB = AstFinder.getClass(unit, "B").declaredElement2!; _isInstantiationOf(_hasElement(elementB))([_isNull])(type); } @@ -2200,7 +2200,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var body = test.functionExpression.body as ExpressionFunctionBody; DartType type = body.expression.typeOrThrow; - Element elementB = AstFinder.getClass(unit, "B").declaredElement!; + Element elementB = AstFinder.getClass(unit, "B").declaredElement2!; _isInstantiationOf(_hasElement(elementB))([_isNum])(type); } @@ -2225,7 +2225,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var body = test.functionExpression.body as ExpressionFunctionBody; DartType type = body.expression.typeOrThrow; - Element elementB = AstFinder.getClass(unit, "B").declaredElement!; + Element elementB = AstFinder.getClass(unit, "B").declaredElement2!; _isInstantiationOf(_hasElement(elementB))([_isNull])(type); } @@ -2248,7 +2248,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var body = test.functionExpression.body as ExpressionFunctionBody; DartType type = body.expression.typeOrThrow; - Element elementB = AstFinder.getClass(unit, "B").declaredElement!; + Element elementB = AstFinder.getClass(unit, "B").declaredElement2!; _isInstantiationOf(_hasElement(elementB))([_isInt])(type); } @@ -2274,7 +2274,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var functionType = body.expression.staticType as FunctionType; DartType type = functionType.normalParameterTypes[0]; - Element elementA = AstFinder.getClass(unit, "A").declaredElement!; + Element elementA = AstFinder.getClass(unit, "A").declaredElement2!; _isInstantiationOf(_hasElement(elementA))([_isObject, _isObject])(type); } @@ -2299,7 +2299,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var functionType = body.expression.staticType as FunctionType; DartType type = functionType.normalParameterTypes[0]; - Element elementA = AstFinder.getClass(unit, "A").declaredElement!; + Element elementA = AstFinder.getClass(unit, "A").declaredElement2!; _isInstantiationOf(_hasElement(elementA))([_isNum, _isNum])(type); } @@ -2325,7 +2325,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var functionType = body.expression.staticType as FunctionType; DartType type = functionType.normalParameterTypes[0]; - Element elementA = AstFinder.getClass(unit, "A").declaredElement!; + Element elementA = AstFinder.getClass(unit, "A").declaredElement2!; _isInstantiationOf(_hasElement(elementA))([_isNum, _isNum])(type); } @@ -2351,7 +2351,7 @@ num test(Iterable values) => values.fold(values.first as num, max); var functionType = body.expression.staticType as FunctionType; DartType type = functionType.normalParameterTypes[0]; - Element elementA = AstFinder.getClass(unit, "A").declaredElement!; + Element elementA = AstFinder.getClass(unit, "A").declaredElement2!; _isInstantiationOf(_hasElement(elementA))([_isNum, _isNum])(type); } diff --git a/pkg/analyzer/test/id_tests/inferred_variable_types_test.dart b/pkg/analyzer/test/id_tests/inferred_variable_types_test.dart index e4a4ed6074a..420800971fc 100644 --- a/pkg/analyzer/test/id_tests/inferred_variable_types_test.dart +++ b/pkg/analyzer/test/id_tests/inferred_variable_types_test.dart @@ -50,7 +50,7 @@ class _InferredVariableTypesDataExtractor extends AstDataExtractor { @override DartType? computeNodeValue(Id id, AstNode node) { if (node is VariableDeclaration) { - var element = node.declaredElement!; + var element = node.declaredElement2!; if (element.hasImplicitType) { return element.type; } @@ -60,7 +60,7 @@ class _InferredVariableTypesDataExtractor extends AstDataExtractor { return element.type; } } else if (node is FunctionDeclarationStatement) { - var element = node.functionDeclaration.declaredElement!; + var element = node.functionDeclaration.declaredElement2!; if (element.hasImplicitReturnType) { return element.returnType; } diff --git a/pkg/analyzer/test/id_tests/inheritance_test.dart b/pkg/analyzer/test/id_tests/inheritance_test.dart index 92de9e21631..ec2ed4b0478 100644 --- a/pkg/analyzer/test/id_tests/inheritance_test.dart +++ b/pkg/analyzer/test/id_tests/inheritance_test.dart @@ -90,7 +90,7 @@ class _InheritanceDataExtractor extends AstDataExtractor { void computeForClass(Declaration node, Id? id) { super.computeForClass(node, id); if (node is ClassDeclaration) { - var element = node.declaredElement!; + var element = node.declaredElement2!; void registerMember( MemberId id, int offset, Object object, DartType type) { @@ -135,7 +135,7 @@ class _InheritanceDataExtractor extends AstDataExtractor { @override String? computeNodeValue(Id id, AstNode node) { if (node is ClassDeclaration) { - var cls = node.declaredElement!; + var cls = node.declaredElement2!; var supertypes = []; supertypes.add(supertypeToString(cls.thisType)); for (var supertype in cls.allSupertypes) { 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 6ca2456b2fa..8886f27577c 100644 --- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart @@ -144,7 +144,7 @@ void topLevelFunction() {} var myDeclaration = result.unit.declarations[0] as TopLevelVariableDeclaration; var myVariable = myDeclaration.variables.variables[0]; - var myElement = myVariable.declaredElement as TopLevelVariableElement; + var myElement = myVariable.declaredElement2 as TopLevelVariableElement; void assertMyAnnotation(AnnotatedNode node) { Annotation annotation = node.metadata[0]; @@ -352,7 +352,7 @@ main() { var c = result.unit.declarations[0] as ClassDeclaration; var constructor = c.members[1] as ConstructorDeclaration; - ConstructorElement element = constructor.declaredElement!; + ConstructorElement element = constructor.declaredElement2!; var main = result.unit.declarations[1] as FunctionDeclaration; var statement = (main.functionExpression.body as BlockFunctionBody) @@ -362,7 +362,7 @@ main() { expect(annotation.element, same(element)); var identifier_1 = annotation.name as SimpleIdentifier; - expect(identifier_1.staticElement, same(c.declaredElement)); + expect(identifier_1.staticElement, same(c.declaredElement2)); } test_annotation_onVariableList_topLevelVariable() async { @@ -383,7 +383,7 @@ class C { var myDeclaration = result.unit.declarations[0] as TopLevelVariableDeclaration; VariableDeclaration myVariable = myDeclaration.variables.variables[0]; - var myElement = myVariable.declaredElement as TopLevelVariableElement; + var myElement = myVariable.declaredElement2 as TopLevelVariableElement; var classNode = result.unit.declarations[1] as ClassDeclaration; var node = classNode.members[0] as MethodDeclaration; @@ -661,9 +661,9 @@ class D { f() {} '''); await resolveTestFile(); - var elementC = AstFinder.getClass(result.unit, 'C').declaredElement!; + var elementC = AstFinder.getClass(result.unit, 'C').declaredElement2!; var constructorC = elementC.constructors[0]; - var elementD = AstFinder.getClass(result.unit, 'D').declaredElement!; + var elementD = AstFinder.getClass(result.unit, 'D').declaredElement2!; var constructorD = elementD.constructors[0]; var atD = AstFinder.getTopLevelFunction(result.unit, 'f').metadata[0]; var constC = atD.arguments!.arguments[0] as InstanceCreationExpression; @@ -695,12 +695,12 @@ void main() { var declaration_1 = result.unit.declarations[0] as TopLevelVariableDeclaration; VariableDeclaration variable_1 = declaration_1.variables.variables[0]; - var element_1 = variable_1.declaredElement as TopLevelVariableElement; + var element_1 = variable_1.declaredElement2 as TopLevelVariableElement; var declaration_2 = result.unit.declarations[1] as TopLevelVariableDeclaration; VariableDeclaration variable_2 = declaration_2.variables.variables[0]; - var element_2 = variable_2.declaredElement as TopLevelVariableElement; + var element_2 = variable_2.declaredElement2 as TopLevelVariableElement; var main = result.unit.declarations[2] as FunctionDeclaration; @@ -733,7 +733,7 @@ void main() { VariableElement vElement; { var statement = statements[0] as VariableDeclarationStatement; - vElement = statement.variables.variables[0].declaredElement!; + vElement = statement.variables.variables[0].declaredElement2!; expect(vElement.type, typeProvider.numType); } @@ -780,7 +780,7 @@ main() { var statement = mainStatements[0] as VariableDeclarationStatement; VariableDeclaration vNode = statement.variables.variables[0]; - VariableElement vElement = vNode.declaredElement!; + VariableElement vElement = vNode.declaredElement2!; expect(vElement.type, typeProvider.intType); var value = vNode.initializer as BinaryExpression; @@ -956,12 +956,12 @@ main() { await resolveTestFile(); var mainDeclaration = result.unit.declarations[0] as FunctionDeclaration; - var mainElement = mainDeclaration.declaredElement as FunctionElement; + var mainElement = mainDeclaration.declaredElement2 as FunctionElement; var mainBody = mainDeclaration.functionExpression.body as BlockFunctionBody; List mainStatements = mainBody.block.statements; var itemsStatement = mainStatements[0] as VariableDeclarationStatement; - var itemsElement = itemsStatement.variables.variables[0].declaredElement!; + var itemsElement = itemsStatement.variables.variables[0].declaredElement2!; // First closure. ParameterElement itemElement1; @@ -1163,7 +1163,7 @@ class C { var cNode = result.unit.declarations[0] as ClassDeclaration; var constructorNode = cNode.members[0] as ConstructorDeclaration; - ParameterElement pElement = constructorNode.declaredElement!.parameters[0]; + ParameterElement pElement = constructorNode.declaredElement2!.parameters[0]; var constructorBody = constructorNode.body as BlockFunctionBody; var pStatement = constructorBody.block.statements[0] as ExpressionStatement; @@ -1185,12 +1185,12 @@ class C { await resolveTestFile(); var cNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; FieldElement fElement = cElement.getField('f')!; var constructorNode = cNode.members[1] as ConstructorDeclaration; ParameterElement pParameterElement = - constructorNode.declaredElement!.parameters[0]; + constructorNode.declaredElement2!.parameters[0]; { var initializer = @@ -1216,7 +1216,7 @@ class B extends A { await resolveTestFile(); var aNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement aElement = aNode.declaredElement!; + ClassElement aElement = aNode.declaredElement2!; var bNode = result.unit.declarations[1] as ClassDeclaration; @@ -1258,7 +1258,7 @@ class C { await resolveTestFile(); var cNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; { var unnamedConstructor = cElement.constructors[0]; @@ -1309,7 +1309,7 @@ class B { expect(result.errors, isEmpty); var aNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement aElement = aNode.declaredElement!; + ClassElement aElement = aNode.declaredElement2!; var bNode = result.unit.declarations[1] as ClassDeclaration; @@ -1317,7 +1317,7 @@ class B { ConstructorElement aUnnamed = aElement.constructors[0]; var constructor = bNode.members[0] as ConstructorDeclaration; - ConstructorElement element = constructor.declaredElement!; + ConstructorElement element = constructor.declaredElement2!; expect(element.redirectedConstructor, same(aUnnamed)); var constructorName = constructor.redirectedConstructor!; @@ -1337,7 +1337,7 @@ class B { ConstructorElement aNamed = aElement.constructors[1]; var constructor = bNode.members[1] as ConstructorDeclaration; - ConstructorElement element = constructor.declaredElement!; + ConstructorElement element = constructor.declaredElement2!; expect(element.redirectedConstructor, same(aNamed)); var constructorName = constructor.redirectedConstructor!; @@ -1370,11 +1370,11 @@ class B { expect(result.errors, isEmpty); var aNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement aElement = aNode.declaredElement!; + ClassElement aElement = aNode.declaredElement2!; var bNode = result.unit.declarations[1] as ClassDeclaration; TypeParameterType uType = - typeParameterTypeNone(bNode.declaredElement!.typeParameters[0]); + typeParameterTypeNone(bNode.declaredElement2!.typeParameters[0]); InterfaceType auType = aElement.instantiate( typeArguments: [uType], nullabilitySuffix: NullabilitySuffix.none, @@ -1384,7 +1384,7 @@ class B { ConstructorElement expectedElement = aElement.constructors[0]; var constructor = bNode.members[0] as ConstructorDeclaration; - ConstructorElement element = constructor.declaredElement!; + ConstructorElement element = constructor.declaredElement2!; var actualMember = element.redirectedConstructor!; assertMember(actualMember, expectedElement, {'T': 'U'}); @@ -1406,7 +1406,7 @@ class B { ConstructorElement expectedElement = aElement.constructors[1]; var constructor = bNode.members[1] as ConstructorDeclaration; - ConstructorElement element = constructor.declaredElement!; + ConstructorElement element = constructor.declaredElement2!; var actualMember = element.redirectedConstructor!; assertMember(actualMember, expectedElement, {'T': 'U'}); @@ -1732,7 +1732,7 @@ main() { // ignore: deprecated_member_use_from_same_package expect(vNode.name.staticType, isNull); // ignore: deprecated_member_use_from_same_package - expect(vNode.declaredElement!.type, isDynamicType); + expect(vNode.declaredElement2!.type, isDynamicType); } test_field_context() async { @@ -1744,11 +1744,11 @@ class C { await resolveTestFile(); var cNode = result.unit.declarations[0] as ClassDeclaration; - var tElement = cNode.declaredElement!.typeParameters[0]; + var tElement = cNode.declaredElement2!.typeParameters[0]; var fDeclaration = cNode.members[0] as FieldDeclaration; VariableDeclaration fNode = fDeclaration.fields.variables[0]; - var fElement = fNode.declaredElement as FieldElement; + var fElement = fNode.declaredElement2 as FieldElement; expect( fElement.type, typeProvider.listType(typeParameterTypeNone(tElement))); } @@ -1790,7 +1790,8 @@ class A { List parameters = constructor.parameters.parameters; var p = parameters[0] as FunctionTypedFormalParameter; - expect(p.declaredElement, same(constructor.declaredElement!.parameters[0])); + expect( + p.declaredElement, same(constructor.declaredElement2!.parameters[0])); { var type = (p.declaredElement as ParameterElement).type as FunctionType; @@ -1822,11 +1823,11 @@ class A { var fDeclaration = clazz.members[0] as FieldDeclaration; VariableDeclaration fNode = fDeclaration.fields.variables[0]; - var fElement = fNode.declaredElement as FieldElement; + var fElement = fNode.declaredElement2 as FieldElement; var constructor = clazz.members[1] as ConstructorDeclaration; - var pElement = constructor.declaredElement!.parameters[0] + var pElement = constructor.declaredElement2!.parameters[0] as FieldFormalParameterElement; expect(pElement.field, same(fElement)); @@ -1855,12 +1856,12 @@ class A { var fDeclaration = clazz.members[0] as FieldDeclaration; VariableDeclaration fNode = fDeclaration.fields.variables[0]; - var fElement = fNode.declaredElement as FieldElement; + var fElement = fNode.declaredElement2 as FieldElement; var constructor = clazz.members[1] as ConstructorDeclaration; List parameters = constructor.parameters.parameters; - var parameterElement = constructor.declaredElement!.parameters[0] + var parameterElement = constructor.declaredElement2!.parameters[0] as FieldFormalParameterElement; expect(parameterElement.field, same(fElement)); @@ -1882,12 +1883,12 @@ class A { var fDeclaration = clazz.members[0] as FieldDeclaration; VariableDeclaration fNode = fDeclaration.fields.variables[0]; - var fElement = fNode.declaredElement as FieldElement; + var fElement = fNode.declaredElement2 as FieldElement; var constructor = clazz.members[1] as ConstructorDeclaration; List parameters = constructor.parameters.parameters; - var parameterElement = constructor.declaredElement!.parameters[0] + var parameterElement = constructor.declaredElement2!.parameters[0] as FieldFormalParameterElement; expect(parameterElement.field, same(fElement)); @@ -1909,7 +1910,7 @@ main(B b) { await resolveTestFile(); // var aNode = result.unit!.declarations[0] as ClassDeclaration; -// ClassElement eElement = aNode.declaredElement!; +// ClassElement eElement = aNode.declaredElement2!; // MethodElement mElement = eElement.getMethod('m'); List mainStatements = _getMainStatements(result); @@ -2009,7 +2010,7 @@ main() { { var statement = mainStatements[0] as VariableDeclarationStatement; VariableDeclaration itemsNode = statement.variables.variables[0]; - itemsElement = itemsNode.declaredElement!; + itemsElement = itemsNode.declaredElement2!; expect(itemsElement.type, listIntType); } @@ -2040,7 +2041,7 @@ var b = new C.named(); CompilationUnit unit = result.unit; var cNode = unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; ConstructorElement defaultConstructor = cElement.constructors[0]; ConstructorElement namedConstructor = cElement.constructors[1]; @@ -2093,7 +2094,7 @@ var v = new X(1, b: true, c: 3.0); CompilationUnit unit = result.unit; var xNode = unit.declarations[0] as ClassDeclaration; - ClassElement xElement = xNode.declaredElement!; + ClassElement xElement = xNode.declaredElement2!; ConstructorElement constructorElement = xElement.constructors[0]; var vDeclaration = unit.declarations[1] as TopLevelVariableDeclaration; @@ -2134,7 +2135,7 @@ var b = new C.named(2); CompilationUnit unit = result.unit; var cNode = unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; ConstructorElement defaultConstructor = cElement.constructors[0]; ConstructorElement namedConstructor = cElement.constructors[1]; @@ -3766,7 +3767,7 @@ main() { expect(result.errors, isNotEmpty); var tRef = findNode.simple('T.U v;'); - var tElement = findNode.typeParameter('T>()').declaredElement!; + var tElement = findNode.typeParameter('T>()').declaredElement2!; assertElement(tRef, tElement); assertTypeDynamic(tRef); } @@ -3957,7 +3958,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; FunctionExpression fExpression = fNode.functionExpression; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; expect(fElement, isNotNull); assertType(fElement.type, fTypeString); @@ -3994,7 +3995,7 @@ void main() { var vStatement = mainStatements[1] as VariableDeclarationStatement; VariableDeclaration vDeclaration = vStatement.variables.variables[0]; - expect(vDeclaration.declaredElement!.type, doubleType); + expect(vDeclaration.declaredElement2!.type, doubleType); var fInvocation = vDeclaration.initializer as MethodInvocation; expect(fInvocation.methodName.staticElement, same(fElement)); @@ -4035,7 +4036,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; FunctionExpression fExpression = fNode.functionExpression; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; TypeParameterElement tElement = fElement.typeParameters[0]; TypeParameterElement uElement = fElement.typeParameters[1]; @@ -4045,14 +4046,14 @@ void main() { expect(fTypeParameters, hasLength(2)); TypeParameter tNode = fTypeParameters[0]; - expect(tNode.declaredElement, same(tElement)); + expect(tNode.declaredElement2, same(tElement)); // ignore: deprecated_member_use_from_same_package expect(tNode.name.staticElement, same(tElement)); // ignore: deprecated_member_use_from_same_package expect(tNode.name.staticType, typeProvider.typeType); TypeParameter uNode = fTypeParameters[1]; - expect(uNode.declaredElement, same(uElement)); + expect(uNode.declaredElement2, same(uElement)); // ignore: deprecated_member_use_from_same_package expect(uNode.name.staticElement, same(uElement)); // ignore: deprecated_member_use_from_same_package @@ -4103,7 +4104,7 @@ void main() { var vStatement = mainStatements[1] as VariableDeclarationStatement; VariableDeclaration vDeclaration = vStatement.variables.variables[0]; - expect(vDeclaration.declaredElement!.type, typeProvider.intType); + expect(vDeclaration.declaredElement2!.type, typeProvider.intType); var fInvocation = vDeclaration.initializer as MethodInvocation; expect(fInvocation.methodName.staticElement, same(fElement)); @@ -4124,7 +4125,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; assertType( fElement.type, 'void Function(T, U, V)'); @@ -4146,7 +4147,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; assertType(fElement.type, 'void Function({T x})'); var tElement = fElement.typeParameters[0]; @@ -4166,7 +4167,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; assertType(fElement.type, 'void Function([T])'); var tElement = fElement.typeParameters[0]; @@ -4192,7 +4193,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; FunctionExpression fExpression = fNode.functionExpression; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; expect(fElement, isNotNull); assertType(fElement.type, fTypeString); @@ -4257,7 +4258,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; FunctionExpression fExpression = fNode.functionExpression; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; expect(fNode.returnType, isNull); expect(fElement, isNotNull); @@ -4288,7 +4289,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; FunctionExpression fExpression = fNode.functionExpression; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; expect(fElement, isNotNull); assertType(fElement.type, fTypeString); @@ -4332,7 +4333,7 @@ void main() { { var statement = mainStatements[1] as VariableDeclarationStatement; VariableDeclaration declaration = statement.variables.variables[0]; - expect(declaration.declaredElement!.type, doubleType); + expect(declaration.declaredElement2!.type, doubleType); var invocation = declaration.initializer as MethodInvocation; expect(invocation.methodName.staticElement, same(fElement)); @@ -4385,7 +4386,7 @@ void main(List p) { List statements = _getMainStatements(result); // (int p) - VariableElement pElement = main.declaredElement!.parameters[0]; + VariableElement pElement = main.declaredElement2!.parameters[0]; expect(pElement.type, listNone(typeProvider.stringType)); // p; @@ -4416,7 +4417,7 @@ void main() { var fStatement = mainStatements[0] as FunctionDeclarationStatement; FunctionDeclaration fNode = fStatement.functionDeclaration; FunctionExpression fExpression = fNode.functionExpression; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; ParameterElement aElement = fElement.parameters[0]; _assertSimpleParameter( fExpression.parameters!.parameters[0] as SimpleFormalParameter, @@ -4439,7 +4440,7 @@ void main() { var gStatement = fStatements[1] as FunctionDeclarationStatement; FunctionDeclaration gNode = gStatement.functionDeclaration; FunctionExpression gExpression = gNode.functionExpression; - var gElement = gNode.declaredElement as FunctionElement; + var gElement = gNode.declaredElement2 as FunctionElement; ParameterElement bElement = gElement.parameters[0]; _assertSimpleParameter( gExpression.parameters!.parameters[0] as SimpleFormalParameter, @@ -4472,7 +4473,7 @@ void main() { var mainStatements = _getMainStatements(result); var fDeclaration = mainStatements[0] as FunctionDeclarationStatement; - var fElement = fDeclaration.functionDeclaration.declaredElement!; + var fElement = fDeclaration.functionDeclaration.declaredElement2!; var tElement = fElement.typeParameters[0]; var body = fDeclaration.functionDeclaration.functionExpression.body as BlockFunctionBody; @@ -4495,7 +4496,7 @@ void main() { var mainStatements = _getMainStatements(result); var fDeclaration = mainStatements[0] as FunctionDeclarationStatement; - var fElement = fDeclaration.functionDeclaration.declaredElement!; + var fElement = fDeclaration.functionDeclaration.declaredElement2!; var tElement = fElement.typeParameters[0]; var body = fDeclaration.functionDeclaration.functionExpression.body as BlockFunctionBody; @@ -4527,7 +4528,7 @@ void main() { var mainStatements = _getMainStatements(result); var fDeclaration = mainStatements[0] as FunctionDeclarationStatement; - var fElement = fDeclaration.functionDeclaration.declaredElement!; + var fElement = fDeclaration.functionDeclaration.declaredElement2!; var tElement = fElement.typeParameters[0]; var body = fDeclaration.functionDeclaration.functionExpression.body as BlockFunctionBody; @@ -4558,7 +4559,7 @@ void main() { var mainStatements = _getMainStatements(result); var fDeclaration = mainStatements[0] as FunctionDeclarationStatement; - var fElement = fDeclaration.functionDeclaration.declaredElement!; + var fElement = fDeclaration.functionDeclaration.declaredElement2!; var tElement = fElement.typeParameters[0]; var body = fDeclaration.functionDeclaration.functionExpression.body as BlockFunctionBody; @@ -4590,7 +4591,7 @@ void main() { var mainStatements = _getMainStatements(result); var fDeclaration = mainStatements[0] as FunctionDeclarationStatement; - var fElement = fDeclaration.functionDeclaration.declaredElement!; + var fElement = fDeclaration.functionDeclaration.declaredElement2!; var tElement = fElement.typeParameters[0]; var body = fDeclaration.functionDeclaration.functionExpression.body as BlockFunctionBody; @@ -4618,7 +4619,7 @@ void main() { var mainStatements = _getMainStatements(result); var fDeclaration = mainStatements[0] as FunctionDeclarationStatement; - var fElement = fDeclaration.functionDeclaration.declaredElement!; + var fElement = fDeclaration.functionDeclaration.declaredElement2!; var tElement = fElement.typeParameters[0]; var body = fDeclaration.functionDeclaration.functionExpression.body as BlockFunctionBody; @@ -4646,7 +4647,7 @@ void main() { var mainStatements = _getMainStatements(result); var fDeclaration = mainStatements[0] as FunctionDeclarationStatement; - var fElement = fDeclaration.functionDeclaration.declaredElement!; + var fElement = fDeclaration.functionDeclaration.declaredElement2!; var tElement = fElement.typeParameters[0]; var body = fDeclaration.functionDeclaration.functionExpression.body as BlockFunctionBody; @@ -4669,7 +4670,7 @@ void main() { '''); await resolveTestFile(); - var tElement = findNode.typeParameter('T>(T x)').declaredElement!; + var tElement = findNode.typeParameter('T>(T x)').declaredElement2!; var gType = findNode.namedType('Consumer'); var gTypeType = gType.type as FunctionType; @@ -4696,7 +4697,7 @@ void main() { '''); await resolveTestFile(); - var tElement = findNode.typeParameter('T>(T x)').declaredElement!; + var tElement = findNode.typeParameter('T>(T x)').declaredElement2!; var gType = findNode.namedType('Consumer'); var gTypeType = gType.type as FunctionType; @@ -4723,7 +4724,7 @@ void main() { '''); await resolveTestFile(); - var tElement = findNode.typeParameter('T>(T x)').declaredElement!; + var tElement = findNode.typeParameter('T>(T x)').declaredElement2!; var gType = findNode.namedType('Consumer'); var gTypeType = gType.type as FunctionType; @@ -4750,7 +4751,7 @@ void main() { '''); await resolveTestFile(); - var tElement = findNode.typeParameter('T>(T x)').declaredElement!; + var tElement = findNode.typeParameter('T>(T x)').declaredElement2!; var gType = findNode.namedType('Producer'); var gTypeType = gType.type as FunctionType; @@ -4775,7 +4776,7 @@ void main() { InterfaceType intType = typeProvider.intType; var main = result.unit.declarations[0] as FunctionDeclaration; - expect(main.declaredElement, isNotNull); + expect(main.declaredElement2, isNotNull); // ignore: deprecated_member_use_from_same_package expect(main.name.staticElement, isNotNull); @@ -4794,7 +4795,7 @@ void main() { expect(vNode.name.staticType, isNull); expect(vNode.initializer!.staticType, intType); - vElement = vNode.declaredElement!; + vElement = vNode.declaredElement2!; expect(vElement, isNotNull); expect(vElement.type, isNotNull); expect(vElement.type, intType); @@ -4827,7 +4828,7 @@ class C { var vDeclaration = cDeclaration.members[0] as FieldDeclaration; VariableDeclaration vNode = vDeclaration.fields.variables[0]; - var vElement = vNode.declaredElement as FieldElement; + var vElement = vNode.declaredElement2 as FieldElement; expect(vElement.type, typeProvider.numType); var fooDeclaration = cDeclaration.members[1] as MethodDeclaration; @@ -4864,7 +4865,7 @@ void main() { var vStatement = statements[0] as VariableDeclarationStatement; VariableDeclaration vNode = vStatement.variables.variables[0]; - var vElement = vNode.declaredElement as LocalVariableElement; + var vElement = vNode.declaredElement2 as LocalVariableElement; expect(vElement.type, typeProvider.numType); var forEachStatement = statements[1] as ForStatement; @@ -4898,7 +4899,7 @@ num v; var vDeclaration = unit.declarations[1] as TopLevelVariableDeclaration; VariableDeclaration vNode = vDeclaration.variables.variables[0]; - var vElement = vNode.declaredElement as TopLevelVariableElement; + var vElement = vNode.declaredElement2 as TopLevelVariableElement; expect(vElement.type, typeProvider.numType); var forEachStatement = statements[0] as ForStatement; @@ -4934,7 +4935,7 @@ void main() { forEachStatement.forLoopParts as ForEachPartsWithDeclaration; DeclaredIdentifier vNode = forEachParts.loopVariable; - LocalVariableElement vElement = vNode.declaredElement!; + LocalVariableElement vElement = vNode.declaredElement2!; expect(vElement.type, typeProvider.intType); // ignore: deprecated_member_use_from_same_package @@ -4966,7 +4967,7 @@ void main() { forEachStatement.forLoopParts as ForEachPartsWithDeclaration; DeclaredIdentifier vNode = forEachParts.loopVariable; - LocalVariableElement vElement = vNode.declaredElement!; + LocalVariableElement vElement = vNode.declaredElement2!; expect(vElement.type, typeProvider.numType); var vNamedType = vNode.type as NamedType; @@ -5000,11 +5001,11 @@ void main() { var declarationStatement = statements[0] as VariableDeclarationStatement; VariableDeclaration aNode = declarationStatement.variables.variables[0]; - var aElement = aNode.declaredElement as LocalVariableElement; + var aElement = aNode.declaredElement2 as LocalVariableElement; expect(aElement.type, typeProvider.intType); VariableDeclaration bNode = declarationStatement.variables.variables[1]; - var bElement = bNode.declaredElement as LocalVariableElement; + var bElement = bNode.declaredElement2 as LocalVariableElement; expect(bElement.type, typeProvider.doubleType); } @@ -5035,7 +5036,7 @@ void main() { // int a; var aDeclaration = fStatements[0] as VariableDeclarationStatement; VariableElement aElement = - aDeclaration.variables.variables[0].declaredElement!; + aDeclaration.variables.variables[0].declaredElement2!; // a; { @@ -5054,7 +5055,7 @@ void main() { // double b; var bDeclaration = gStatements[0] as VariableDeclarationStatement; VariableElement bElement = - bDeclaration.variables.variables[0].declaredElement!; + bDeclaration.variables.variables[0].declaredElement2!; // a; { @@ -5138,7 +5139,7 @@ void g(C c) { await resolveTestFile(); var classDeclaration = result.unit.declarations[0] as ClassDeclaration; var methodDeclaration = classDeclaration.members[0] as MethodDeclaration; - var methodElement = methodDeclaration.declaredElement as MethodElement; + var methodElement = methodDeclaration.declaredElement2 as MethodElement; InterfaceType doubleType = typeProvider.doubleType; @@ -5207,7 +5208,7 @@ main() { expect(result.errors, isEmpty); var cNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; MethodElement callElement = cElement.methods[0]; List statements = _getMainStatements(result); @@ -5233,7 +5234,7 @@ f(double computation(int p)) { expect(result.errors, isEmpty); var main = result.unit.declarations[0] as FunctionDeclaration; - var mainElement = main.declaredElement as FunctionElement; + var mainElement = main.declaredElement2 as FunctionElement; ParameterElement parameter = mainElement.parameters[0]; var mainBody = main.functionExpression.body as BlockFunctionBody; @@ -5271,7 +5272,7 @@ main(B b) { var aNode = result.unit.declarations[0] as ClassDeclaration; var fooNode = aNode.members[0] as MethodDeclaration; - var fooElement = fooNode.declaredElement as MethodElement; + var fooElement = fooNode.declaredElement2 as MethodElement; List mainStatements = _getMainStatements(result); var statement = mainStatements[0] as ExpressionStatement; @@ -5355,7 +5356,7 @@ void foo(int a, {bool b, double c}) {} List mainStatements = _getMainStatements(result); var foo = result.unit.declarations[1] as FunctionDeclaration; - ExecutableElement fooElement = foo.declaredElement!; + ExecutableElement fooElement = foo.declaredElement2!; var statement = mainStatements[0] as ExpressionStatement; var invocation = statement.expression as MethodInvocation; @@ -5502,9 +5503,9 @@ class C { List mainStatements = _getMainStatements(result); var cNode = result.unit.declarations[1] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; var mNode = cNode.members[0] as MethodDeclaration; - var mElement = mNode.declaredElement as MethodElement; + var mElement = mNode.declaredElement2 as MethodElement; { var statement = mainStatements[0] as ExpressionStatement; @@ -5559,7 +5560,7 @@ class C { await resolveTestFile(); var cNode = result.unit.declarations[0] as ClassDeclaration; - TypeParameterElement tElement = cNode.declaredElement!.typeParameters[0]; + TypeParameterElement tElement = cNode.declaredElement2!.typeParameters[0]; var barNode = cNode.members[1] as MethodDeclaration; var barBody = barNode.body as BlockFunctionBody; @@ -5586,7 +5587,7 @@ double f(int a, String b) {} InterfaceType doubleType = typeProvider.doubleType; var fNode = result.unit.declarations[1] as FunctionDeclaration; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; var statement = mainStatements[0] as ExpressionStatement; var invocation = statement.expression as MethodInvocation; @@ -5615,7 +5616,7 @@ void f(T a, U b) {} List mainStatements = _getMainStatements(result); var fNode = result.unit.declarations[1] as FunctionDeclaration; - var fElement = fNode.declaredElement as FunctionElement; + var fElement = fNode.declaredElement2 as FunctionElement; // f(true, 'str'); { @@ -6039,7 +6040,7 @@ main() { VariableElement v; { var statement = mainStatements[0] as VariableDeclarationStatement; - v = statement.variables.variables[0].declaredElement!; + v = statement.variables.variables[0].declaredElement2!; expect(v.type, typeProvider.intType); } @@ -6141,12 +6142,12 @@ class C { List statements = _getMainStatements(result); var cDeclaration = result.unit.declarations[1] as ClassDeclaration; - ClassElement cElement = cDeclaration.declaredElement!; + ClassElement cElement = cDeclaration.declaredElement2!; FieldElement fElement = cElement.fields[0]; var cStatement = statements[0] as VariableDeclarationStatement; VariableElement vElement = - cStatement.variables.variables[0].declaredElement!; + cStatement.variables.variables[0].declaredElement2!; var statement = statements[1] as ExpressionStatement; var prefixed = statement.expression as PrefixedIdentifier; @@ -6176,7 +6177,7 @@ class C { List statements = _getMainStatements(result); var cDeclaration = result.unit.declarations[1] as ClassDeclaration; - ClassElement cElement = cDeclaration.declaredElement!; + ClassElement cElement = cDeclaration.declaredElement2!; FieldElement fElement = cElement.fields[0]; var statement = statements[0] as ExpressionStatement; @@ -6201,7 +6202,7 @@ f(double computation(int p)) { expect(result.errors, isEmpty); var main = result.unit.declarations[0] as FunctionDeclaration; - var mainElement = main.declaredElement as FunctionElement; + var mainElement = main.declaredElement2 as FunctionElement; ParameterElement parameter = mainElement.parameters[0]; var mainBody = main.functionExpression.body as BlockFunctionBody; @@ -6326,7 +6327,7 @@ main() { VariableElement v; { var statement = mainStatements[0] as VariableDeclarationStatement; - v = statement.variables.variables[0].declaredElement!; + v = statement.variables.variables[0].declaredElement2!; expect(v.type, typeProvider.intType); } @@ -6372,7 +6373,7 @@ main() { VariableElement v; { var statement = mainStatements[0] as VariableDeclarationStatement; - v = statement.variables.variables[0].declaredElement!; + v = statement.variables.variables[0].declaredElement2!; expect(v.type, typeProvider.boolType); } @@ -6406,7 +6407,7 @@ class C { CompilationUnit unit = result.unit; var cClassDeclaration = unit.declarations[1] as ClassDeclaration; - ClassElement cClassElement = cClassDeclaration.declaredElement!; + ClassElement cClassElement = cClassDeclaration.declaredElement2!; FieldElement fElement = cClassElement.getField('f')!; List mainStatements = _getMainStatements(result); @@ -6458,7 +6459,7 @@ class C { CompilationUnit unit = result.unit; var cClassDeclaration = unit.declarations[1] as ClassDeclaration; - ClassElement cClassElement = cClassDeclaration.declaredElement!; + ClassElement cClassElement = cClassDeclaration.declaredElement2!; FieldElement fElement = cClassElement.getField('f')!; List mainStatements = _getMainStatements(result); @@ -6495,7 +6496,7 @@ class C { CompilationUnit unit = result.unit; var cClassDeclaration = unit.declarations[1] as ClassDeclaration; - ClassElement cClassElement = cClassDeclaration.declaredElement!; + ClassElement cClassElement = cClassDeclaration.declaredElement2!; FieldElement fElement = cClassElement.getField('f')!; List mainStatements = _getMainStatements(result); @@ -6560,7 +6561,7 @@ void main() { '''); var main = result.unit.declarations[0] as FunctionDeclaration; - expect(main.declaredElement, isNotNull); + expect(main.declaredElement2, isNotNull); // ignore: deprecated_member_use_from_same_package expect(main.name.staticElement, isNotNull); @@ -6574,7 +6575,7 @@ void main() { VariableElement vElement; { var statement = statements[0] as VariableDeclarationStatement; - vElement = statement.variables.variables[0].declaredElement!; + vElement = statement.variables.variables[0].declaredElement2!; } { @@ -6648,10 +6649,10 @@ class B extends A { var aNode = result.unit.declarations[0] as ClassDeclaration; var bNode = result.unit.declarations[1] as ClassDeclaration; - var methodElement = aNode.members[0].declaredElement as MethodElement; + var methodElement = aNode.members[0].declaredElement2 as MethodElement; var getterElement = - aNode.members[1].declaredElement as PropertyAccessorElement; - var operatorElement = aNode.members[3].declaredElement as MethodElement; + aNode.members[1].declaredElement2 as PropertyAccessorElement; + var operatorElement = aNode.members[3].declaredElement2 as MethodElement; var testNode = bNode.members[0] as MethodDeclaration; var testBody = testNode.body as BlockFunctionBody; @@ -6674,7 +6675,7 @@ class B extends A { var target = invocation.target as SuperExpression; expect( - target.staticType, interfaceTypeNone(bNode.declaredElement!)); // raw + target.staticType, interfaceTypeNone(bNode.declaredElement2!)); // raw expect(invocation.methodName.staticElement, same(methodElement)); } @@ -6696,7 +6697,7 @@ class B extends A { var target = propertyAccess.target as SuperExpression; expect( - target.staticType, interfaceTypeNone(bNode.declaredElement!)); // raw + target.staticType, interfaceTypeNone(bNode.declaredElement2!)); // raw expect(propertyAccess.propertyName.staticElement, same(getterElement)); expect(propertyAccess.propertyName.staticType, typeProvider.intType); @@ -6720,7 +6721,7 @@ class B extends A { var target = propertyAccess.target as SuperExpression; expect( - target.staticType, interfaceTypeNone(bNode.declaredElement!)); // raw + target.staticType, interfaceTypeNone(bNode.declaredElement2!)); // raw assertUnresolvedSimpleIdentifier(propertyAccess.propertyName); } @@ -6732,7 +6733,7 @@ class B extends A { var target = binary.leftOperand as ThisExpression; expect( - target.staticType, interfaceTypeNone(bNode.declaredElement!)); // raw + target.staticType, interfaceTypeNone(bNode.declaredElement2!)); // raw expect(binary.staticElement, same(operatorElement)); expect(binary.staticType, typeProvider.intType); @@ -6762,10 +6763,10 @@ class A { var aNode = result.unit.declarations[0] as ClassDeclaration; - var methodElement = aNode.members[0].declaredElement as MethodElement; + var methodElement = aNode.members[0].declaredElement2 as MethodElement; var getterElement = - aNode.members[1].declaredElement as PropertyAccessorElement; - var operatorElement = aNode.members[3].declaredElement as MethodElement; + aNode.members[1].declaredElement2 as PropertyAccessorElement; + var operatorElement = aNode.members[3].declaredElement2 as MethodElement; var testNode = aNode.members[4] as MethodDeclaration; var testBody = testNode.body as BlockFunctionBody; @@ -6863,7 +6864,7 @@ class C { await resolveTestFile(); var cNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; var constructorNode = cNode.members[1] as ConstructorDeclaration; @@ -6908,16 +6909,16 @@ class D extends A with B implements C {} await resolveTestFile(); var aNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement aElement = aNode.declaredElement!; + ClassElement aElement = aNode.declaredElement2!; var bNode = result.unit.declarations[1] as ClassDeclaration; - ClassElement bElement = bNode.declaredElement!; + ClassElement bElement = bNode.declaredElement2!; var cNode = result.unit.declarations[2] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; var dNode = result.unit.declarations[3] as ClassDeclaration; - Element dElement = dNode.declaredElement!; + Element dElement = dNode.declaredElement2!; // ignore: deprecated_member_use_from_same_package SimpleIdentifier dName = dNode.name; @@ -6978,16 +6979,16 @@ class D = A with B implements C; await resolveTestFile(); var aNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement aElement = aNode.declaredElement!; + ClassElement aElement = aNode.declaredElement2!; var bNode = result.unit.declarations[1] as ClassDeclaration; - ClassElement bElement = bNode.declaredElement!; + ClassElement bElement = bNode.declaredElement2!; var cNode = result.unit.declarations[2] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; var dNode = result.unit.declarations[3] as ClassTypeAlias; - Element dElement = dNode.declaredElement!; + Element dElement = dNode.declaredElement2!; // ignore: deprecated_member_use_from_same_package SimpleIdentifier dName = dNode.name; @@ -7047,7 +7048,7 @@ enum MyEnum { await resolveTestFile(); var enumNode = result.unit.declarations[0] as EnumDeclaration; - ClassElement enumElement = enumNode.declaredElement!; + final enumElement = enumNode.declaredElement2!; // ignore: deprecated_member_use_from_same_package SimpleIdentifier dName = enumNode.name; @@ -7057,7 +7058,7 @@ enum MyEnum { { var aElement = enumElement.getField('A'); var aNode = enumNode.constants[0]; - expect(aNode.declaredElement, same(aElement)); + expect(aNode.declaredElement2, same(aElement)); // ignore: deprecated_member_use_from_same_package expect(aNode.name.staticElement, same(aElement)); @@ -7068,7 +7069,7 @@ enum MyEnum { { var bElement = enumElement.getField('B'); var bNode = enumNode.constants[1]; - expect(bNode.declaredElement, same(bElement)); + expect(bNode.declaredElement2, same(bElement)); // ignore: deprecated_member_use_from_same_package expect(bNode.name.staticElement, same(bElement)); @@ -7095,7 +7096,7 @@ class C { final intElement = intType.element2; var cNode = result.unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; // The class name identifier. // ignore: deprecated_member_use_from_same_package @@ -7106,8 +7107,8 @@ class C { // unnamed constructor { var node = cNode.members[0] as ConstructorDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'C Function(int)'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'C Function(int)'); expect(node.returnType.staticElement, same(cElement)); expect(node.returnType.staticType, isNull); expect(node.name2, isNull); @@ -7116,13 +7117,13 @@ class C { // named constructor { var node = cNode.members[1] as ConstructorDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'C Function(int)'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'C Function(int)'); expect(node.returnType.staticElement, same(cElement)); expect(node.returnType.staticType, isNull); // ignore: deprecated_member_use_from_same_package - expect(node.name!.staticElement, same(node.declaredElement)); + expect(node.name!.staticElement, same(node.declaredElement2)); // ignore: deprecated_member_use_from_same_package expect(node.name!.staticType, isNull); } @@ -7130,8 +7131,8 @@ class C { // publicMethod() { var node = cNode.members[2] as MethodDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'int Function(double)'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'int Function(double)'); // method return type var returnType = node.returnType as NamedType; @@ -7142,7 +7143,7 @@ class C { // method name // ignore: deprecated_member_use_from_same_package - expect(node.name.staticElement, same(node.declaredElement)); + expect(node.name.staticElement, same(node.declaredElement2)); // ignore: deprecated_member_use_from_same_package expect(node.name.staticType, isNull); @@ -7161,8 +7162,8 @@ class C { // publicGetter() { var node = cNode.members[3] as MethodDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'int Function()'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'int Function()'); // getter return type var returnType = node.returnType as NamedType; @@ -7173,7 +7174,7 @@ class C { // getter name // ignore: deprecated_member_use_from_same_package - expect(node.name.staticElement, same(node.declaredElement)); + expect(node.name.staticElement, same(node.declaredElement2)); // ignore: deprecated_member_use_from_same_package expect(node.name.staticType, isNull); } @@ -7181,8 +7182,8 @@ class C { // publicSetter() { var node = cNode.members[4] as MethodDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'void Function(double)'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'void Function(double)'); // setter return type var returnType = node.returnType as NamedType; @@ -7193,7 +7194,7 @@ class C { // setter name // ignore: deprecated_member_use_from_same_package - expect(node.name.staticElement, same(node.declaredElement)); + expect(node.name.staticElement, same(node.declaredElement2)); // ignore: deprecated_member_use_from_same_package expect(node.name.staticType, isNull); @@ -7225,8 +7226,8 @@ void set topSetter(double p) {} // topFunction() { var node = result.unit.declarations[0] as FunctionDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'int Function(double)'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'int Function(double)'); // function return type var returnType = node.returnType as NamedType; @@ -7237,7 +7238,7 @@ void set topSetter(double p) {} // function name // ignore: deprecated_member_use_from_same_package - expect(node.name.staticElement, same(node.declaredElement)); + expect(node.name.staticElement, same(node.declaredElement2)); // ignore: deprecated_member_use_from_same_package expect(node.name.staticType, isNull); @@ -7257,8 +7258,8 @@ void set topSetter(double p) {} // topGetter() { var node = result.unit.declarations[1] as FunctionDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'int Function()'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'int Function()'); // getter return type var returnType = node.returnType as NamedType; @@ -7269,7 +7270,7 @@ void set topSetter(double p) {} // getter name // ignore: deprecated_member_use_from_same_package - expect(node.name.staticElement, same(node.declaredElement)); + expect(node.name.staticElement, same(node.declaredElement2)); // ignore: deprecated_member_use_from_same_package expect(node.name.staticType, isNull); } @@ -7277,8 +7278,8 @@ void set topSetter(double p) {} // topSetter() { var node = result.unit.declarations[2] as FunctionDeclaration; - expect(node.declaredElement, isNotNull); - assertType(node.declaredElement!.type, 'void Function(double)'); + expect(node.declaredElement2, isNotNull); + assertType(node.declaredElement2!.type, 'void Function(double)'); // setter return type var returnType = node.returnType as NamedType; @@ -7289,7 +7290,7 @@ void set topSetter(double p) {} // setter name // ignore: deprecated_member_use_from_same_package - expect(node.name.staticElement, same(node.declaredElement)); + expect(node.name.staticElement, same(node.declaredElement2)); // ignore: deprecated_member_use_from_same_package expect(node.name.staticType, isNull); @@ -7321,7 +7322,7 @@ class C { CompilationUnitElement unitElement = unit.declaredElement!; var cNode = unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; TypeParameterElement tElement = cElement.typeParameters[0]; expect(cElement, same(unitElement.classes[0])); @@ -7329,7 +7330,7 @@ class C { FieldElement aElement = cElement.getField('a')!; var aDeclaration = cNode.members[0] as FieldDeclaration; VariableDeclaration aNode = aDeclaration.fields.variables[0]; - expect(aNode.declaredElement, same(aElement)); + expect(aNode.declaredElement2, same(aElement)); expect(aElement.type, typeProvider.intType); // ignore: deprecated_member_use_from_same_package expect(aNode.name.staticElement, same(aElement)); @@ -7350,7 +7351,7 @@ class C { expect(typeIdentifier.staticType, isNull); VariableDeclaration bNode = bDeclaration.fields.variables[0]; - expect(bNode.declaredElement, same(bElement)); + expect(bNode.declaredElement2, same(bElement)); expect(bElement.type, typeParameterTypeNone(tElement)); // ignore: deprecated_member_use_from_same_package expect(bNode.name.staticElement, same(bElement)); @@ -7371,7 +7372,7 @@ class C { CompilationUnit unit = result.unit; var cNode = unit.declarations[0] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; var fieldDeclaration = cNode.members[0] as FieldDeclaration; @@ -7379,7 +7380,7 @@ class C { FieldElement aElement = cElement.getField('a')!; VariableDeclaration aNode = fieldDeclaration.fields.variables[0]; - expect(aNode.declaredElement, same(aElement)); + expect(aNode.declaredElement2, same(aElement)); expect(aElement.type, typeProvider.intType); // ignore: deprecated_member_use_from_same_package @@ -7395,7 +7396,7 @@ class C { FieldElement bElement = cElement.getField('b')!; VariableDeclaration bNode = fieldDeclaration.fields.variables[1]; - expect(bNode.declaredElement, same(bElement)); + expect(bNode.declaredElement2, same(bElement)); expect(bElement.type, typeProvider.doubleType); // ignore: deprecated_member_use_from_same_package @@ -7422,7 +7423,7 @@ double b = 2.3; { var aDeclaration = unit.declarations[0] as TopLevelVariableDeclaration; VariableDeclaration aNode = aDeclaration.variables.variables[0]; - var aElement = aNode.declaredElement as TopLevelVariableElement; + var aElement = aNode.declaredElement2 as TopLevelVariableElement; expect(aElement, same(unitElement.topLevelVariables[0])); expect(aElement.type, typeProvider.intType); // ignore: deprecated_member_use_from_same_package @@ -7438,7 +7439,7 @@ double b = 2.3; var bDeclaration = unit.declarations[1] as TopLevelVariableDeclaration; VariableDeclaration bNode = bDeclaration.variables.variables[0]; - var bElement = bNode.declaredElement as TopLevelVariableElement; + var bElement = bNode.declaredElement2 as TopLevelVariableElement; expect(bElement, same(unitElement.topLevelVariables[1])); expect(bElement.type, typeProvider.doubleType); @@ -7471,7 +7472,7 @@ var a = 1, b = 2.3; { VariableDeclaration aNode = variableDeclaration.variables.variables[0]; - var aElement = aNode.declaredElement as TopLevelVariableElement; + var aElement = aNode.declaredElement2 as TopLevelVariableElement; expect(aElement, same(unitElement.topLevelVariables[0])); expect(aElement.type, typeProvider.intType); @@ -7486,7 +7487,7 @@ var a = 1, b = 2.3; { VariableDeclaration bNode = variableDeclaration.variables.variables[1]; - var bElement = bNode.declaredElement as TopLevelVariableElement; + var bElement = bNode.declaredElement2 as TopLevelVariableElement; expect(bElement, same(unitElement.topLevelVariables[1])); expect(bElement.type, typeProvider.doubleType); @@ -7511,7 +7512,7 @@ void main() { await resolveTestFile(); var fDeclaration = result.unit.declarations[0] as FunctionDeclaration; - var fElement = fDeclaration.declaredElement as FunctionElement; + var fElement = fDeclaration.declaredElement2 as FunctionElement; InterfaceType doubleType = typeProvider.doubleType; @@ -7586,7 +7587,7 @@ typedef int F(bool a, T b); CompilationUnit unit = result.unit; var alias = unit.declarations[0] as FunctionTypeAlias; - TypeAliasElement aliasElement = alias.declaredElement!; + TypeAliasElement aliasElement = alias.declaredElement2!; var function = aliasElement.aliasedElement as GenericFunctionTypeElement; expect(aliasElement, same(findElement.typeAlias('F'))); expect(function.returnType, typeProvider.intType); @@ -7621,16 +7622,16 @@ class C, V> {} CompilationUnitElement unitElement = unit.declaredElement!; var aNode = unit.declarations[0] as ClassDeclaration; - ClassElement aElement = aNode.declaredElement!; + ClassElement aElement = aNode.declaredElement2!; expect(aElement, same(unitElement.classes[0])); var cNode = unit.declarations[1] as ClassDeclaration; - ClassElement cElement = cNode.declaredElement!; + ClassElement cElement = cNode.declaredElement2!; expect(cElement, same(unitElement.classes[1])); { TypeParameter tNode = cNode.typeParameters!.typeParameters[0]; - expect(tNode.declaredElement, same(cElement.typeParameters[0])); + expect(tNode.declaredElement2, same(cElement.typeParameters[0])); var bound = tNode.bound as NamedType; expect(bound.type, interfaceTypeNone(aElement)); @@ -7648,7 +7649,7 @@ class C, V> {} ); TypeParameter uNode = cNode.typeParameters!.typeParameters[1]; - expect(uNode.declaredElement, same(cElement.typeParameters[1])); + expect(uNode.declaredElement2, same(cElement.typeParameters[1])); var bound = uNode.bound as NamedType; expect(bound.type, listOfA); @@ -7667,7 +7668,7 @@ class C, V> {} { TypeParameter vNode = cNode.typeParameters!.typeParameters[2]; - expect(vNode.declaredElement, same(cElement.typeParameters[2])); + expect(vNode.declaredElement2, same(cElement.typeParameters[2])); expect(vNode.bound, isNull); } } @@ -7815,7 +7816,7 @@ class C { await resolveTestFile(); FunctionTypeAlias alias = findNode.functionTypeAlias('F'); - TypeAliasElement aliasElement = alias.declaredElement!; + TypeAliasElement aliasElement = alias.declaredElement2!; FieldDeclaration fDeclaration = findNode.fieldDeclaration('F f'); @@ -7913,7 +7914,7 @@ typedef void F(int p); CompilationUnit unit = result.unit; var fNode = unit.declarations[1] as FunctionTypeAlias; - TypeAliasElement fElement = fNode.declaredElement!; + TypeAliasElement fElement = fNode.declaredElement2!; var statements = _getMainStatements(result); diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart index bbd63521f10..471ae131365 100644 --- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart @@ -1876,7 +1876,7 @@ class B {} expect(result.errors, hasLength(0)); var f = result.unit.declarations[0] as FunctionDeclaration; - assertType(f.declaredElement!.type, 'int Function()'); + assertType(f.declaredElement2!.type, 'int Function()'); assertType(f.returnType!.typeOrThrow, 'int'); // The same result is also received through the stream. @@ -2441,7 +2441,7 @@ class C { var result = await driver.getResultValid(b); var c = _getTopLevelVar(result.unit, 'c'); - var typeC = c.declaredElement!.type as InterfaceType; + var typeC = c.declaredElement2!.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); @@ -3381,7 +3381,7 @@ class F extends X {} expect(result.errors, hasLength(0)); var f = result.unit.declarations[0] as FunctionDeclaration; - assertType(f.declaredElement!.type, 'int Function()'); + assertType(f.declaredElement2!.type, 'int Function()'); assertType(f.returnType!.typeOrThrow, 'int'); } @@ -3503,21 +3503,21 @@ var v = 0 void _assertClassFieldType(CompilationUnit unit, String className, String fieldName, String expected) { var node = _getClassField(unit, className, fieldName); - var type = node.declaredElement!.type; + var type = node.declaredElement2!.type; assertType(type, expected); } void _assertClassMethodReturnType(CompilationUnit unit, String className, String fieldName, String expected) { var node = _getClassMethod(unit, className, fieldName); - var type = node.declaredElement!.returnType; + var type = node.declaredElement2!.returnType; assertType(type, expected); } void _assertTopLevelVarType( CompilationUnit unit, String name, String expected) { VariableDeclaration variable = _getTopLevelVar(unit, name); - assertType(variable.declaredElement!.type, expected); + assertType(variable.declaredElement2!.type, expected); } void _expectCircularityError(EvaluationResultImpl evaluationResult) { diff --git a/pkg/analyzer/test/src/dart/analysis/index_test.dart b/pkg/analyzer/test/src/dart/analysis/index_test.dart index bff08f37880..090bcaf06a4 100644 --- a/pkg/analyzer/test/src/dart/analysis/index_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/index_test.dart @@ -362,11 +362,11 @@ main() { '''); var intMethod = findNode.methodDeclaration('foo() {} // int'); - assertThat(intMethod.declaredElement!) + assertThat(intMethod.declaredElement2!) .isInvokedAt('foo(); // int ref', true); var doubleMethod = findNode.methodDeclaration('foo() {} // double'); - assertThat(doubleMethod.declaredElement!) + assertThat(doubleMethod.declaredElement2!) .isInvokedAt('foo(); // double ref', true); } @@ -1537,16 +1537,16 @@ main() { var intGetter = findNode.methodDeclaration('0; // int getter'); var intSetter = findNode.methodDeclaration('{} // int setter'); - assertThat(intGetter.declaredElement!) + assertThat(intGetter.declaredElement2!) .isReferencedAt('foo; // int getter ref', true); - assertThat(intSetter.declaredElement!) + assertThat(intSetter.declaredElement2!) .isReferencedAt('foo = 0; // int setter ref', true); var doubleGetter = findNode.methodDeclaration('0; // double getter'); var doubleSetter = findNode.methodDeclaration('{} // double setter'); - assertThat(doubleGetter.declaredElement!) + assertThat(doubleGetter.declaredElement2!) .isReferencedAt('foo; // double getter ref', true); - assertThat(doubleSetter.declaredElement!) + assertThat(doubleSetter.declaredElement2!) .isReferencedAt('foo = 0; // double setter ref', true); } diff --git a/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart b/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart index 20e9c8eaad1..7000d88c4f7 100644 --- a/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart @@ -25,7 +25,7 @@ mixin GetElementDeclarationMixin implements PubPackageResolutionTest { await resolveTestCode(r''' class A {} '''); - var element = findNode.classDeclaration('A').declaredElement!; + var element = findNode.classDeclaration('A').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ClassDeclaration; expect(node.name2.lexeme, 'A'); @@ -37,7 +37,7 @@ class A {} // 1 class A {} // 2 '''); { - var element = findNode.classDeclaration('A {} // 1').declaredElement!; + var element = findNode.classDeclaration('A {} // 1').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ClassDeclaration; expect(node.name2.lexeme, 'A'); @@ -48,7 +48,7 @@ class A {} // 2 } { - var element = findNode.classDeclaration('A {} // 2').declaredElement!; + var element = findNode.classDeclaration('A {} // 2').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ClassDeclaration; expect(node.name2.lexeme, 'A'); @@ -78,7 +78,7 @@ part 'a.dart'; await resolveTestCode(''' class {} '''); - var element = findNode.classDeclaration('class {}').declaredElement!; + var element = findNode.classDeclaration('class {}').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ClassDeclaration; expect(node.name2.lexeme, ''); @@ -112,14 +112,14 @@ class A { } '''); { - var unnamed = findNode.constructor('A();').declaredElement!; + var unnamed = findNode.constructor('A();').declaredElement2!; var result = await getElementDeclaration(unnamed); var node = result!.node as ConstructorDeclaration; expect(node.name2, isNull); } { - var named = findNode.constructor('A.named();').declaredElement!; + var named = findNode.constructor('A.named();').declaredElement2!; var result = await getElementDeclaration(named); var node = result!.node as ConstructorDeclaration; expect(node.name2!.lexeme, 'named'); @@ -134,7 +134,7 @@ class A { } '''); { - var element = findNode.constructor('A.named(); // 1').declaredElement!; + var element = findNode.constructor('A.named(); // 1').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ConstructorDeclaration; expect(node.name2!.lexeme, 'named'); @@ -145,7 +145,7 @@ class A { } { - var element = findNode.constructor('A.named(); // 2').declaredElement!; + var element = findNode.constructor('A.named(); // 2').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ConstructorDeclaration; expect(node.name2!.lexeme, 'named'); @@ -164,7 +164,7 @@ class A { } '''); { - var element = findNode.constructor('A(); // 1').declaredElement!; + var element = findNode.constructor('A(); // 1').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ConstructorDeclaration; expect(node.name2, isNull); @@ -175,7 +175,7 @@ class A { } { - var element = findNode.constructor('A(); // 2').declaredElement!; + var element = findNode.constructor('A(); // 2').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ConstructorDeclaration; expect(node.name2, isNull); @@ -221,7 +221,7 @@ enum MyEnum {a, b, c} await resolveTestCode(r''' extension E on int {} '''); - var element = findNode.extensionDeclaration('E').declaredElement!; + var element = findNode.extensionDeclaration('E').declaredElement2!; var result = await getElementDeclaration(element); var node = result!.node as ExtensionDeclaration; expect(node.name2!.lexeme, 'E'); diff --git a/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart b/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart index 08e34ba8589..75bf51f5d18 100644 --- a/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart @@ -89,7 +89,7 @@ class A {} class A {} class B {} '''); - var element = findNode.classDeclaration('A').declaredElement!; + var element = findNode.classDeclaration('A').declaredElement2!; var resolvedUnit = (await helper.getResolvedUnitByElement(element))!; expect(resolvedUnit.unit.declarations, hasLength(2)); } diff --git a/pkg/analyzer/test/src/dart/analysis/session_test.dart b/pkg/analyzer/test/src/dart/analysis/session_test.dart index ea1140fd26e..c5a53f29e45 100644 --- a/pkg/analyzer/test/src/dart/analysis/session_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/session_test.dart @@ -595,14 +595,14 @@ class B2 extends X {} expect(aNode.name2.lexeme, 'A'); expect(aNode.offset, 16); expect(aNode.length, 16); - expect(aNode.declaredElement!.name, 'A'); + expect(aNode.declaredElement2!.name, 'A'); var bDeclaration = resolvedLibrary.getElementDeclaration(bClass)!; var bNode = bDeclaration.node as ClassDeclaration; expect(bNode.name2.lexeme, 'B'); expect(bNode.offset, 19); expect(bNode.length, 16); - expect(bNode.declaredElement!.name, 'B'); + expect(bNode.declaredElement2!.name, 'B'); } test_getResolvedLibrary_getElementDeclaration_notThisLibrary() async { @@ -635,7 +635,7 @@ int foo = 0; expect(fooNode.name2.lexeme, 'foo'); expect(fooNode.offset, 4); expect(fooNode.length, 7); - expect(fooNode.declaredElement!.name, 'foo'); + expect(fooNode.declaredElement2!.name, 'foo'); // Synthetic elements don't have nodes. expect(resolvedLibrary.getElementDeclaration(fooElement.getter!), isNull); diff --git a/pkg/analyzer/test/src/dart/element/element_test.dart b/pkg/analyzer/test/src/dart/element/element_test.dart index 5cb77a38143..129ab744d5e 100644 --- a/pkg/analyzer/test/src/dart/element/element_test.dart +++ b/pkg/analyzer/test/src/dart/element/element_test.dart @@ -1514,8 +1514,10 @@ f() { } } '''); - expect(findNode.variableDeclaration('x = 0').declaredElement!.location, - isNot(findNode.variableDeclaration('x = 1').declaredElement!.location)); + expect( + findNode.variableDeclaration('x = 0').declaredElement2!.location, + isNot( + findNode.variableDeclaration('x = 1').declaredElement2!.location)); } } diff --git a/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart b/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart index 4ae2a74098e..feceda67cfb 100644 --- a/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart @@ -55,7 +55,7 @@ const a = 42; Function<@a T>()? x; '''); var T = findNode.typeParameter('T'); - var annotation = T.declaredElement!.metadata[0]; + var annotation = T.declaredElement2!.metadata[0]; expect(annotation.element, findElement.topGet('a')); } diff --git a/pkg/analyzer/test/src/dart/resolution/local_function_test.dart b/pkg/analyzer/test/src/dart/resolution/local_function_test.dart index a8c2186ca9b..2aa51ca2988 100644 --- a/pkg/analyzer/test/src/dart/resolution/local_function_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/local_function_test.dart @@ -40,7 +40,7 @@ f() { error(HintCode.UNUSED_ELEMENT, 23, 1), ]); var node = findNode.functionDeclaration('g() {}'); - var element = node.declaredElement!; + var element = node.declaredElement2!; expect(element.name, 'g'); expect(element.nameOffset, 23); } diff --git a/pkg/analyzer/test/src/dart/resolution/mixin_test.dart b/pkg/analyzer/test/src/dart/resolution/mixin_test.dart index 164479e0325..495a3e40df3 100644 --- a/pkg/analyzer/test/src/dart/resolution/mixin_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/mixin_test.dart @@ -32,7 +32,7 @@ mixin M { assertElementName(gElement, 'g', offset: 20); var gNode = findNode.methodDeclaration('g =>'); - expect(gNode.declaredElement, same(gElement)); + expect(gNode.declaredElement2, same(gElement)); var fields = element.fields; expect(fields, hasLength(1)); @@ -55,7 +55,7 @@ mixin M { assertElementName(fooElement, 'foo', offset: 17); var fooNode = findNode.methodDeclaration('foo()'); - expect(fooNode.declaredElement, same(fooElement)); + expect(fooNode.declaredElement2, same(fooElement)); } test_accessor_setter() async { @@ -74,7 +74,7 @@ mixin M { assertElementName(sElement, 's=', offset: 21); var gNode = findNode.methodDeclaration('s(int _)'); - expect(gNode.declaredElement, same(sElement)); + expect(gNode.declaredElement2, same(sElement)); var fields = element.fields; expect(fields, hasLength(1)); @@ -208,7 +208,7 @@ mixin M { assertEnclosingElement(tElement, element); var tNode = findNode.typeParameter('T> {'); - assertElement(tNode.declaredElement, tElement); + assertElement(tNode.declaredElement2, tElement); var fields = element.fields; expect(fields, hasLength(1)); @@ -218,7 +218,7 @@ mixin M { assertEnclosingElement(fElement, element); var fNode = findNode.variableDeclaration('f;'); - assertElement(fNode.declaredElement, fElement); + assertElement(fNode.declaredElement2, fElement); assertNamedType(findNode.namedType('T f'), tElement, 'T'); diff --git a/pkg/analyzer/test/src/dart/resolution/resolution.dart b/pkg/analyzer/test/src/dart/resolution/resolution.dart index e369510bac2..8a60c8be177 100644 --- a/pkg/analyzer/test/src/dart/resolution/resolution.dart +++ b/pkg/analyzer/test/src/dart/resolution/resolution.dart @@ -689,7 +689,7 @@ mixin ResolutionTest implements ResourceProviderMixin { } else if (node is ConstructorReference) { return node.constructorName.staticElement; } else if (node is Declaration) { - return node.declaredElement; + return node.declaredElement2; } else if (node is ExtensionOverride) { return node.staticElement; } else if (node is FormalParameter) { diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/inference_update_1_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/inference_update_1_test.dart index 299ab7ce371..dacf213dc69 100644 --- a/pkg/analyzer/test/src/dart/resolution/type_inference/inference_update_1_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/type_inference/inference_update_1_test.dart @@ -106,7 +106,7 @@ test() { 'List Function(int Function()))'); assertType(findNode.simpleParameter('h)').declaredElement!.type, _isEnabled ? 'int Function()' : 'Object?'); - assertType(findNode.variableDeclaration('a =').declaredElement!.type, + assertType(findNode.variableDeclaration('a =').declaredElement2!.type, _isEnabled ? 'List' : 'List'); } @@ -153,7 +153,7 @@ test() { : 'List Function(List Function(int), int Function())'); assertType(findNode.simpleParameter('x)').declaredElement!.type, _isEnabled ? 'int' : 'Object?'); - assertType(findNode.variableDeclaration('a =').declaredElement!.type, + assertType(findNode.variableDeclaration('a =').declaredElement2!.type, _isEnabled ? 'List' : 'List'); } @@ -176,7 +176,7 @@ test() { : 'List Function(int Function(), List Function(int))'); assertType(findNode.simpleParameter('x)').declaredElement!.type, _isEnabled ? 'int' : 'Object?'); - assertType(findNode.variableDeclaration('a =').declaredElement!.type, + assertType(findNode.variableDeclaration('a =').declaredElement2!.type, _isEnabled ? 'List' : 'List'); } @@ -199,7 +199,7 @@ test() { : 'List Function(int, List Function(int))'); assertType(findNode.simpleParameter('x)').declaredElement!.type, _isEnabled ? 'int' : 'Object?'); - assertType(findNode.variableDeclaration('a =').declaredElement!.type, + assertType(findNode.variableDeclaration('a =').declaredElement2!.type, _isEnabled ? 'List' : 'List'); } diff --git a/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart b/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart index e619e0d32c9..96728c2e222 100644 --- a/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart +++ b/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart @@ -713,7 +713,7 @@ void foo(int T) {} void foo(void Function(String T) b) {} '''); var node = findNode.simple('T)'); - var T = findNode.typeParameter('T>').declaredElement!; + var T = findNode.typeParameter('T>').declaredElement2!; _resultRequested(node, 'T', false, T); } diff --git a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart index a096a2513a1..da47fbb1dc5 100644 --- a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart +++ b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart @@ -213,7 +213,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -224,7 +224,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -282,7 +282,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -337,7 +337,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -407,7 +407,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _writeNamedChildEntities(node); if (_withResolution) { _writeElement('constructorElement', node.constructorElement); - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -418,7 +418,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -473,7 +473,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -544,8 +544,8 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); - _writeType('declaredElementType', node.declaredElement!.type); + _writeElement('declaredElement', node.declaredElement2); + _writeType('declaredElementType', node.declaredElement2!.type); } }); } @@ -600,7 +600,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -638,7 +638,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -813,8 +813,8 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); - _writeType('declaredElementType', node.declaredElement!.type); + _writeElement('declaredElement', node.declaredElement2); + _writeType('declaredElementType', node.declaredElement2!.type); } }); } @@ -837,7 +837,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -1145,7 +1145,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -1182,7 +1182,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } @@ -1201,7 +1201,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor { _withIndent(() { _writeNamedChildEntities(node); if (_withResolution) { - _writeElement('declaredElement', node.declaredElement); + _writeElement('declaredElement', node.declaredElement2); } }); } diff --git a/pkg/analyzer/test/utils.dart b/pkg/analyzer/test/utils.dart index 850866eb850..6939069484a 100644 --- a/pkg/analyzer/test/utils.dart +++ b/pkg/analyzer/test/utils.dart @@ -79,7 +79,7 @@ class AstFinder { /// with the given [className] in the given compilation [unit]. static FieldElement? getFieldInClassElement( CompilationUnit unit, String className, String fieldName) { - return getFieldInClass(unit, className, fieldName).declaredElement + return getFieldInClass(unit, className, fieldName).declaredElement2 as FieldElement; } @@ -155,7 +155,7 @@ class AstFinder { /// Return the top-level variable element with the given [name]. static TopLevelVariableElement getTopLevelVariableElement( CompilationUnit unit, String name) { - return getTopLevelVariable(unit, name).declaredElement + return getTopLevelVariable(unit, name).declaredElement2 as TopLevelVariableElement; } } 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 02ac7717974..2098539e511 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 @@ -1910,13 +1910,13 @@ class _EnclosingElementFinder { var node = NodeLocator2(offset).searchWithin(target); while (node != null) { if (node is ClassDeclaration) { - enclosingClass = node.declaredElement; + enclosingClass = node.declaredElement2; } else if (node is ConstructorDeclaration) { - enclosingExecutable = node.declaredElement; + enclosingExecutable = node.declaredElement2; } else if (node is MethodDeclaration) { - enclosingExecutable = node.declaredElement; + enclosingExecutable = node.declaredElement2; } else if (node is FunctionDeclaration) { - enclosingExecutable = node.declaredElement; + enclosingExecutable = node.declaredElement2; } node = node.parent; } diff --git a/pkg/analyzer_plugin/lib/src/utilities/completion/completion_target.dart b/pkg/analyzer_plugin/lib/src/utilities/completion/completion_target.dart index 80592ac0794..de84532374a 100644 --- a/pkg/analyzer_plugin/lib/src/utilities/completion/completion_target.dart +++ b/pkg/analyzer_plugin/lib/src/utilities/completion/completion_target.dart @@ -123,9 +123,9 @@ class CompletionTarget { final unitMember = containingNode.thisOrAncestorOfType(); if (unitMember is ClassDeclaration) { - return unitMember.declaredElement; + return unitMember.declaredElement2; } else if (unitMember is MixinDeclaration) { - return unitMember.declaredElement; + return unitMember.declaredElement2; } else { return null; } @@ -134,7 +134,7 @@ class CompletionTarget { /// The enclosing [ExtensionElement], or `null` if not in an extension. late final ExtensionElement? enclosingExtensionElement = containingNode .thisOrAncestorOfType() - ?.declaredElement; + ?.declaredElement2; /// Compute the appropriate [CompletionTarget] for the given [offset] within /// the [entryPoint]. diff --git a/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart b/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart index 69c9428b20f..3586088f27d 100644 --- a/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart +++ b/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart @@ -556,7 +556,7 @@ class _OpTypeAstVisitor extends GeneralizingAstVisitor { } } } else if (parent is MethodDeclaration) { - type = parent.declaredElement?.returnType; + type = parent.declaredElement2?.returnType; if (type != null && type.isVoid) { optype.includeVoidReturnSuggestions = true; } diff --git a/pkg/analyzer_plugin/lib/src/utilities/visitors/local_declaration_visitor.dart b/pkg/analyzer_plugin/lib/src/utilities/visitors/local_declaration_visitor.dart index 7aaab56e776..7af1d923ce0 100644 --- a/pkg/analyzer_plugin/lib/src/utilities/visitors/local_declaration_visitor.dart +++ b/pkg/analyzer_plugin/lib/src/utilities/visitors/local_declaration_visitor.dart @@ -128,12 +128,12 @@ abstract class LocalDeclarationVisitor extends GeneralizingAstVisitor { if (forLoopParts is ForEachPartsWithDeclaration) { var loopVariable = forLoopParts.loopVariable; declaredLocalVar( - loopVariable.name, loopVariable.type, loopVariable.declaredElement!); + loopVariable.name, loopVariable.type, loopVariable.declaredElement2!); } else if (forLoopParts is ForPartsWithDeclarations) { var varList = forLoopParts.variables; for (var varDecl in varList.variables) { declaredLocalVar(varDecl.name2, varList.type, - varDecl.declaredElement as LocalVariableElement); + varDecl.declaredElement2 as LocalVariableElement); } } visitNode(node); @@ -145,12 +145,12 @@ abstract class LocalDeclarationVisitor extends GeneralizingAstVisitor { if (forLoopParts is ForEachPartsWithDeclaration) { var loopVariable = forLoopParts.loopVariable; declaredLocalVar( - loopVariable.name, loopVariable.type, loopVariable.declaredElement!); + loopVariable.name, loopVariable.type, loopVariable.declaredElement2!); } else if (forLoopParts is ForPartsWithDeclarations) { var varList = forLoopParts.variables; for (var varDecl in varList.variables) { declaredLocalVar(varDecl.name2, varList.type, - varDecl.declaredElement as LocalVariableElement); + varDecl.declaredElement2 as LocalVariableElement); } } visitNode(node); @@ -323,7 +323,7 @@ abstract class LocalDeclarationVisitor extends GeneralizingAstVisitor { for (var varDecl in varList.variables) { if (varDecl.end < offset) { declaredLocalVar(varDecl.name2, varList.type, - varDecl.declaredElement as LocalVariableElement); + varDecl.declaredElement2 as LocalVariableElement); } } } else if (stmt is FunctionDeclarationStatement) { diff --git a/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart b/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart index 77cc82547d3..54c1d025717 100644 --- a/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart +++ b/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart @@ -41,12 +41,12 @@ class InheritedReferenceContributor return; } var classDecl = _enclosingClass(target); - if (classDecl == null || classDecl.declaredElement == null) { + if (classDecl == null || classDecl.declaredElement2 == null) { return; } containingLibrary = request.result.libraryElement; _computeSuggestionsForClass2( - collector, target, classDecl.declaredElement!, optype); + collector, target, classDecl.declaredElement2!, optype); } /// Clients should not overload this function. @@ -67,10 +67,10 @@ class InheritedReferenceContributor } if (classElement == null) { var classDecl = _enclosingClass(target); - if (classDecl == null || classDecl.declaredElement == null) { + if (classDecl == null || classDecl.declaredElement2 == null) { return; } - classElement = classDecl.declaredElement; + classElement = classDecl.declaredElement2; } containingLibrary = request.result.libraryElement; _computeSuggestionsForClass2(collector, target, classElement!, optype, diff --git a/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart b/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart index 20d814285c2..3e8ceefc4a9 100644 --- a/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart +++ b/pkg/analyzer_plugin/lib/utilities/navigation/navigation_dart.dart @@ -283,10 +283,10 @@ class _DartNavigationComputerVisitor extends RecursiveAstVisitor { // itself rather than linking to the class. var nameToken = node.name2; if (nameToken == null) { - computer._addRegionForNode(node.returnType, node.declaredElement); + computer._addRegionForNode(node.returnType, node.declaredElement2); } else { node.returnType.accept(this); - computer._addRegionForToken(nameToken, node.declaredElement); + computer._addRegionForToken(nameToken, node.declaredElement2); } node.parameters.accept(this); node.initializers.accept(this); @@ -328,7 +328,7 @@ class _DartNavigationComputerVisitor extends RecursiveAstVisitor { if (node.type == null) { var token = node.keyword; if (token != null && token.keyword == Keyword.VAR) { - var inferredType = node.declaredElement?.type; + var inferredType = node.declaredElement2?.type; if (inferredType is InterfaceType) { computer._addRegionForToken(token, inferredType.element2); } @@ -492,14 +492,14 @@ class _DartNavigationComputerVisitor extends RecursiveAstVisitor { /// the given list of [variables], or `null` if not all variable have the /// same inferred type. Element? getCommonElement(List variables) { - final firstType = variables[0].declaredElement?.type; + final firstType = variables[0].declaredElement2?.type; if (firstType is! InterfaceType) { return null; } var firstElement = firstType.element2; for (var i = 1; i < variables.length; i++) { - final type = variables[i].declaredElement?.type; + final type = variables[i].declaredElement2?.type; if (type is! InterfaceType) { return null; } diff --git a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart index 1337757a686..abaa99d92f5 100644 --- a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart +++ b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart @@ -838,7 +838,7 @@ class MyClass {}'''; initializerWriter: () { builder.write('null'); }, - type: A.declaredElement?.instantiate( + type: A.declaredElement2?.instantiate( typeArguments: [], nullabilitySuffix: NullabilitySuffix.star, ), @@ -866,7 +866,7 @@ class MyClass {}'''; builder.addInsertion(11, (builder) { builder.writeLocalVariableDeclaration( 'foo', - type: A.declaredElement?.instantiate( + type: A.declaredElement2?.instantiate( typeArguments: [], nullabilitySuffix: NullabilitySuffix.star, ), @@ -903,7 +903,7 @@ class MyClass {}'''; builder.writeLocalVariableDeclaration( 'foo', isFinal: true, - type: A.declaredElement?.instantiate( + type: A.declaredElement2?.instantiate( typeArguments: [], nullabilitySuffix: NullabilitySuffix.star, ), @@ -1984,7 +1984,7 @@ class C extends B {} var classC = unit.declarations[2] as ClassDeclaration; var builder = DartLinkedEditBuilderImpl(MockEditBuilderImpl()); builder.addSuperTypesAsSuggestions( - classC.declaredElement?.instantiate( + classC.declaredElement2?.instantiate( typeArguments: [], nullabilitySuffix: NullabilitySuffix.star, ), diff --git a/pkg/nnbd_migration/lib/instrumentation.dart b/pkg/nnbd_migration/lib/instrumentation.dart index 2807b4b4808..d3b1911988c 100644 --- a/pkg/nnbd_migration/lib/instrumentation.dart +++ b/pkg/nnbd_migration/lib/instrumentation.dart @@ -96,7 +96,7 @@ class CodeReference { if (nodeName != null) { parts.add(nodeName); } else if (parts.isEmpty && node is VariableDeclarationList) { - parts.add(node.variables.first.declaredElement!.name); + parts.add(node.variables.first.declaredElement2!.name); } node = node.parent; } @@ -106,9 +106,9 @@ class CodeReference { static String? _computeNodeDeclarationName(AstNode node) { if (node is ExtensionDeclaration) { - return node.declaredElement?.name ?? ''; + return node.declaredElement2?.name ?? ''; } else if (node is Declaration) { - var name = node.declaredElement?.name; + var name = node.declaredElement2?.name; return name == '' ? '' : name; } else { return null; diff --git a/pkg/nnbd_migration/lib/src/edge_builder.dart b/pkg/nnbd_migration/lib/src/edge_builder.dart index a359ede936c..6464e85ff3d 100644 --- a/pkg/nnbd_migration/lib/src/edge_builder.dart +++ b/pkg/nnbd_migration/lib/src/edge_builder.dart @@ -669,7 +669,7 @@ class EdgeBuilder extends GeneralizingAstVisitor node is ExtensionDeclaration || node is MixinDeclaration); try { - _currentClassOrExtension = node.declaredElement; + _currentClassOrExtension = node.declaredElement2; List members; if (node is ClassDeclaration) { @@ -685,8 +685,9 @@ class EdgeBuilder extends GeneralizingAstVisitor if (member is FieldDeclaration && _variables.getLateHint(source, member.fields) == null) for (var field in member.fields.variables) - if (!field.declaredElement!.isStatic && field.initializer == null) - (field.declaredElement as FieldElement?) + if (!field.declaredElement2!.isStatic && + field.initializer == null) + (field.declaredElement2 as FieldElement?) }; if (_currentClassOrExtension is ClassElement && (_currentClassOrExtension as ClassElement) @@ -709,7 +710,7 @@ class EdgeBuilder extends GeneralizingAstVisitor _dispatch(node.superclass); _dispatch(node.implementsClause); _dispatch(node.withClause); - var classElement = node.declaredElement!; + var classElement = node.declaredElement2!; var supertype = classElement.supertype!; var superElement = supertype.element2; for (var constructorElement in classElement.constructors) { @@ -803,7 +804,7 @@ class EdgeBuilder extends GeneralizingAstVisitor _dispatch(node.redirectedConstructor?.type.typeArguments); _handleExecutableDeclaration( node, - node.declaredElement!, + node.declaredElement2!, node.metadata, null, node.parameters, @@ -994,7 +995,7 @@ class EdgeBuilder extends GeneralizingAstVisitor _flowAnalysis = null; _assignedVariables = null; } - var declaredElement = node.declaredElement; + var declaredElement = node.declaredElement2; if (declaredElement is PropertyAccessorElement) { if (declaredElement.isGetter) { var setter = declaredElement.correspondingSetter; @@ -1364,12 +1365,12 @@ class EdgeBuilder extends GeneralizingAstVisitor if (BuiltValueTransformer.findNullableAnnotation(node) != null) { _graph.makeNullable( _variables - .decoratedElementType(node.declaredElement!.declaration) + .decoratedElementType(node.declaredElement2!.declaration) .returnType! .node!, BuiltValueNullableOrigin(source, node)); } - _handleExecutableDeclaration(node, node.declaredElement!, node.metadata, + _handleExecutableDeclaration(node, node.declaredElement2!, node.metadata, node.returnType, node.parameters, null, node.body, null); _dispatch(node.typeParameters); return null; @@ -1891,7 +1892,7 @@ class EdgeBuilder extends GeneralizingAstVisitor var nullabilityNode = NullabilityNode.forInferredType(target); var class_ = node.thisOrAncestorOfType()!; var decoratedSupertype = _decoratedClassHierarchy!.getDecoratedSupertype( - class_.declaredElement!, callee.enclosingElement3); + class_.declaredElement2!, callee.enclosingElement3); var typeArguments = decoratedSupertype.typeArguments; Iterable typeArgumentTypes; typeArgumentTypes = typeArguments.map((t) => t!.type); @@ -1995,7 +1996,7 @@ class EdgeBuilder extends GeneralizingAstVisitor for (var variable in node.variables) { _dispatchList(variable.metadata); var initializer = variable.initializer; - var declaredElement = variable.declaredElement!; + var declaredElement = variable.declaredElement2!; if (isTopLevel) { assert(_flowAnalysis == null); _createFlowAnalysis(variable, null); @@ -2067,7 +2068,7 @@ class EdgeBuilder extends GeneralizingAstVisitor // // We cannot make a hard edge from y to never in this case. if (node.variables.length == 1) { - _postDominatedLocals.add(node.variables.single.declaredElement!); + _postDominatedLocals.add(node.variables.single.declaredElement2!); } return null; @@ -2893,7 +2894,7 @@ class EdgeBuilder extends GeneralizingAstVisitor Element? lhsElement; DecoratedType? lhsType; if (parts is ForEachPartsWithDeclaration) { - var variableElement = parts.loopVariable.declaredElement!; + var variableElement = parts.loopVariable.declaredElement2!; _flowAnalysis!.declare(variableElement, true); lhsElement = variableElement; _dispatch(parts.loopVariable.type); diff --git a/pkg/nnbd_migration/lib/src/fix_builder.dart b/pkg/nnbd_migration/lib/src/fix_builder.dart index e26d9fb9514..eee71d2c93b 100644 --- a/pkg/nnbd_migration/lib/src/fix_builder.dart +++ b/pkg/nnbd_migration/lib/src/fix_builder.dart @@ -1105,7 +1105,7 @@ class _FixBuilderPostVisitor extends GeneralizingAstVisitor bool explicitTypeNeeded = false; for (var variableDeclaration in node.variables) { var neededType = _fixBuilder - ._computeMigratedType(variableDeclaration.declaredElement!); + ._computeMigratedType(variableDeclaration.declaredElement2!); neededTypes.add(neededType); var inferredType = variableDeclaration.initializer?.staticType ?? _fixBuilder.typeProvider.dynamicType; @@ -1143,7 +1143,7 @@ class _FixBuilderPostVisitor extends GeneralizingAstVisitor // Check if the nullability node for a single variable declaration has been // declared to be late. if (node.variables.length == 1) { - var variableElement = node.variables.single.declaredElement!; + var variableElement = node.variables.single.declaredElement2!; var lateCondition = _fixBuilder._variables! .decoratedElementType(variableElement) .node! diff --git a/pkg/nnbd_migration/lib/src/node_builder.dart b/pkg/nnbd_migration/lib/src/node_builder.dart index c381411969b..f33b20fc949 100644 --- a/pkg/nnbd_migration/lib/src/node_builder.dart +++ b/pkg/nnbd_migration/lib/src/node_builder.dart @@ -131,7 +131,7 @@ class NodeBuilder extends GeneralizingAstVisitor node.typeParameters?.accept(this); node.nativeClause?.accept(this); node.members.accept(this); - var classElement = node.declaredElement!; + var classElement = node.declaredElement2!; _handleSupertypeClauses(node, classElement, node.extendsClause?.superclass, node.withClause, node.implementsClause, null); var constructors = classElement.constructors; @@ -156,7 +156,7 @@ class NodeBuilder extends GeneralizingAstVisitor DecoratedType? visitClassTypeAlias(ClassTypeAlias node) { node.metadata.accept(this); node.typeParameters?.accept(this); - var classElement = node.declaredElement!; + var classElement = node.declaredElement2!; _handleSupertypeClauses(node, classElement, node.superclass, node.withClause, node.implementsClause, null); for (var constructorElement in classElement.constructors) { @@ -188,7 +188,7 @@ class NodeBuilder extends GeneralizingAstVisitor DecoratedType? visitConstructorDeclaration(ConstructorDeclaration node) { _handleExecutableDeclaration( node, - node.declaredElement!, + node.declaredElement2!, node.metadata, null, null, @@ -211,7 +211,7 @@ class NodeBuilder extends GeneralizingAstVisitor @override DecoratedType? visitDeclaredIdentifier(DeclaredIdentifier node) { node.metadata.accept(this); - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; var target = NullabilityNodeTarget.element(declaredElement); DecoratedType? type = _pushNullabilityNodeTarget(target, () => node.type?.accept(this)); @@ -220,7 +220,7 @@ class NodeBuilder extends GeneralizingAstVisitor _typeProvider, declaredElement.type, _graph, target); instrumentation?.implicitType(source, node, type); } - _variables!.recordDecoratedElementType(node.declaredElement, type); + _variables!.recordDecoratedElementType(node.declaredElement2, type); return type; } @@ -248,7 +248,7 @@ class NodeBuilder extends GeneralizingAstVisitor @override DecoratedType? visitEnumDeclaration(EnumDeclaration node) { node.metadata.accept(this); - var classElement = node.declaredElement!; + var classElement = node.declaredElement2!; _variables!.recordDecoratedElementType( classElement, DecoratedType(classElement.thisType, _graph.never)); @@ -260,7 +260,7 @@ class NodeBuilder extends GeneralizingAstVisitor } for (var item in node.constants) { - var declaredElement = item.declaredElement!; + var declaredElement = item.declaredElement2!; var target = NullabilityNodeTarget.element(declaredElement); _variables!.recordDecoratedElementType(declaredElement, DecoratedType(classElement.thisType, makeNonNullNode(target, item))); @@ -286,7 +286,7 @@ class NodeBuilder extends GeneralizingAstVisitor var type = _pushNullabilityNodeTarget( NullabilityNodeTarget.text('extended type'), () => node.extendedType.accept(this)); - _variables!.recordDecoratedElementType(node.declaredElement, type); + _variables!.recordDecoratedElementType(node.declaredElement2, type); node.members.accept(this); return null; } @@ -317,7 +317,7 @@ class NodeBuilder extends GeneralizingAstVisitor DecoratedType? visitFunctionDeclaration(FunctionDeclaration node) { _handleExecutableDeclaration( node, - node.declaredElement!, + node.declaredElement2!, node.metadata, node.returnType, node.functionExpression.typeParameters, @@ -350,7 +350,7 @@ class NodeBuilder extends GeneralizingAstVisitor @override DecoratedType? visitFunctionTypeAlias(FunctionTypeAlias node) { node.metadata.accept(this); - var declaredElement = node.declaredElement!; + var declaredElement = node.declaredElement2!; var functionElement = declaredElement.aliasedElement as GenericFunctionTypeElement; var functionType = functionElement.type; @@ -403,12 +403,12 @@ class NodeBuilder extends GeneralizingAstVisitor node.metadata.accept(this); DecoratedType? decoratedFunctionType; node.typeParameters?.accept(this); - var target = NullabilityNodeTarget.element(node.declaredElement!); + var target = NullabilityNodeTarget.element(node.declaredElement2!); _pushNullabilityNodeTarget(target, () { decoratedFunctionType = node.functionType!.accept(this); }); _variables!.recordDecoratedElementType( - (node.declaredElement as TypeAliasElement).aliasedElement, + (node.declaredElement2 as TypeAliasElement).aliasedElement, decoratedFunctionType); return null; } @@ -431,7 +431,7 @@ class NodeBuilder extends GeneralizingAstVisitor @override DecoratedType? visitMethodDeclaration(MethodDeclaration node) { - var declaredElement = node.declaredElement; + var declaredElement = node.declaredElement2; var decoratedType = _handleExecutableDeclaration( node, declaredElement!, @@ -478,7 +478,7 @@ class NodeBuilder extends GeneralizingAstVisitor node.metadata.accept(this); node.typeParameters?.accept(this); node.members.accept(this); - _handleSupertypeClauses(node, node.declaredElement!, null, null, + _handleSupertypeClauses(node, node.declaredElement2!, null, null, node.implementsClause, node.onClause); return null; } @@ -616,7 +616,7 @@ class NodeBuilder extends GeneralizingAstVisitor @override DecoratedType? visitTypeParameter(TypeParameter node) { - var element = node.declaredElement!; + var element = node.declaredElement2!; var bound = node.bound; DecoratedType? decoratedBound; var target = NullabilityNodeTarget.typeParameterBound(element); @@ -638,7 +638,7 @@ class NodeBuilder extends GeneralizingAstVisitor node.metadata.accept(this); var typeAnnotation = node.type; var declaredType = _pushNullabilityNodeTarget( - NullabilityNodeTarget.element(node.variables.first.declaredElement!), + NullabilityNodeTarget.element(node.variables.first.declaredElement2!), () => typeAnnotation?.accept(this)); var hint = getPrefixHint(node.firstTokenAfterCommentAndMetadata); if (hint != null && hint.kind == HintCommentKind.late_) { @@ -650,7 +650,7 @@ class NodeBuilder extends GeneralizingAstVisitor var parent = node.parent; for (var variable in node.variables) { variable.metadata.accept(this); - var declaredElement = variable.declaredElement; + var declaredElement = variable.declaredElement2; var type = declaredType; if (type == null) { var target = NullabilityNodeTarget.element(declaredElement!); @@ -902,7 +902,7 @@ class NodeBuilder extends GeneralizingAstVisitor void _handleSupertypeClauses( NamedCompilationUnitMember astNode, - ClassElement declaredElement, + InterfaceElement declaredElement, NamedType? superclass, WithClause? withClause, ImplementsClause? implementsClause, diff --git a/pkg/nnbd_migration/lib/src/variables.dart b/pkg/nnbd_migration/lib/src/variables.dart index ce1a3682df6..8c42aef69ea 100644 --- a/pkg/nnbd_migration/lib/src/variables.dart +++ b/pkg/nnbd_migration/lib/src/variables.dart @@ -203,11 +203,11 @@ class Variables { (_conditionalDiscards[source] ??= {})[node.offset] = conditionalDiscard; } - /// Associates a [class_] with decorated type information for the superclasses + /// Associates a [interface] with decorated type information for the superclasses /// it directly implements/extends/etc. - void recordDecoratedDirectSupertypes(ClassElement class_, + void recordDecoratedDirectSupertypes(InterfaceElement interface, Map decoratedDirectSupertypes) { - _decoratedDirectSupertypes[class_] = decoratedDirectSupertypes; + _decoratedDirectSupertypes[interface] = decoratedDirectSupertypes; } /// Associates decorated type information with the given [element]. diff --git a/pkg/nnbd_migration/test/migration_visitor_test_base.dart b/pkg/nnbd_migration/test/migration_visitor_test_base.dart index 497717179a4..27ef00a4729 100644 --- a/pkg/nnbd_migration/test/migration_visitor_test_base.dart +++ b/pkg/nnbd_migration/test/migration_visitor_test_base.dart @@ -377,7 +377,7 @@ class MigrationVisitorTestBase extends AbstractSingleUnitTest with EdgeTester { /// Gets the [DecoratedType] associated with the constructor declaration whose /// name matches [search]. DecoratedType decoratedConstructorDeclaration(String search) => variables - .decoratedElementType(findNode.constructor(search).declaredElement!); + .decoratedElementType(findNode.constructor(search).declaredElement2!); Map decoratedDirectSupertypes(String name) { return variables.decoratedDirectSupertypes(findElement.classOrMixin(name)); @@ -394,7 +394,7 @@ class MigrationVisitorTestBase extends AbstractSingleUnitTest with EdgeTester { /// name matches [search]. DecoratedType decoratedMethodType(String search) => variables.decoratedElementType( - findNode.methodDeclaration(search).declaredElement!); + findNode.methodDeclaration(search).declaredElement2!); /// Gets the [DecoratedType] associated with the type annotation whose text /// is [text]. diff --git a/pkg/nnbd_migration/test/node_builder_test.dart b/pkg/nnbd_migration/test/node_builder_test.dart index 609d18bbcbd..a3d310bc170 100644 --- a/pkg/nnbd_migration/test/node_builder_test.dart +++ b/pkg/nnbd_migration/test/node_builder_test.dart @@ -24,11 +24,11 @@ class NodeBuilderTest extends MigrationVisitorTestBase { /// name matches [search]. DecoratedType decoratedFunctionType(String search) => variables.decoratedElementType( - findNode.functionDeclaration(search).declaredElement!); + findNode.functionDeclaration(search).declaredElement2!); DecoratedType? decoratedTypeParameterBound(String search) => variables.decoratedTypeParameterBound( - findNode.typeParameter(search).declaredElement!); + findNode.typeParameter(search).declaredElement2!); Future test_catch_clause_with_stacktrace_with_on() async { await analyze(''' @@ -724,7 +724,7 @@ class C { .fieldDeclaration('f') .fields .variables[0] - .declaredElement!), + .declaredElement2!), same(decoratedType)); } @@ -1376,7 +1376,7 @@ var x = [1]; .topLevelVariableDeclaration('x') .variables .variables[0] - .declaredElement!) + .declaredElement2!) .typeArguments[0]! .node!; expect(node.hintActions, isEmpty); @@ -1391,7 +1391,7 @@ var x = 1; .topLevelVariableDeclaration('x') .variables .variables[0] - .declaredElement!) + .declaredElement2!) .node!; expect(node.hintActions, isEmpty); }