Version 3.9.0-294.0.dev

Merge 4eeb8cfbe60fbcb9f89965cf6de564d660595247 into dev
diff --git a/pkg/analysis_server/lib/src/computer/computer_call_hierarchy.dart b/pkg/analysis_server/lib/src/computer/computer_call_hierarchy.dart
index eb806aa..813fe13 100644
--- a/pkg/analysis_server/lib/src/computer/computer_call_hierarchy.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_call_hierarchy.dart
@@ -377,7 +377,7 @@
       node = node.propertyName;
     }
 
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
 
     // Don't consider synthetic getter/setter for a field to be executable
     // since they don't contain any executable code.
diff --git a/pkg/analysis_server/lib/src/computer/computer_highlights.dart b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
index e3467d2..4918d56 100644
--- a/pkg/analysis_server/lib/src/computer/computer_highlights.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_highlights.dart
@@ -805,7 +805,7 @@
         exceptionParameter.name,
         HighlightRegionType.LOCAL_VARIABLE_DECLARATION,
         additionalSemanticTokenModifiers: _additionalModifiersForElement(
-          exceptionParameter.declaredElement2,
+          exceptionParameter.declaredElement,
         ),
       );
     }
@@ -815,7 +815,7 @@
         stackTraceParameter.name,
         HighlightRegionType.LOCAL_VARIABLE_DECLARATION,
         additionalSemanticTokenModifiers: _additionalModifiersForElement(
-          stackTraceParameter.declaredElement2,
+          stackTraceParameter.declaredElement,
         ),
       );
     }
@@ -940,7 +940,7 @@
       node.name,
       HighlightRegionType.LOCAL_VARIABLE_DECLARATION,
       additionalSemanticTokenModifiers: _additionalModifiersForElement(
-        node.declaredElement2,
+        node.declaredElement,
       ),
     );
 
@@ -1504,7 +1504,7 @@
     computer._addIdentifierRegion(
       parent: node,
       nameToken: node.name,
-      element: node.element2,
+      element: node.element,
     );
 
     node.typeArguments?.accept(this);
@@ -1552,7 +1552,7 @@
     if (name != null) {
       // Patterns can be method tear-offs as well as getters:
       // https://github.com/dart-lang/sdk/issues/59976#issuecomment-2613558317
-      var type = switch (node.element2) {
+      var type = switch (node.element) {
         MethodElement() => HighlightRegionType.INSTANCE_METHOD_TEAR_OFF,
         _ => HighlightRegionType.INSTANCE_GETTER_REFERENCE,
       };
@@ -1688,7 +1688,7 @@
       computer._addIdentifierRegion(
         parent: parent,
         nameToken: node.token,
-        element: node.writeOrReadElement2,
+        element: node.writeOrReadElement,
       );
     }
     super.visitSimpleIdentifier(node);
@@ -1849,7 +1849,7 @@
 
   @override
   void visitVariableDeclaration(VariableDeclaration node) {
-    var element = node.declaredFragment?.element ?? node.declaredElement2;
+    var element = node.declaredFragment?.element ?? node.declaredElement;
     if (element is FieldElement) {
       computer._addRegion_token(
         node.name,
diff --git a/pkg/analysis_server/lib/src/computer/computer_hover.dart b/pkg/analysis_server/lib/src/computer/computer_hover.dart
index c8a64a8..4d06e94 100644
--- a/pkg/analysis_server/lib/src/computer/computer_hover.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_hover.dart
@@ -56,13 +56,13 @@
         node is VariablePattern ||
         node is PatternFieldName ||
         node is DartPattern ||
-        (node is LibraryDirective && node.name2 == null) ||
+        (node is LibraryDirective && node.name == null) ||
         (node is SimpleIdentifier && node.parent is ImportDirective) ||
         node is ImportPrefixReference) {
       var range = _hoverRange(node, locationEntity);
       var hover = HoverInformation(range.offset, range.length);
       // element
-      var element = ElementLocator.locate2(node);
+      var element = ElementLocator.locate(node);
       if (element != null) {
         // short code that illustrates the element meaning.
         hover.elementDescription = _elementDisplayString(node, element);
diff --git a/pkg/analysis_server/lib/src/computer/computer_inlay_hint.dart b/pkg/analysis_server/lib/src/computer/computer_inlay_hint.dart
index 6df65a6..c97ec52 100644
--- a/pkg/analysis_server/lib/src/computer/computer_inlay_hint.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_inlay_hint.dart
@@ -271,7 +271,7 @@
       return;
     }
 
-    var declaration = node.declaredElement2;
+    var declaration = node.declaredElement;
     if (declaration is LocalVariableElement) {
       _computer._addTypePrefix(node.name, declaration.type);
     }
@@ -286,7 +286,7 @@
       return;
     }
 
-    var declaration = node.declaredElement2;
+    var declaration = node.declaredElement;
     if (declaration != null) {
       _computer._addTypePrefix(node.name, declaration.type);
     }
diff --git a/pkg/analysis_server/lib/src/computer/computer_signature.dart b/pkg/analysis_server/lib/src/computer/computer_signature.dart
index 44cfcb2..7975e2c 100644
--- a/pkg/analysis_server/lib/src/computer/computer_signature.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_signature.dart
@@ -42,7 +42,7 @@
     var parent = argumentList.parent;
     if (parent is MethodInvocation) {
       name = parent.methodName.name;
-      element = ElementLocator.locate2(parent);
+      element = ElementLocator.locate(parent);
       parameters =
           element is FunctionTypedElement ? element.formalParameters : null;
     } else if (parent is InstanceCreationExpression) {
@@ -51,7 +51,7 @@
       if (constructorName != null) {
         name += '.${constructorName.name}';
       }
-      element = ElementLocator.locate2(parent);
+      element = ElementLocator.locate(parent);
       parameters =
           element is FunctionTypedElement ? element.formalParameters : null;
     } else if (parent case FunctionExpressionInvocation(
diff --git a/pkg/analysis_server/lib/src/computer/computer_type_arguments_signature.dart b/pkg/analysis_server/lib/src/computer/computer_type_arguments_signature.dart
index 405025a..e74b0a6 100644
--- a/pkg/analysis_server/lib/src/computer/computer_type_arguments_signature.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_type_arguments_signature.dart
@@ -44,9 +44,9 @@
     var parent = argumentList.parent;
     Element? element;
     if (parent is NamedType) {
-      element = parent.element2;
+      element = parent.element;
     } else if (parent is MethodInvocation) {
-      element = ElementLocator.locate2(parent.methodName);
+      element = ElementLocator.locate(parent.methodName);
     }
     if (element is! TypeParameterizedElement ||
         element.typeParameters2.isEmpty) {
diff --git a/pkg/analysis_server/lib/src/computer/imported_elements_computer.dart b/pkg/analysis_server/lib/src/computer/imported_elements_computer.dart
index ca7df1c..50cac9f 100644
--- a/pkg/analysis_server/lib/src/computer/imported_elements_computer.dart
+++ b/pkg/analysis_server/lib/src/computer/imported_elements_computer.dart
@@ -71,8 +71,8 @@
   void visitNamedType(NamedType node) {
     if (node.offset <= endOffset && node.end >= startOffset) {
       var importPrefix = node.importPrefix;
-      var prefix = importPrefix?.element2?.name3 ?? '';
-      _addElement(prefix, node.element2);
+      var prefix = importPrefix?.element?.name3 ?? '';
+      _addElement(prefix, node.element);
     }
 
     super.visitNamedType(node);
@@ -91,7 +91,7 @@
         node.offset <= endOffset &&
         node.end >= startOffset &&
         !_isConstructorDeclarationReturnType(node)) {
-      var nodeElement = node.writeOrReadElement2;
+      var nodeElement = node.writeOrReadElement;
 
       var prefix = '';
       var parent = node.parent;
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 b6cfd77..df3f332 100644
--- a/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart
+++ b/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart
@@ -39,7 +39,7 @@
 
   @override
   void visitAssignedVariablePattern(AssignedVariablePattern node) {
-    var element = node.element2;
+    var element = node.element;
     if (element != null) {
       _addOccurrence(element, node.name);
     }
@@ -100,10 +100,10 @@
 
   @override
   void visitDeclaredVariablePattern(DeclaredVariablePattern node) {
-    if (node.declaredElement2 case BindPatternVariableElement(:var join2?)) {
+    if (node.declaredElement case BindPatternVariableElement(:var join2?)) {
       _addOccurrence(join2.baseElement, node.name);
     } else {
-      _addOccurrence(node.declaredElement2!, node.name);
+      _addOccurrence(node.declaredElement!, node.name);
     }
 
     super.visitDeclaredVariablePattern(node);
@@ -134,7 +134,7 @@
 
   @override
   void visitExtensionOverride(ExtensionOverride node) {
-    _addOccurrence(node.element2, node.name);
+    _addOccurrence(node.element, node.name);
 
     super.visitExtensionOverride(node);
   }
@@ -182,7 +182,7 @@
 
   @override
   void visitImportPrefixReference(ImportPrefixReference node) {
-    _addOccurrence(node.element2!, node.name);
+    _addOccurrence(node.element!, node.name);
 
     super.visitImportPrefixReference(node);
   }
@@ -203,7 +203,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    var element = node.element2;
+    var element = node.element;
     if (element != null) {
       _addOccurrence(element, node.name);
     }
@@ -213,7 +213,7 @@
 
   @override
   void visitPatternField(PatternField node) {
-    var element = node.element2;
+    var element = node.element;
     var pattern = node.pattern;
     // If no explicit field name, use the variables name.
     var name =
@@ -257,7 +257,7 @@
       return;
     }
 
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     if (element != null) {
       _addOccurrence(element, node.token);
     }
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_imports.dart b/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_imports.dart
index a9d3165..9dd4242 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_imports.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_imports.dart
@@ -63,7 +63,7 @@
         return success(null);
       }
 
-      var element = ElementLocator.locate2(node);
+      var element = ElementLocator.locate(node);
       if (element == null) {
         return success(null);
       }
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_super.dart b/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_super.dart
index d937acc..f772c84 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_super.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/custom/handler_super.dart
@@ -50,7 +50,7 @@
         return success(null);
       }
 
-      var element = ElementLocator.locate2(node);
+      var element = ElementLocator.locate(node);
       if (element == null) {
         return success(null);
       }
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_inline_value.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_inline_value.dart
index ff8b99c..99cfc42 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_inline_value.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_inline_value.dart
@@ -294,7 +294,7 @@
   void visitDeclaredIdentifier(DeclaredIdentifier node) {
     var name = node.name;
     collector.recordVariableLookup(
-      node.declaredElement2,
+      node.declaredElement,
       name.offset,
       name.length,
     );
@@ -305,7 +305,7 @@
   void visitDeclaredVariablePattern(DeclaredVariablePattern node) {
     var name = node.name;
     collector.recordVariableLookup(
-      node.declaredElement2,
+      node.declaredElement,
       name.offset,
       name.length,
     );
@@ -417,7 +417,7 @@
   void visitVariableDeclaration(VariableDeclaration node) {
     var name = node.name;
     collector.recordVariableLookup(
-      node.declaredElement2,
+      node.declaredElement,
       name.offset,
       name.length,
     );
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart
index 3f343c9..b4f7a4a 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_type_definition.dart
@@ -83,7 +83,7 @@
         DartType? type;
         if (node is NamedType) {
           originEntity = node.name;
-          var element = node.element2;
+          var element = node.element;
           if (element case analyzer.InterfaceElement element) {
             type = element.thisType;
           }
@@ -213,7 +213,7 @@
           return element.type;
         }
       } else if (node.inSetterContext()) {
-        var writeElement = node.writeOrReadElement2;
+        var writeElement = node.writeOrReadElement;
         if (writeElement
             case analyzer.GetterElement(:var variable3) ||
                 analyzer.SetterElement(:var variable3)) {
diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
index 6747afb..72e1f4c 100644
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
@@ -171,7 +171,7 @@
 String? _computeLibraryName(CompilationUnit unit) {
   for (var directive in unit.directives) {
     if (directive is LibraryDirective) {
-      return directive.name2?.name;
+      return directive.name?.name;
     }
   }
   for (var directive in unit.directives) {
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart b/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
index 53895d894..b28e8c9 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
@@ -2442,12 +2442,12 @@
   }
 
   void _visitCatchClause(CatchClause node) {
-    var exceptionElement = node.exceptionParameter?.declaredElement2;
+    var exceptionElement = node.exceptionParameter?.declaredElement;
     if (exceptionElement != null) {
       _suggestVariable(exceptionElement);
     }
 
-    var stackTraceElement = node.stackTraceParameter?.declaredElement2;
+    var stackTraceElement = node.stackTraceParameter?.declaredElement;
     if (stackTraceElement != null) {
       _suggestVariable(stackTraceElement);
     }
@@ -2474,7 +2474,7 @@
   }
 
   void _visitDeclaredVariablePattern(DeclaredVariablePattern pattern) {
-    var declaredElement = pattern.declaredElement2;
+    var declaredElement = pattern.declaredElement;
     if (declaredElement != null) {
       _suggestVariable(declaredElement);
     }
@@ -2482,7 +2482,7 @@
 
   void _visitForLoopParts(ForLoopParts node) {
     if (node is ForEachPartsWithDeclaration) {
-      var declaredElement = node.loopVariable.declaredElement2;
+      var declaredElement = node.loopVariable.declaredElement;
       if (declaredElement != null) {
         _suggestVariable(declaredElement);
       }
@@ -2491,7 +2491,7 @@
     } else if (node is ForPartsWithDeclarations) {
       var variables = node.variables;
       for (var variable in variables.variables) {
-        var declaredElement = variable.declaredElement2;
+        var declaredElement = variable.declaredElement;
         if (declaredElement is LocalVariableElement) {
           _suggestVariable(declaredElement);
         }
@@ -2602,7 +2602,7 @@
           var variables = statement.variables;
           for (var variable in variables.variables) {
             if (variable.end < offset) {
-              var declaredElement = variable.declaredElement2;
+              var declaredElement = variable.declaredElement;
               if (declaredElement != null) {
                 _suggestVariable(declaredElement);
               }
@@ -2683,7 +2683,7 @@
     if (child is VariableDeclaration) {
       var index = variables.indexOf(child);
       for (var i = index - 1; i >= 0; i--) {
-        var element = variables[i].declaredElement2;
+        var element = variables[i].declaredElement;
         if (element != null) {
           _suggestVariable(element);
         }
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 a982ffb..6732fa0 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
@@ -555,7 +555,7 @@
           }
           if (argument.contains(offset)) {
             if (offset >= argument.name.end) {
-              return argument.element2?.type;
+              return argument.element?.type;
             }
             return null;
           }
@@ -1251,9 +1251,9 @@
     pattern = pattern.unParenthesized;
     Element? element;
     if (pattern is AssignedVariablePattern) {
-      element = pattern.element2;
+      element = pattern.element;
     } else if (pattern is DeclaredVariablePattern) {
-      element = pattern.declaredElement2;
+      element = pattern.declaredElement;
       // } else if (pattern is RecordPattern) {
       //   pattern.fields.map((e) => _requiredTypeOfPattern(e.pattern)).toList();
     } else if (pattern is ListPattern) {
@@ -1281,7 +1281,7 @@
     if (type is! InterfaceType) {
       return null;
     }
-    var declaredElement = field.element2?.library;
+    var declaredElement = field.element?.library;
     var uri = declaredElement?.uri;
     var member = type.element.getInterfaceMember(Name(uri, name));
     if (member is GetterElement) {
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart b/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
index ac2921e..c2c3b1e 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
@@ -783,7 +783,7 @@
   @override
   void visitConstructorName(ConstructorName node) {
     if (node.parent is ConstructorReference) {
-      var element = node.type.element2;
+      var element = node.type.element;
       if (element is InterfaceElement) {
         declarationHelper(
           preferNonInvocation: true,
@@ -1695,7 +1695,7 @@
   void visitImportPrefixReference(ImportPrefixReference node) {
     var parent = node.parent;
     if (parent is NamedType && offset <= parent.name.offset) {
-      var element = node.element2;
+      var element = node.element;
       DartType type;
       collector.completionLocation = 'PropertyAccess_propertyName';
       if (element is FunctionTypedElement) {
@@ -2081,7 +2081,7 @@
         collector.completionLocation = 'ArgumentList_method_named';
       }
       _forExpression(node, mustBeNonVoid: inArgumentList);
-      var parameterType = node.element2?.type;
+      var parameterType = node.element?.type;
       if (parameterType is FunctionType) {
         var includeTrailingComma = !node.isFollowedByComma;
         _addClosureSuggestion(parameterType, includeTrailingComma);
@@ -2092,7 +2092,7 @@
   @override
   void visitNamedType(NamedType node) {
     var importPrefix = node.importPrefix;
-    var prefixElement = importPrefix?.element2;
+    var prefixElement = importPrefix?.element;
 
     // `prefix.x^ print(0);` is recovered as `prefix.x print; (0);`.
     if (prefixElement is PrefixElement) {
@@ -2388,7 +2388,7 @@
       }
       if (type == null && target is ExtensionOverride) {
         declarationHelper().addMembersFromExtensionElement(
-          target.element2,
+          target.element,
           excludedGetters: {},
           includeMethods: true,
           includeSetters: true,
@@ -2643,7 +2643,7 @@
       collector.completionLocation = 'FormalParameterList_parameter';
       if (type is NamedType) {
         if (type.importPrefix case var importPrefix?) {
-          var prefixElement = importPrefix.element2;
+          var prefixElement = importPrefix.element;
           if (prefixElement is PrefixElement) {
             if (type.name.coversOffset(offset)) {
               declarationHelper(
@@ -3854,7 +3854,7 @@
 
     if (node is NamedType) {
       if (node.importPrefix case var importPrefix?) {
-        var prefixElement = importPrefix.element2;
+        var prefixElement = importPrefix.element;
         if (prefixElement is PrefixElement) {
           declarationHelper(
             mustBeExtensible: mustBeExtensible,
@@ -4336,11 +4336,11 @@
   Element? get invokedElement {
     switch (parent) {
       case Annotation invocation:
-        return invocation.element2;
+        return invocation.element;
       case EnumConstantArguments invocation:
         var grandParent = invocation.parent;
         if (grandParent is EnumConstantDeclaration) {
-          return grandParent.constructorElement2;
+          return grandParent.constructorElement;
         }
       case FunctionExpressionInvocation invocation:
         var element = invocation.element;
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 5fc0211..5791a96 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
@@ -149,7 +149,7 @@
     if (parent is AssignmentExpression && target == parent.rightHandSide) {
       toType = parent.writeType!;
     } else if (parent is VariableDeclaration && target == parent.initializer) {
-      if (parent.declaredElement2 case var declaredElement?) {
+      if (parent.declaredElement case var declaredElement?) {
         toType = declaredElement.type;
       } else if (parent.declaredFragment case var declaredFragment?) {
         toType = declaredFragment.element.type;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_late.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_late.dart
index 6fbdb14..e073d15 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_late.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_late.dart
@@ -63,7 +63,7 @@
         }
       }
     } else if (node is SimpleIdentifier) {
-      var getter = node.writeOrReadElement2;
+      var getter = node.writeOrReadElement;
       if (getter is GetterElement &&
           getter.isSynthetic &&
           getter.enclosingElement is InterfaceElement) {
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 07952c9..cdf8e02 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
@@ -122,7 +122,7 @@
       toType = parent.realTarget.typeOrThrow;
     } else if (parent is ForEachPartsWithDeclaration) {
       toType = typeProvider.iterableType(
-        parent.loopVariable.declaredElement2!.type,
+        parent.loopVariable.declaredElement!.type,
       );
     } else if (parent is ForEachPartsWithIdentifier) {
       toType = typeProvider.iterableType(parent.identifier.typeOrThrow);
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 f4824d6..54db29d 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
@@ -114,7 +114,7 @@
     if (declaredIdentifier.type != null) {
       return;
     }
-    var type = declaredIdentifier.declaredElement2!.type;
+    var type = declaredIdentifier.declaredElement!.type;
     if (type is! InterfaceType &&
         type is! FunctionType &&
         type is! RecordType &&
@@ -225,7 +225,7 @@
     if (statement is! VariableDeclarationStatement || block is! Block) {
       return null;
     }
-    var element = variable.declaredElement2;
+    var element = variable.declaredElement;
     if (element == null) {
       return null;
     }
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/ambiguous_import_fix.dart b/pkg/analysis_server/lib/src/services/correction/dart/ambiguous_import_fix.dart
index 02bdfef..a1d333b 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/ambiguous_import_fix.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/ambiguous_import_fix.dart
@@ -24,7 +24,7 @@
     Element? element;
     String? prefix;
     if (node is NamedType) {
-      element = node.element2;
+      element = node.element;
       prefix = node.importPrefix?.name.lexeme;
     } else if (node is SimpleIdentifier) {
       element = node.element;
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 a9e9967..9f8db80 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
@@ -163,7 +163,7 @@
         _updateFinderWithClassMembers(finder, interfaceElement);
       }
     } else if (target is ExtensionOverride) {
-      _updateFinderWithExtensionMembers(finder, target.element2);
+      _updateFinderWithExtensionMembers(finder, target.element);
     } else if (targetIdentifierElement is ExtensionElement) {
       _updateFinderWithExtensionMembers(finder, targetIdentifierElement);
     } else {
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_null_check_to_null_aware_element_or_entry.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_null_check_to_null_aware_element_or_entry.dart
index ce4cd69..6baad64 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_null_check_to_null_aware_element_or_entry.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_null_check_to_null_aware_element_or_entry.dart
@@ -105,7 +105,7 @@
               ((node.caseClause?.guardedPattern.pattern as NullCheckPattern)
                           .pattern
                       as DeclaredVariablePattern)
-                  .declaredElement2;
+                  .declaredElement;
           if (caseVariable == thenElement.key.canonicalElement) {
             // In case the key is promoted, replace everything before ':' with
             // the expression before 'case', prefixed by '?'.
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_function_declaration.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_function_declaration.dart
index 26b9226..ac2c9a5 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_function_declaration.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_function_declaration.dart
@@ -83,7 +83,7 @@
       DartType? returnType;
       List<FormalParameterElement?>? parameterList;
       if (type case NamedType(
-        element2: TypeAliasElement(:GenericFunctionTypeElement aliasedElement2),
+        element: TypeAliasElement(:GenericFunctionTypeElement aliasedElement2),
       )) {
         returnType = aliasedElement2.returnType;
         parameterList = aliasedElement2.formalParameters;
@@ -177,6 +177,7 @@
 
 class _ReturnVisitor extends RecursiveAstVisitor<void> {
   int _count = 0;
+
   bool get noReturnFounds => _count == 0;
 
   @override
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_if_case_statement.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_if_case_statement.dart
index 8442ff2..31cae67 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_if_case_statement.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_if_case_statement.dart
@@ -239,7 +239,7 @@
       return null;
     }
 
-    var declaredElement = declaration.declaredElement2;
+    var declaredElement = declaration.declaredElement;
     if (declaredElement is! LocalVariableElement) {
       return null;
     }
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_wildcard_variable.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_wildcard_variable.dart
index 6a023f1..da277a1 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_wildcard_variable.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_wildcard_variable.dart
@@ -46,7 +46,7 @@
     if (node is! VariableDeclaration) return;
 
     var nameToken = node.name;
-    var element = node.declaredElement2;
+    var element = node.declaredElement;
     if (element is! LocalVariableElement) {
       return;
     }
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_class.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_class.dart
index 79f3d72..5f08fd7 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_class.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_class.dart
@@ -38,7 +38,7 @@
     if (targetNode is NamedType) {
       var importPrefix = targetNode.importPrefix;
       if (importPrefix != null) {
-        prefixElement = importPrefix.element2;
+        prefixElement = importPrefix.element;
         if (prefixElement == null) {
           return const [];
         }
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart
index 00bdea7..a9609f3 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_getter.dart
@@ -144,7 +144,7 @@
     var staticModifier = false;
     InstanceElement? targetElement;
     if (target is ExtensionOverride) {
-      targetElement = target.element2;
+      targetElement = target.element;
     } else if (target case Identifier(element: InstanceElement element)) {
       targetElement = element;
       staticModifier = true;
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 9f9422d..2f17015 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
@@ -100,7 +100,7 @@
     CompilationUnitMember? targetNode;
     var target = invocation.realTarget;
     if (target is ExtensionOverride) {
-      targetFragment = target.element2.firstFragment;
+      targetFragment = target.element.firstFragment;
       if (targetFragment is ExtensionFragment) {
         targetNode = await getExtensionDeclaration(targetFragment);
         if (targetNode == null) {
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_mixin.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_mixin.dart
index caa842b..0504d3d 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_mixin.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_mixin.dart
@@ -24,7 +24,7 @@
     if (node is NamedType) {
       var importPrefix = node.importPrefix;
       if (importPrefix != null) {
-        prefixElement = importPrefix.element2;
+        prefixElement = importPrefix.element;
         if (prefixElement == null) {
           return const [];
         }
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart b/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart
index 5ea1054..bf14fc6 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/create_setter.dart
@@ -51,7 +51,7 @@
     var staticModifier = false;
     InstanceElement? targetElement;
     if (target is ExtensionOverride) {
-      targetElement = target.element2;
+      targetElement = target.element;
     } else if (target is Identifier && target.element is ExtensionElement) {
       targetElement = target.element as ExtensionElement;
       staticModifier = true;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/destructure_local_variable_assignment.dart b/pkg/analysis_server/lib/src/services/correction/dart/destructure_local_variable_assignment.dart
index 3fb67ab..c496727 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/destructure_local_variable_assignment.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/destructure_local_variable_assignment.dart
@@ -33,7 +33,7 @@
   Future<void> compute(ChangeBuilder builder) async {
     var node = this.node;
     if (node is! VariableDeclaration) return;
-    var element = node.declaredElement2;
+    var element = node.declaredElement;
     if (element == null) return;
     var type = element.type;
     switch (type) {
@@ -51,7 +51,7 @@
   ) async {
     // TODO(pq): share reference checking w/ record computation
 
-    var variableElement = node.declaredElement2;
+    var variableElement = node.declaredElement;
     if (variableElement == null) return;
 
     var function = node.thisOrAncestorOfType<FunctionBody>();
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 cce3a32..0486860 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
@@ -296,7 +296,7 @@
       }
     }
     if (node.inSetterContext()) {
-      var element = node.writeOrReadElement2;
+      var element = node.writeOrReadElement;
       if (element is SetterElement) {
         var field = element.variable3;
         if (field is FieldElement) {
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 c4c4482..1537b03 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
@@ -299,7 +299,7 @@
       }
     }
     if (node.inSetterContext()) {
-      var element = node.writeOrReadElement2;
+      var element = node.writeOrReadElement;
       var field = switch (element) {
         PropertyAccessorElement(:var variable3) => variable3,
         _ => null,
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/flutter_remove_widget.dart b/pkg/analysis_server/lib/src/services/correction/dart/flutter_remove_widget.dart
index a5488f6..9e1b070 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/flutter_remove_widget.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/flutter_remove_widget.dart
@@ -168,7 +168,7 @@
 
   @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
-    if (node.writeOrReadElement2 == element) {
+    if (node.writeOrReadElement == element) {
       used = true;
     }
   }
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/import_add_show.dart b/pkg/analysis_server/lib/src/services/correction/dart/import_add_show.dart
index 120d89e..9f4ad54 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/import_add_show.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/import_add_show.dart
@@ -67,8 +67,8 @@
 
   @override
   void visitAssignmentExpression(AssignmentExpression node) {
-    _addImplicitExtensionName(node.readElement2?.enclosingElement);
-    _addImplicitExtensionName(node.writeElement2?.enclosingElement);
+    _addImplicitExtensionName(node.readElement?.enclosingElement);
+    _addImplicitExtensionName(node.writeElement?.enclosingElement);
     super.visitAssignmentExpression(node);
   }
 
@@ -98,13 +98,13 @@
 
   @override
   void visitNamedType(NamedType node) {
-    _addName(node.name, node.element2);
+    _addName(node.name, node.element);
     super.visitNamedType(node);
   }
 
   @override
   void visitPatternField(PatternField node) {
-    _addImplicitExtensionName(node.element2?.enclosingElement);
+    _addImplicitExtensionName(node.element?.enclosingElement);
     super.visitPatternField(node);
   }
 
@@ -128,7 +128,7 @@
 
   @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     _addName(node.token, element);
   }
 
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 d53f70b..508885f 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
@@ -85,7 +85,7 @@
     // The declared variable must be the one that is assigned.
     // There must be no initializer.
     var declaredVariable = declaredVariables.single;
-    if (declaredVariable.declaredElement2 != left.element ||
+    if (declaredVariable.declaredElement != left.element ||
         declaredVariable.initializer != null) {
       return;
     }
@@ -149,7 +149,7 @@
     }
 
     // The assignment should write into the declared variable.
-    if (assignment.writeElement2 != declaredVariable.declaredElement2) {
+    if (assignment.writeElement != declaredVariable.declaredElement) {
       return;
     }
 
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/make_field_not_final.dart b/pkg/analysis_server/lib/src/services/correction/dart/make_field_not_final.dart
index 33f74ba..4dbb028 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/make_field_not_final.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/make_field_not_final.dart
@@ -35,7 +35,7 @@
       return;
     }
 
-    var getter = node.writeOrReadElement2;
+    var getter = node.writeOrReadElement;
 
     // The accessor must be a getter, and it must be synthetic.
     if (!(getter is GetterElement && getter.isSynthetic)) {
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 9ce8713..039802b 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
@@ -67,7 +67,7 @@
         if (statement is VariableDeclarationStatement) {
           var variableList = statement.variables;
           for (var declaration in variableList.variables) {
-            if (declaration.declaredElement2 == variable) {
+            if (declaration.declaredElement == variable) {
               return variableList;
             }
           }
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/remove_leading_underscore.dart b/pkg/analysis_server/lib/src/services/correction/dart/remove_leading_underscore.dart
index d87fa33..6b5084a 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/remove_leading_underscore.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/remove_leading_underscore.dart
@@ -38,10 +38,10 @@
       element = node.declaredFragment?.element;
     } else if (node is VariableDeclaration) {
       nameToken = node.name;
-      element = node.declaredElement2 ?? node.declaredFragment?.element;
+      element = node.declaredElement ?? node.declaredFragment?.element;
     } else if (node is DeclaredVariablePattern) {
       nameToken = node.name;
-      element = node.declaredElement2;
+      element = node.declaredElement;
     } else if (node is FunctionDeclaration) {
       nameToken = node.name;
       element = node.declaredFragment?.element;
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 03c38ca..1e02245 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
@@ -260,7 +260,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    if (node.element2 == element) {
+    if (node.element == element) {
       references.add(node);
     }
 
@@ -269,7 +269,7 @@
 
   @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
-    var staticElement = node.writeOrReadElement2;
+    var staticElement = node.writeOrReadElement;
     if (staticElement == element) {
       references.add(node);
     } else if (staticElement is PropertyAccessorElement) {
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 047a0a9..63aeb41 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
@@ -286,10 +286,10 @@
   LocalVariableElement? _localVariableElement() {
     var node = this.node;
     if (node is DeclaredVariablePattern) {
-      return node.declaredElement2;
+      return node.declaredElement;
     } else if (node is VariableDeclaration) {
       if (node.name == token) {
-        return node.declaredElement2;
+        return node.declaredElement;
       }
     }
     return null;
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/rename_to_camel_case.dart b/pkg/analysis_server/lib/src/services/correction/dart/rename_to_camel_case.dart
index 319a420..5a24e67 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/rename_to_camel_case.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/rename_to_camel_case.dart
@@ -42,7 +42,7 @@
       element = node.declaredFragment?.element;
     } else if (node is VariableDeclaration) {
       nameToken = node.name;
-      element = node.declaredElement2 ?? node.declaredFragment?.element;
+      element = node.declaredElement ?? node.declaredFragment?.element;
     } else if (node is RecordTypeAnnotationField) {
       // RecordTypeAnnotationFields do not have Elements.
       nameToken = node.name;
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 6299826..8c86978 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
@@ -114,7 +114,7 @@
           var variable = conditional.parent as VariableDeclaration;
           var variableList = variable.parent as VariableDeclarationList;
           if (variableList.type == null) {
-            var type = variable.declaredElement2!.type;
+            var type = variable.declaredElement!.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_null_with_closure.dart b/pkg/analysis_server/lib/src/services/correction/dart/replace_null_with_closure.dart
index 317bb5a..34cf177 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/replace_null_with_closure.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/replace_null_with_closure.dart
@@ -33,7 +33,7 @@
     if (coveringNode is NamedExpression) {
       var expression = coveringNode.expression;
       if (expression is NullLiteral) {
-        var element = coveringNode.element2;
+        var element = coveringNode.element;
         if (element is FormalParameterElement) {
           var type = element.type;
           if (type is FunctionType) {
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/shadow_field.dart b/pkg/analysis_server/lib/src/services/correction/dart/shadow_field.dart
index d7b4d79..03eb29a 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/shadow_field.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/shadow_field.dart
@@ -30,7 +30,7 @@
       return;
     }
 
-    var accessor = node.writeOrReadElement2;
+    var accessor = node.writeOrReadElement;
     if (accessor is! GetterElement) {
       return;
     }
@@ -139,7 +139,7 @@
 
   @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
-    if (node.writeOrReadElement2 == setter) {
+    if (node.writeOrReadElement == setter) {
       hasSetterReference = true;
     }
   }
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 ac51a8d..2555036 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
@@ -60,7 +60,7 @@
 
     await builder.addDartFileEdit(file, (builder) {
       if (variableList.type == null) {
-        var type = variable.declaredElement2!.type;
+        var type = variable.declaredElement!.type;
         if (type is! DynamicType && keyword != null) {
           if (!builder.canWriteType(type)) {
             return;
diff --git a/pkg/analysis_server/lib/src/services/correction/executable_parameters.dart b/pkg/analysis_server/lib/src/services/correction/executable_parameters.dart
index b8acc42..d7b42d1 100644
--- a/pkg/analysis_server/lib/src/services/correction/executable_parameters.dart
+++ b/pkg/analysis_server/lib/src/services/correction/executable_parameters.dart
@@ -78,7 +78,7 @@
     Element? element;
     // This doesn't handle FunctionExpressionInvocation.
     if (invocation is Annotation) {
-      element = invocation.element2;
+      element = invocation.element;
     } else if (invocation is InstanceCreationExpression) {
       element = invocation.constructorName.element;
     } else if (invocation is MethodInvocation) {
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
index fca2c22..30d8c6d 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
@@ -582,7 +582,7 @@
     if (element == null) {
       var parent = identifier.parent;
       if (parent is AssignmentExpression && identifier == parent.leftHandSide) {
-        element = parent.writeElement2;
+        element = parent.writeElement;
       }
     }
     if (element != null) {
diff --git a/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart b/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart
index 7aca2cb..6ca3f1e 100644
--- a/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart
+++ b/pkg/analysis_server/lib/src/services/correction/name_suggestion.dart
@@ -202,7 +202,7 @@
       return namedType.name.lexeme;
     }
     // new prefix.ClassName()
-    if (importPrefix.element2 is PrefixElement) {
+    if (importPrefix.element is PrefixElement) {
       return namedType.name.lexeme;
     }
     // new ClassName.constructorName()
diff --git a/pkg/analysis_server/lib/src/services/correction/util.dart b/pkg/analysis_server/lib/src/services/correction/util.dart
index 4ae647d..b6bc71e 100644
--- a/pkg/analysis_server/lib/src/services/correction/util.dart
+++ b/pkg/analysis_server/lib/src/services/correction/util.dart
@@ -436,7 +436,7 @@
 
   @override
   void visitImportPrefixReference(ImportPrefixReference node) {
-    if (node.element2 == element) {
+    if (node.element == element) {
       references.add(SimpleIdentifierImpl(token: node.name));
     }
   }
@@ -445,7 +445,7 @@
   void visitListPattern(ListPattern node) {
     for (var item in node.elements) {
       if (item is AssignedVariablePattern) {
-        if (item.element2 == element) {
+        if (item.element == element) {
           references.add(item);
         }
       }
@@ -457,7 +457,7 @@
     for (var field in node.fields) {
       var pattern = field.pattern.unparenthesized;
       if (pattern is AssignedVariablePattern) {
-        if (pattern.element2 == element) {
+        if (pattern.element == element) {
           references.add(field.pattern);
         }
       }
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 e043f87..5e4d755 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
@@ -216,7 +216,7 @@
 }
 
 Element? _getLocalElement(SimpleIdentifier node) {
-  var element = node.writeOrReadElement2;
+  var element = node.writeOrReadElement;
   if (isLocalElement(element)) {
     return element;
   }
@@ -1339,7 +1339,7 @@
         invalidSelection('Cannot extract the name part of a declaration.');
       }
       // method name
-      var element = node.writeOrReadElement2;
+      var element = node.writeOrReadElement;
       if (element is LocalFunctionElement ||
           element is MethodElement ||
           element is TopLevelFunctionElement) {
@@ -1729,7 +1729,7 @@
 
   @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
-    var nodeElement = node.writeOrReadElement2;
+    var nodeElement = node.writeOrReadElement;
     if (identical(nodeElement, element)) {
       var nodeOffset = node.offset;
       if (nodeOffset > ref._selectionRange.end) {
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 7ac2800..2e6b58a 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
@@ -622,7 +622,7 @@
 
   @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     if (element == null) {
       return;
     }
diff --git a/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart b/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart
index b6bd61b..bc433b5 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart
@@ -362,7 +362,7 @@
       element = selectedNode.declaredFragment?.element;
       isDeclaration = true;
     } else if (selectedNode is SimpleIdentifier) {
-      element = selectedNode.writeOrReadElement2;
+      element = selectedNode.writeOrReadElement;
     } else {
       return fatalStatus;
     }
@@ -418,7 +418,7 @@
       isDeclaration = true;
     } else if (selectedNode is SimpleIdentifier &&
         selectedNode.parent is! Combinator) {
-      element = selectedNode.writeOrReadElement2;
+      element = selectedNode.writeOrReadElement;
     } else {
       return fatalStatus;
     }
@@ -980,7 +980,7 @@
       return;
     }
     // should be a method or field reference
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     if (element is ExecutableElement) {
       if (element is MethodElement || element is PropertyAccessorElement) {
         // OK
diff --git a/pkg/analysis_server/lib/src/services/refactoring/legacy/refactoring.dart b/pkg/analysis_server/lib/src/services/refactoring/legacy/refactoring.dart
index 08e6370..79ec48b 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/legacy/refactoring.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/refactoring.dart
@@ -616,7 +616,7 @@
     // Rename the class when on `new` in an instance creation.
     if (node is InstanceCreationExpression) {
       var namedType = node.constructorName.type;
-      element = namedType.element2;
+      element = namedType.element;
       offset = namedType.name.offset;
       length = namedType.name.length;
     }
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 2ec2988..2d798af 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
@@ -362,10 +362,10 @@
   void visitSimpleIdentifier(SimpleIdentifier node) {
     var element = node.element;
     if (node.parent case AssignmentExpression(
-      :var writeElement2,
+      :var writeElement,
       :var leftHandSide,
     ) when node == leftHandSide) {
-      element = writeElement2;
+      element = writeElement;
     }
     if (element is! PropertyAccessorElement) {
       return;
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 6684513..7416dc5 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
@@ -14,8 +14,8 @@
 
   @override
   void visitCatchClause(CatchClause node) {
-    _addLocalVariable(node, node.exceptionParameter?.declaredElement2);
-    _addLocalVariable(node, node.stackTraceParameter?.declaredElement2);
+    _addLocalVariable(node, node.exceptionParameter?.declaredElement);
+    _addLocalVariable(node, node.stackTraceParameter?.declaredElement);
     node.body.accept(this);
   }
 
@@ -36,7 +36,7 @@
   void visitForPartsWithDeclarations(ForPartsWithDeclarations node) {
     var loop = node.parent;
     for (var variable in node.variables.variables) {
-      _addLocalVariable(loop, variable.declaredElement2);
+      _addLocalVariable(loop, variable.declaredElement);
       variable.initializer?.accept(this);
     }
   }
@@ -71,7 +71,7 @@
     var block = node.parent;
     if (block != null) {
       for (var variable in node.variables.variables) {
-        _addLocalVariable(block, variable.declaredElement2);
+        _addLocalVariable(block, variable.declaredElement);
         variable.initializer?.accept(this);
       }
     }
diff --git a/pkg/analysis_server/lib/src/services/refactoring/move_top_level_to_file.dart b/pkg/analysis_server/lib/src/services/refactoring/move_top_level_to_file.dart
index d94fcef..5ccc4df 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/move_top_level_to_file.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/move_top_level_to_file.dart
@@ -562,7 +562,7 @@
   /// Gets all sealed [ClassElement]s that are superclasses of this member.
   Iterable<ClassElement> get sealedSuperclassElements {
     return superclasses
-        .map((type) => type?.element2)
+        .map((type) => type?.element)
         .whereType<ClassElement>()
         .where((element) => element.isSealed);
   }
diff --git a/pkg/analysis_server/lib/src/status/utilities/ast_writer.dart b/pkg/analysis_server/lib/src/status/utilities/ast_writer.dart
index c8704c0..f04fe54 100644
--- a/pkg/analysis_server/lib/src/status/utilities/ast_writer.dart
+++ b/pkg/analysis_server/lib/src/status/utilities/ast_writer.dart
@@ -35,9 +35,9 @@
     properties['name'] = _getName(node);
     if (node is ArgumentListImpl) {
       properties['corresponding static parameters'] =
-          node.correspondingStaticParameters2;
+          node.correspondingStaticParameters;
     } else if (node is Annotation) {
-      properties['element'] = node.element2;
+      properties['element'] = node.element;
       properties['element annotation'] = node.elementAnnotation;
     } else if (node is BinaryExpression) {
       properties['element'] = node.element;
@@ -55,7 +55,7 @@
     } else if (node is ConstructorName) {
       properties['element'] = node.element;
     } else if (node is DeclaredIdentifier) {
-      properties['element'] = node.declaredElement2;
+      properties['element'] = node.declaredElement;
       properties['keyword'] = node.keyword;
     } else if (node is ExportDirective) {
       properties['library export'] = node.libraryExport;
@@ -92,7 +92,7 @@
     } else if (node is InstanceCreationExpression) {
       properties['static type'] = node.staticType;
     } else if (node is LibraryDirective) {
-      properties['element'] = node.element2;
+      properties['element'] = node.element;
     } else if (node is MethodDeclaration) {
       properties['declared fragment'] = node.declaredFragment;
       properties['external keyword'] = node.externalKeyword;
diff --git a/pkg/analysis_server/lib/src/utilities/extensions/ast.dart b/pkg/analysis_server/lib/src/utilities/extensions/ast.dart
index 9554aa7..2d0debb 100644
--- a/pkg/analysis_server/lib/src/utilities/extensions/ast.dart
+++ b/pkg/analysis_server/lib/src/utilities/extensions/ast.dart
@@ -193,7 +193,7 @@
     if (useMockForImport && node is ImportDirective) {
       element = MockLibraryImportElement(node.libraryImport!);
     } else {
-      element = ElementLocator.locate2(node);
+      element = ElementLocator.locate(node);
     }
     if (useMockForImport &&
         node is SimpleIdentifier &&
diff --git a/pkg/analysis_server/lib/src/utilities/import_analyzer.dart b/pkg/analysis_server/lib/src/utilities/import_analyzer.dart
index 0439d1a..d3a76ae 100644
--- a/pkg/analysis_server/lib/src/utilities/import_analyzer.dart
+++ b/pkg/analysis_server/lib/src/utilities/import_analyzer.dart
@@ -190,8 +190,8 @@
 
   @override
   void visitAssignmentExpression(AssignmentExpression node) {
-    _recordReference(node.writeElement2, node, node.leftHandSide);
-    _recordReference(node.readElement2, node, node.leftHandSide);
+    _recordReference(node.writeElement, node, node.leftHandSide);
+    _recordReference(node.readElement, node, node.leftHandSide);
     super.visitAssignmentExpression(node);
   }
 
@@ -274,21 +274,21 @@
 
   @override
   void visitNamedType(NamedType node) {
-    _recordReference(node.element2, node, node);
+    _recordReference(node.element, node, node);
     super.visitNamedType(node);
   }
 
   @override
   void visitPostfixExpression(PostfixExpression node) {
-    _recordReference(node.writeElement2, node, node.operand);
-    _recordReference(node.readElement2, node, node.operand);
+    _recordReference(node.writeElement, node, node.operand);
+    _recordReference(node.readElement, node, node.operand);
     super.visitPostfixExpression(node);
   }
 
   @override
   void visitPrefixExpression(PrefixExpression node) {
-    _recordReference(node.writeElement2, node, node.operand);
-    _recordReference(node.readElement2, node, node.operand);
+    _recordReference(node.writeElement, node, node.operand);
+    _recordReference(node.readElement, node, node.operand);
     super.visitPrefixExpression(node);
   }
 
@@ -388,7 +388,7 @@
         }
       }
     } else if (node is NamedType) {
-      return node.importPrefix?.element2.ifTypeOrNull();
+      return node.importPrefix?.element.ifTypeOrNull();
     }
     return null;
   }
diff --git a/pkg/analysis_server/test/services/refactoring/legacy/abstract_rename.dart b/pkg/analysis_server/test/services/refactoring/legacy/abstract_rename.dart
index 42bdc43..1f3591c 100644
--- a/pkg/analysis_server/test/services/refactoring/legacy/abstract_rename.dart
+++ b/pkg/analysis_server/test/services/refactoring/legacy/abstract_rename.dart
@@ -46,7 +46,7 @@
       case ImportDirective():
         element = MockLibraryImportElement(node.libraryImport!);
       default:
-        element = ElementLocator.locate2(node);
+        element = ElementLocator.locate(node);
     }
 
     if (node is SimpleIdentifier && element is PrefixElement) {
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 3a9e63e..cf0c5fb 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
@@ -669,7 +669,7 @@
 
   void _createEnumConstantRefactoring(String search) {
     var enumConstant = findNode.enumConstantDeclaration(search);
-    var element = enumConstant.constructorElement2;
+    var element = enumConstant.constructorElement;
     createRenameRefactoringForElement2(element);
   }
 }
diff --git a/pkg/analysis_server/tool/code_completion/code_metrics.dart b/pkg/analysis_server/tool/code_completion/code_metrics.dart
index 441aae3..a83af77 100644
--- a/pkg/analysis_server/tool/code_completion/code_metrics.dart
+++ b/pkg/analysis_server/tool/code_completion/code_metrics.dart
@@ -820,7 +820,7 @@
     _visitChildren(node, {
       'documentationComment': node.documentationComment,
       'metadata': node.metadata,
-      'name': node.name2,
+      'name': node.name,
     });
     super.visitLibraryDirective(node);
   }
diff --git a/pkg/analysis_server/tool/code_completion/completion_metrics.dart b/pkg/analysis_server/tool/code_completion/completion_metrics.dart
index 0292d7b..094419c 100644
--- a/pkg/analysis_server/tool/code_completion/completion_metrics.dart
+++ b/pkg/analysis_server/tool/code_completion/completion_metrics.dart
@@ -1793,16 +1793,16 @@
         var parent = node.parent;
         if (parent is AssignmentExpression) {
           if (node == parent.leftHandSide) {
-            return parent.readElement2 ?? parent.writeElement2;
+            return parent.readElement ?? parent.writeElement;
           }
           return null;
         } else if (parent is PrefixExpression) {
           if (parent.operator.type == TokenType.PLUS_PLUS ||
               parent.operator.type == TokenType.MINUS_MINUS) {
-            return parent.readElement2 ?? parent.writeElement2;
+            return parent.readElement ?? parent.writeElement;
           }
         } else if (parent is PostfixExpression) {
-          return parent.readElement2 ?? parent.writeElement2;
+          return parent.readElement ?? parent.writeElement;
         }
         node = parent;
       }
diff --git a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
index 4ee54a3..f6cab64 100644
--- a/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
+++ b/pkg/analysis_server/tool/code_completion/relevance_metrics.dart
@@ -1687,7 +1687,7 @@
     if (element is InterfaceElement) {
       var parent = node.parent;
       if (parent is Annotation && parent.arguments != null) {
-        element = parent.element2!;
+        element = parent.element!;
       }
     }
     return convertElementToElementKind(element);
diff --git a/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart b/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart
index 32fa229..251c4f7 100644
--- a/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart
+++ b/pkg/analysis_server/tool/code_completion/relevance_table_generator.dart
@@ -1556,7 +1556,7 @@
     if (element is InterfaceElement) {
       var parent = node.parent;
       if (parent is Annotation && parent.arguments != null) {
-        element = parent.element2!;
+        element = parent.element!;
       }
     }
     return featureComputer.computeElementKind2(element);
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 4fb9fdd..530d366 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -91,6 +91,24 @@
 * Deprecate  `TypeProvider.streamElement2`, use `streamElement` instead.
 * Deprecate  `TypeProvider.stringElement2`, use `stringElement` instead.
 * Deprecate  `TypeProvider.symbolElement2`, use `symbolElement` instead.
+* Deprecated `Annotation.element2`, use `element` instead.
+* Deprecated `LibraryDirective.name2`, use `name` instead.
+* Deprecated `CatchClauseParameter.declaredElement2`, use `declaredElement` instead.
+* Deprecated `CompoundAssignmentExpression.readElement2`, use `readElement` instead.
+* Deprecated `CompoundAssignmentExpression.writeElement2`, use `writeElement` instead.
+* Deprecated `DeclaredIdentifier.declaredElement2`, use `declaredElement` instead.
+* Deprecated `DeclaredVariablePattern.declaredElement2`, use `declaredElement` instead.
+* Deprecated `EnumConstantDeclaration.constructorElement2`, use `constructorElement` instead.
+* Deprecated `ExtensionOverride.element2`, use `element` instead.
+* Deprecated `FunctionBody.isPotentiallyMutatedInScope2`, use `isPotentiallyMutatedInScope` instead.
+* Deprecated `ImportPrefixReference.element2`, use `element` instead.
+* Deprecated `LibraryDirective.element2, use `element` instead.
+* Deprecated `LibraryDirective.name2, use `name` instead.
+* Deprecated `NamedExpression.element2, use `element` instead.
+* Deprecated `NamedType.element2, use `element` instead.
+* Deprecated `PatternField.element2, use `element` instead.
+* Deprecated `RelationalPattern.element2, use `element` instead.
+* Deprecated `VariableDeclaration.declaredElement2, use `declaredElement` instead.
 
 ## 7.4.1
 * Restore `InstanceElement.augmented` getter.
diff --git a/pkg/analyzer/api.txt b/pkg/analyzer/api.txt
index d5b9f30..93e5821 100644
--- a/pkg/analyzer/api.txt
+++ b/pkg/analyzer/api.txt
@@ -581,7 +581,8 @@
     arguments (getter: ArgumentList?)
     atSign (getter: Token)
     constructorName (getter: SimpleIdentifier?)
-    element2 (getter: Element?, experimental)
+    element (getter: Element?, experimental)
+    element2 (getter: Element?, deprecated, experimental)
     elementAnnotation (getter: ElementAnnotation?)
     name (getter: Identifier)
     parent (getter: AstNode)
@@ -606,7 +607,8 @@
     message (getter: Expression?)
     rightParenthesis (getter: Token)
   AssignedVariablePattern (class extends Object implements VariablePattern):
-    element2 (getter: Element?, experimental)
+    element (getter: Element?, experimental)
+    element2 (getter: Element?, deprecated, experimental)
   AssignmentExpression (class extends Object implements NullShortableExpression, MethodReferenceExpression, CompoundAssignmentExpression):
     leftHandSide (getter: Expression)
     operator (getter: Token)
@@ -859,7 +861,8 @@
     rightParenthesis (getter: Token?)
     stackTraceParameter (getter: CatchClauseParameter?)
   CatchClauseParameter (class extends AstNode):
-    declaredElement2 (getter: LocalVariableElement?, experimental)
+    declaredElement (getter: LocalVariableElement?, experimental)
+    declaredElement2 (getter: LocalVariableElement?, deprecated, experimental)
     declaredFragment (getter: LocalVariableFragment?, experimental)
     name (getter: Token)
   ClassDeclaration (class extends Object implements NamedCompilationUnitMember):
@@ -924,9 +927,11 @@
     nodeCovering (method: AstNode? Function({int length, required int offset}))
   CompilationUnitMember (class extends Object implements Declaration)
   CompoundAssignmentExpression (class extends Object implements Expression):
-    readElement2 (getter: Element?, experimental)
+    readElement (getter: Element?, experimental)
+    readElement2 (getter: Element?, deprecated, experimental)
     readType (getter: DartType?)
-    writeElement2 (getter: Element?, experimental)
+    writeElement (getter: Element?, experimental)
+    writeElement2 (getter: Element?, deprecated, experimental)
     writeType (getter: DartType?)
   ConditionalExpression (class extends Object implements Expression):
     colon (getter: Token)
@@ -990,7 +995,8 @@
   Declaration (class extends Object implements AnnotatedNode):
     declaredFragment (getter: Fragment?, experimental)
   DeclaredIdentifier (class extends Object implements Declaration):
-    declaredElement2 (getter: LocalVariableElement?, experimental)
+    declaredElement (getter: LocalVariableElement?, experimental)
+    declaredElement2 (getter: LocalVariableElement?, deprecated, experimental)
     declaredFragment (getter: LocalVariableFragment?)
     isConst (getter: bool)
     isFinal (getter: bool)
@@ -998,7 +1004,8 @@
     name (getter: Token)
     type (getter: TypeAnnotation?)
   DeclaredVariablePattern (class extends Object implements VariablePattern, sealed (immediate subtypes: DeclaredVariablePatternImpl)):
-    declaredElement2 (getter: BindPatternVariableElement?, experimental)
+    declaredElement (getter: BindPatternVariableElement?, experimental)
+    declaredElement2 (getter: BindPatternVariableElement?, deprecated, experimental)
     declaredFragment (getter: BindPatternVariableFragment?)
     keyword (getter: Token?)
     type (getter: TypeAnnotation?)
@@ -1042,7 +1049,8 @@
   EnumConstantDeclaration (class extends Object implements Declaration):
     arguments (getter: EnumConstantArguments?)
     augmentKeyword (getter: Token?, experimental)
-    constructorElement2 (getter: ConstructorElement?, experimental)
+    constructorElement (getter: ConstructorElement?, experimental)
+    constructorElement2 (getter: ConstructorElement?, deprecated, experimental)
     declaredFragment (getter: FieldFragment?, experimental)
     name (getter: Token)
   EnumDeclaration (class extends Object implements NamedCompilationUnitMember):
@@ -1097,7 +1105,8 @@
     onKeyword (getter: Token)
   ExtensionOverride (class extends Object implements Expression):
     argumentList (getter: ArgumentList)
-    element2 (getter: ExtensionElement, experimental)
+    element (getter: ExtensionElement, experimental)
+    element2 (getter: ExtensionElement, deprecated, experimental)
     extendedType (getter: DartType?)
     importPrefix (getter: ImportPrefixReference?)
     isNullAware (getter: bool)
@@ -1198,7 +1207,8 @@
     isSynchronous (getter: bool)
     keyword (getter: Token?)
     star (getter: Token?)
-    isPotentiallyMutatedInScope2 (method: bool Function(VariableElement), experimental)
+    isPotentiallyMutatedInScope (method: bool Function(VariableElement), experimental)
+    isPotentiallyMutatedInScope2 (method: bool Function(VariableElement), deprecated, experimental)
   FunctionDeclaration (class extends Object implements NamedCompilationUnitMember):
     augmentKeyword (getter: Token?, experimental)
     declaredFragment (getter: ExecutableFragment?, experimental)
@@ -1285,7 +1295,8 @@
     libraryImport (getter: LibraryImport?, experimental)
     prefix (getter: SimpleIdentifier?)
   ImportPrefixReference (class extends Object implements AstNode):
-    element2 (getter: Element?, experimental)
+    element (getter: Element?, experimental)
+    element2 (getter: Element?, deprecated, experimental)
     name (getter: Token)
     period (getter: Token)
   IndexExpression (class extends Object implements NullShortableExpression, MethodReferenceExpression):
@@ -1337,9 +1348,11 @@
     labels (getter: NodeList<Label>)
     statement (getter: Statement)
   LibraryDirective (class extends Object implements Directive):
-    element2 (getter: LibraryElement?, experimental)
+    element (getter: LibraryElement?, experimental)
+    element2 (getter: LibraryElement?, deprecated, experimental)
     libraryKeyword (getter: Token)
-    name2 (getter: LibraryIdentifier?)
+    name (getter: LibraryIdentifier?)
+    name2 (getter: LibraryIdentifier?, deprecated)
     semicolon (getter: Token)
   LibraryIdentifier (class extends Object implements Identifier):
     components (getter: NodeList<SimpleIdentifier>)
@@ -1423,11 +1436,13 @@
   NamedCompilationUnitMember (class extends Object implements CompilationUnitMember):
     name (getter: Token)
   NamedExpression (class extends Object implements Expression):
-    element2 (getter: FormalParameterElement?, experimental)
+    element (getter: FormalParameterElement?, experimental)
+    element2 (getter: FormalParameterElement?, deprecated, experimental)
     expression (getter: Expression)
     name (getter: Label)
   NamedType (class extends Object implements TypeAnnotation):
-    element2 (getter: Element?, experimental)
+    element (getter: Element?, experimental)
+    element2 (getter: Element?, deprecated, experimental)
     importPrefix (getter: ImportPrefixReference?)
     isDeferred (getter: bool)
     name (getter: Token)
@@ -1501,7 +1516,8 @@
     pattern (getter: DartPattern)
   PatternField (class extends Object implements AstNode):
     effectiveName (getter: String?)
-    element2 (getter: Element?, experimental)
+    element (getter: Element?, experimental)
+    element2 (getter: Element?, deprecated, experimental)
     name (getter: PatternFieldName?)
     pattern (getter: DartPattern)
   PatternFieldName (class extends Object implements AstNode):
@@ -1567,7 +1583,8 @@
     period (getter: Token?)
     thisKeyword (getter: Token)
   RelationalPattern (class extends Object implements DartPattern):
-    element2 (getter: MethodElement?, experimental)
+    element (getter: MethodElement?, experimental)
+    element2 (getter: MethodElement?, deprecated, experimental)
     operand (getter: Expression)
     operator (getter: Token)
   RepresentationConstructorName (class extends Object implements AstNode, experimental):
@@ -1726,7 +1743,8 @@
   UriBasedDirective (class extends Object implements Directive, sealed (immediate subtypes: NamespaceDirective, PartDirective, UriBasedDirectiveImpl)):
     uri (getter: StringLiteral)
   VariableDeclaration (class extends Object implements Declaration):
-    declaredElement2 (getter: LocalVariableElement?, experimental)
+    declaredElement (getter: LocalVariableElement?, experimental)
+    declaredElement2 (getter: LocalVariableElement?, deprecated, experimental)
     declaredFragment (getter: VariableFragment?, experimental)
     equals (getter: Token?)
     initializer (getter: Expression?)
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index 3e006c8..964afa8 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -979,7 +979,7 @@
       } else if (directive is LibraryDirective) {
         libraryDirective = UnlinkedLibraryDirective(
           docImports: buildDocImports(directive),
-          name: directive.name2?.name,
+          name: directive.name?.name,
         );
       } else if (directive is PartDirective) {
         var unlinked = _serializePart(directive);
diff --git a/pkg/analyzer/lib/src/dart/analysis/index.dart b/pkg/analyzer/lib/src/dart/analysis/index.dart
index 17579d9..00e464c 100644
--- a/pkg/analyzer/lib/src/dart/analysis/index.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/index.dart
@@ -694,7 +694,7 @@
   /// Record a relation between a super [namedType] and its [Element].
   void recordSuperType(NamedType namedType, IndexRelationKind kind) {
     var isQualified = namedType.importPrefix != null;
-    var element = namedType.element2;
+    var element = namedType.element;
     recordRelation(element, kind, namedType.name, isQualified);
   }
 
@@ -897,7 +897,7 @@
 
   @override
   void visitEnumConstantDeclaration(EnumConstantDeclaration node) {
-    var constructorElement = node.constructorElement2;
+    var constructorElement = node.constructorElement;
     if (constructorElement != null) {
       int offset;
       int length;
@@ -978,7 +978,7 @@
     _recordImportPrefixedElement(
       importPrefix: node.importPrefix,
       name: node.name,
-      element: node.element2,
+      element: node.element,
     );
 
     node.typeArguments?.accept(this);
@@ -1035,7 +1035,7 @@
 
   @override
   void visitIndexExpression(IndexExpression node) {
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     if (element is MethodElement) {
       Token operator = node.leftBracket;
       recordRelationToken(element, IndexRelationKind.IS_INVOKED_BY, operator);
@@ -1086,7 +1086,7 @@
     _recordImportPrefixedElement(
       importPrefix: node.importPrefix,
       name: node.name,
-      element: node.element2,
+      element: node.element,
     );
 
     node.typeArguments?.accept(this);
@@ -1122,7 +1122,7 @@
         length = 0;
       }
       recordRelationOffset(
-        node.element2,
+        node.element,
         IndexRelationKind.IS_REFERENCED_BY,
         offset,
         length,
@@ -1189,7 +1189,7 @@
       return;
     }
 
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     if (element is FormalParameterElementImpl) {
       element = declaredParameterElement(node, element);
     }
@@ -1303,7 +1303,7 @@
     }
 
     void addSupertype(NamedType? type) {
-      var element = type?.element2;
+      var element = type?.element;
       if (element is InterfaceElement) {
         String id = getInterfaceElementId(element);
         supertypes.add(id);
@@ -1418,10 +1418,10 @@
     }
 
     if (importPrefix != null) {
-      var prefixElement = importPrefix.element2;
+      var prefixElement = importPrefix.element;
       if (prefixElement is PrefixElement) {
         recordRelationToken(
-          importPrefix.element2,
+          importPrefix.element,
           IndexRelationKind.IS_REFERENCED_BY,
           importPrefix.name,
           isQualified: false,
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index b33dac2..b93b8a1 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -776,7 +776,7 @@
         );
       } else if (directive is LibraryDirectiveImpl) {
         if (fileKind == _library) {
-          directive.element2 = _libraryElement;
+          directive.element = _libraryElement;
         }
       } else if (directive is PartDirectiveImpl) {
         var index = partIndex++;
diff --git a/pkg/analyzer/lib/src/dart/analysis/search.dart b/pkg/analyzer/lib/src/dart/analysis/search.dart
index f42b740..35d06b9 100644
--- a/pkg/analyzer/lib/src/dart/analysis/search.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/search.dart
@@ -240,7 +240,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    if (importedElements.contains(node.element2)) {
+    if (importedElements.contains(node.element)) {
       var prefixFragment = import.prefix2;
       var importPrefix = node.importPrefix;
       if (prefixFragment == null) {
@@ -249,7 +249,7 @@
         }
       } else {
         if (importPrefix != null &&
-            importPrefix.element2 == prefixFragment.element) {
+            importPrefix.element == prefixFragment.element) {
           var offset = importPrefix.offset;
           var end = importPrefix.period.end;
           _addResult(offset, end - offset);
@@ -270,7 +270,7 @@
       if (node.element == import.prefix2?.element) {
         var parent = node.parent;
         if (parent is PrefixedIdentifier && parent.prefix == node) {
-          var element = parent.writeOrReadElement2?.baseElement;
+          var element = parent.writeOrReadElement?.baseElement;
           if (importedElements.contains(element)) {
             _addResultForPrefix(node, parent.identifier);
           }
@@ -283,7 +283,7 @@
         }
       }
     } else {
-      var element = node.writeOrReadElement2?.baseElement;
+      var element = node.writeOrReadElement?.baseElement;
       if (importedElements.contains(element)) {
         _addResult(node.offset, 0);
       }
@@ -1683,7 +1683,7 @@
 
   @override
   void visitAssignedVariablePattern(AssignedVariablePattern node) {
-    if (elements.contains(node.element2)) {
+    if (elements.contains(node.element)) {
       _addResult(node, SearchResultKind.WRITE);
     }
 
@@ -1699,7 +1699,7 @@
 
   @override
   void visitImportPrefixReference(ImportPrefixReference node) {
-    var element = node.element2;
+    var element = node.element;
     if (elements.contains(element)) {
       _addResult(node.name, SearchResultKind.REFERENCE);
     }
@@ -1707,7 +1707,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    var element = node.element2;
+    var element = node.element;
     if (elements.contains(element)) {
       _addResult(node.name, SearchResultKind.REFERENCE);
     }
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 7ad1d76..82d5e11 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -253,6 +253,14 @@
   /// Returns `null` if the AST structure hasn't been resolved or if this
   /// annotation couldn't be resolved.
   @experimental
+  Element? get element;
+
+  /// The element associated with this annotation.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved or if this
+  /// annotation couldn't be resolved.
+  @Deprecated('Use element instead')
+  @experimental
   Element? get element2;
 
   /// The element annotation representing this annotation in the element model,
@@ -313,7 +321,7 @@
   @generated
   ArgumentListImpl? _arguments;
 
-  Element? _element2;
+  Element? _element;
 
   @override
   ElementAnnotationImpl? elementAnnotation;
@@ -361,8 +369,8 @@
   }
 
   @override
-  Element? get element2 {
-    if (_element2 case var element?) {
+  Element? get element {
+    if (_element case var element?) {
       return element;
     } else if (constructorName == null) {
       return name.element;
@@ -370,8 +378,14 @@
     return null;
   }
 
-  set element2(Element? value) {
-    _element2 = value;
+  set element(Element? value) {
+    _element = value;
+  }
+
+  @Deprecated('Use element instead')
+  @override
+  Element? get element2 {
+    return element;
   }
 
   @generated
@@ -534,10 +548,10 @@
     return leftParenthesis;
   }
 
-  List<FormalParameterElementMixin?>? get correspondingStaticParameters2 =>
+  List<FormalParameterElementMixin?>? get correspondingStaticParameters =>
       _correspondingStaticParameters;
 
-  set correspondingStaticParameters2(
+  set correspondingStaticParameters(
     List<FormalParameterElementMixin?>? parameters,
   ) {
     if (parameters != null && parameters.length != arguments.length) {
@@ -1017,6 +1031,10 @@
   /// In valid code this is either a [LocalVariableElement] or a
   /// [FormalParameterElement].
   @experimental
+  Element? get element;
+
+  @Deprecated('Use element instead')
+  @experimental
   Element? get element2;
 }
 
@@ -1026,7 +1044,7 @@
 final class AssignedVariablePatternImpl extends VariablePatternImpl
     implements AssignedVariablePattern {
   @override
-  Element? element2;
+  Element? element;
 
   @generated
   AssignedVariablePatternImpl({required super.name});
@@ -1037,6 +1055,10 @@
     return name;
   }
 
+  @Deprecated('Use element instead')
+  @override
+  Element? get element2 => element;
+
   @generated
   @override
   Token get endToken {
@@ -1057,7 +1079,7 @@
 
   @override
   TypeImpl computePatternSchema(ResolverVisitor resolverVisitor) {
-    var element = element2;
+    var element = this.element;
     if (element is PromotableElementImpl) {
       return resolverVisitor
           .analyzeAssignedVariablePatternSchema(element)
@@ -1194,7 +1216,7 @@
     if (operator.type != TokenType.EQ) {
       executableElement = element;
     } else {
-      executableElement = writeElement2;
+      executableElement = writeElement;
     }
 
     if (executableElement is ExecutableElement) {
@@ -3333,6 +3355,13 @@
   ///
   /// Returns `null` if the AST hasn't been resolved.
   @experimental
+  LocalVariableElement? get declaredElement;
+
+  /// The declared element.
+  ///
+  /// Returns `null` if the AST hasn't been resolved.
+  @Deprecated('Use declaredElement instead')
+  @experimental
   LocalVariableElement? get declaredElement2;
 
   /// The declared fragment.
@@ -3365,10 +3394,16 @@
   }
 
   @override
-  LocalVariableElementImpl? get declaredElement2 {
+  LocalVariableElementImpl? get declaredElement {
     return declaredFragment?.element;
   }
 
+  @Deprecated('Use declaredElement instead')
+  @override
+  LocalVariableElementImpl? get declaredElement2 {
+    return declaredElement;
+  }
+
   @generated
   @override
   Token get endToken {
@@ -4666,12 +4701,27 @@
   /// [FormalParameterElement], or a [GetterElement].
   ///
   /// In invalid code this element is `null`. For example, in `int += 2`. In
-  /// such cases, for recovery purposes, [writeElement2] is filled, and can be
+  /// such cases, for recovery purposes, [writeElement] is filled, and can be
   /// used for navigation.
   @experimental
+  Element? get readElement;
+
+  /// The element that is used to read the value.
+  ///
+  /// Returns `null` if this node isn't a compound assignment, if the AST
+  /// structure hasn't been resolved, or if the target couldn't be resolved.
+  ///
+  /// In valid code this element can be a [LocalVariableElement], a
+  /// [FormalParameterElement], or a [GetterElement].
+  ///
+  /// In invalid code this element is `null`. For example, in `int += 2`. In
+  /// such cases, for recovery purposes, [writeElement] is filled, and can be
+  /// used for navigation.
+  @Deprecated('Use readElement instead')
+  @experimental
   Element? get readElement2;
 
-  /// The type of the value read with the [readElement2], or `null` if this node
+  /// The type of the value read with the [readElement], or `null` if this node
   /// isn't a compound assignment.
   ///
   /// Returns the type `dynamic` if the code is invalid, if the AST structure
@@ -4692,7 +4742,26 @@
   /// add the corresponding setter.
   ///
   /// If this node is a compound assignment, such as `x += y`, both
-  /// [readElement2] and [writeElement2] could be non-`null`.
+  /// [readElement] and [writeElement] could be non-`null`.
+  @experimental
+  Element? get writeElement;
+
+  /// The element that is used to write the result.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved, or if the target
+  /// couldn't be resolved.
+  ///
+  /// In valid code this is a [LocalVariableElement], [FormalParameterElement],
+  /// or a [SetterElement].
+  ///
+  /// In invalid code, for recovery, we might use other elements, for example a
+  /// [GetterElement] `myGetter = 0` even though the getter can't be used to set
+  /// a value. We do this to help the user to navigate to the getter, and maybe
+  /// add the corresponding setter.
+  ///
+  /// If this node is a compound assignment, such as `x += y`, both
+  /// [readElement] and [writeElement] could be non-`null`.
+  @Deprecated('Use writeElement instead')
   @experimental
   Element? get writeElement2;
 
@@ -4707,16 +4776,24 @@
 base mixin CompoundAssignmentExpressionImpl
     implements CompoundAssignmentExpression {
   @override
-  Element? readElement2;
+  Element? readElement;
 
   @override
-  Element? writeElement2;
+  Element? writeElement;
 
   @override
   TypeImpl? readType;
 
   @override
   TypeImpl? writeType;
+
+  @Deprecated('Use readElement instead')
+  @override
+  Element? get readElement2 => readElement;
+
+  @Deprecated('Use writeElement instead')
+  @override
+  Element? get writeElement2 => writeElement;
 }
 
 /// A conditional expression.
@@ -6170,6 +6247,14 @@
   /// Returns `null` if either this node corresponds to a list of declarations
   /// or if the AST structure hasn't been resolved.
   @experimental
+  LocalVariableElement? get declaredElement;
+
+  /// The element associated with this declaration.
+  ///
+  /// Returns `null` if either this node corresponds to a list of declarations
+  /// or if the AST structure hasn't been resolved.
+  @Deprecated('Use declaredElement instead')
+  @experimental
   LocalVariableElement? get declaredElement2;
 
   @override
@@ -6232,10 +6317,17 @@
 
   @experimental
   @override
-  LocalVariableElementImpl? get declaredElement2 {
+  LocalVariableElementImpl? get declaredElement {
     return declaredFragment?.element;
   }
 
+  @Deprecated('Use declaredElement instead')
+  @experimental
+  @override
+  LocalVariableElementImpl? get declaredElement2 {
+    return declaredElement;
+  }
+
   @generated
   @override
   Token get endToken {
@@ -6313,6 +6405,13 @@
   ///
   /// Returns `null` if the AST structure hasn't been resolved.
   @experimental
+  BindPatternVariableElement? get declaredElement;
+
+  /// The element declared by this declaration.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved.
+  @Deprecated('Use declaredElement instead')
+  @experimental
   BindPatternVariableElement? get declaredElement2;
 
   /// The fragment declared by this declaration.
@@ -6370,10 +6469,17 @@
 
   @experimental
   @override
-  BindPatternVariableElementImpl? get declaredElement2 {
+  BindPatternVariableElementImpl? get declaredElement {
     return declaredFragment?.element;
   }
 
+  @Deprecated('Use declaredElement instead')
+  @experimental
+  @override
+  BindPatternVariableElementImpl? get declaredElement2 {
+    return declaredElement;
+  }
+
   @generated
   @override
   Token get endToken {
@@ -6432,11 +6538,11 @@
     var result = resolverVisitor.analyzeDeclaredVariablePattern(
       context,
       this,
-      declaredElement2!,
+      declaredElement!,
       declaredFragment!.name2 ?? '',
       type?.typeOrThrow.wrapSharedTypeView(),
     );
-    declaredElement2!.type = result.staticType.unwrapTypeView();
+    declaredElement!.type = result.staticType.unwrapTypeView();
 
     resolverVisitor.checkPatternNeverMatchesValueType(
       context: context,
@@ -7598,6 +7704,14 @@
   /// Returns `null` if the AST structure hasn't been resolved, or if the
   /// constructor couldn't be resolved.
   @experimental
+  ConstructorElement? get constructorElement;
+
+  /// The constructor that's invoked by this enum constant.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved, or if the
+  /// constructor couldn't be resolved.
+  @Deprecated('Use constructorElement instead')
+  @experimental
   ConstructorElement? get constructorElement2;
 
   @experimental
@@ -7632,7 +7746,7 @@
   FieldFragmentImpl? declaredFragment;
 
   @override
-  ConstructorElementMixin2? constructorElement2;
+  ConstructorElementMixin2? constructorElement;
 
   @generated
   EnumConstantDeclarationImpl({
@@ -7654,6 +7768,10 @@
     _arguments = _becomeParentOf(arguments);
   }
 
+  @Deprecated('Use constructorElement instead')
+  @override
+  ConstructorElementMixin2? get constructorElement2 => constructorElement;
+
   @generated
   @override
   Token get endToken {
@@ -8304,10 +8422,10 @@
       // TODO(scheglov): This doesn't look right, there's no element for
       // the operand, for `a++` we invoke `a = a + 1`, so the parameter
       // is for `1`, not for `a`.
-      return parent._staticParameterElementForOperand2;
+      return parent._staticParameterElementForOperand;
     } else if (parent is PostfixExpressionImpl) {
       // TODO(scheglov): The same as above.
-      return parent._staticParameterElementForOperand2;
+      return parent._staticParameterElementForOperand;
     }
     return null;
   }
@@ -8957,6 +9075,11 @@
 
   /// The extension that resolution will use to resolve member references.
   @experimental
+  ExtensionElement get element;
+
+  /// The extension that resolution will use to resolve member references.
+  @Deprecated('Use element instead')
+  @experimental
   ExtensionElement get element2;
 
   /// The actual type extended by this override, produced by applying
@@ -9011,7 +9134,7 @@
 
   @generated
   @override
-  final ExtensionElementImpl element2;
+  final ExtensionElementImpl element;
 
   @override
   List<DartType>? typeArgumentTypes;
@@ -9025,7 +9148,7 @@
     required this.name,
     required TypeArgumentListImpl? typeArguments,
     required ArgumentListImpl argumentList,
-    required this.element2,
+    required this.element,
   }) : _importPrefix = importPrefix,
        _typeArguments = typeArguments,
        _argumentList = argumentList {
@@ -9052,6 +9175,10 @@
     return name;
   }
 
+  @Deprecated('Use element instead')
+  @override
+  ExtensionElementImpl get element2 => element;
+
   @generated
   @override
   Token get endToken {
@@ -11156,6 +11283,19 @@
   ///
   /// Throws an exception if resolution hasn't been performed.
   @experimental
+  bool isPotentiallyMutatedInScope(VariableElement variable);
+
+  /// If [variable] is a local variable or parameter declared anywhere within
+  /// the top level function or method containing this [FunctionBody], return a
+  /// boolean indicating whether [variable] is potentially mutated within the
+  /// scope of its declaration.
+  ///
+  /// If [variable] isn't a local variable or parameter declared within the top
+  /// level function or method containing this [FunctionBody], return `false`.
+  ///
+  /// Throws an exception if resolution hasn't been performed.
+  @Deprecated('Use isPotentiallyMutatedInScope instead')
+  @experimental
   bool isPotentiallyMutatedInScope2(VariableElement variable);
 }
 
@@ -11185,13 +11325,19 @@
   Token? get star => null;
 
   @override
-  bool isPotentiallyMutatedInScope2(VariableElement variable) {
+  bool isPotentiallyMutatedInScope(VariableElement variable) {
     if (localVariableInfo == null) {
       throw StateError('Resolution has not been performed');
     }
     return localVariableInfo!.potentiallyMutatedInScope.contains(variable);
   }
 
+  @Deprecated('Use isPotentiallyMutatedInScope instead')
+  @override
+  bool isPotentiallyMutatedInScope2(VariableElement variable) {
+    return isPotentiallyMutatedInScope(variable);
+  }
+
   /// Dispatch this function body to the resolver, imposing [imposedType] as the
   /// return type context for `return` statements.
   ///
@@ -13712,6 +13858,13 @@
   ///
   /// Usually a [PrefixElement], but can be anything in invalid code.
   @experimental
+  Element? get element;
+
+  /// The element to which [name] is resolved.
+  ///
+  /// Usually a [PrefixElement], but can be anything in invalid code.
+  @Deprecated('Use element instead')
+  @experimental
   Element? get element2;
 
   /// The name of the referenced import prefix.
@@ -13738,7 +13891,7 @@
   final Token period;
 
   @override
-  Element? element2;
+  Element? element;
 
   @generated
   ImportPrefixReferenceImpl({required this.name, required this.period});
@@ -13749,6 +13902,10 @@
     return name;
   }
 
+  @Deprecated('Use element instead')
+  @override
+  Element? get element2 => element;
+
   @generated
   @override
   Token get endToken {
@@ -14004,7 +14161,7 @@
 
     var parent = this.parent;
     if (parent is CompoundAssignmentExpression) {
-      element = parent.writeElement2 ?? parent.readElement2;
+      element = parent.writeElement ?? parent.readElement;
     }
 
     if (element is ExecutableElement2OrMember) {
@@ -15020,12 +15177,24 @@
   /// Returns `null` if the AST structure hasn't been resolved or if this
   /// directive couldn't be resolved.
   @experimental
+  LibraryElement? get element;
+
+  /// The element associated with this directive.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved or if this
+  /// directive couldn't be resolved.
+  @Deprecated('Use element instead')
+  @experimental
   LibraryElement? get element2;
 
   /// The token representing the `library` keyword.
   Token get libraryKeyword;
 
   /// The name of the library being defined.
+  LibraryIdentifier? get name;
+
+  /// The name of the library being defined.
+  @Deprecated('Use name instead')
   LibraryIdentifier? get name2;
 
   /// The semicolon terminating the directive.
@@ -15046,14 +15215,14 @@
   final Token libraryKeyword;
 
   @generated
-  LibraryIdentifierImpl? _name2;
+  LibraryIdentifierImpl? _name;
 
   @generated
   @override
   final Token semicolon;
 
   @override
-  LibraryElementImpl? element2;
+  LibraryElementImpl? element;
 
   @generated
   LibraryDirectiveImpl({
@@ -15062,10 +15231,14 @@
     required this.libraryKeyword,
     required LibraryIdentifierImpl? name2,
     required this.semicolon,
-  }) : _name2 = name2 {
+  }) : _name = name2 {
     _becomeParentOf(name2);
   }
 
+  @Deprecated('Use element instead')
+  @override
+  LibraryElementImpl? get element2 => element;
+
   @generated
   @override
   Token get endToken {
@@ -15080,19 +15253,23 @@
 
   @generated
   @override
-  LibraryIdentifierImpl? get name2 => _name2;
+  LibraryIdentifierImpl? get name => _name;
 
   @generated
-  set name2(LibraryIdentifierImpl? name2) {
-    _name2 = _becomeParentOf(name2);
+  set name(LibraryIdentifierImpl? name2) {
+    _name = _becomeParentOf(name2);
   }
 
+  @Deprecated('Use name instead')
+  @override
+  LibraryIdentifierImpl? get name2 => name;
+
   @generated
   @override
   ChildEntities get _childEntities =>
       super._childEntities
         ..addToken('libraryKeyword', libraryKeyword)
-        ..addNode('name2', name2)
+        ..addNode('name2', name)
         ..addToken('semicolon', semicolon);
 
   @generated
@@ -15103,7 +15280,7 @@
   @override
   void visitChildren(AstVisitor visitor) {
     super.visitChildren(visitor);
-    name2?.accept(visitor);
+    name?.accept(visitor);
   }
 
   @generated
@@ -15112,7 +15289,7 @@
     if (super._childContainingRange(rangeOffset, rangeEnd) case var result?) {
       return result;
     }
-    if (name2 case var name2?) {
+    if (name case var name2?) {
       if (name2._containsOffset(rangeOffset, rangeEnd)) {
         return name2;
       }
@@ -17074,6 +17251,14 @@
   /// Returns `null` if the AST structure hasn't been resolved or if there's no
   /// parameter with the same name as this expression.
   @experimental
+  FormalParameterElement? get element;
+
+  /// The element representing the parameter being named by this expression.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved or if there's no
+  /// parameter with the same name as this expression.
+  @Deprecated('Use element instead')
+  @experimental
   FormalParameterElement? get element2;
 
   /// The expression with which the name is associated.
@@ -17115,10 +17300,17 @@
 
   @experimental
   @override
-  FormalParameterElementMixin? get element2 {
+  FormalParameterElementMixin? get element {
     return _name.label.element?.ifTypeOrNull();
   }
 
+  @Deprecated('Use element instead')
+  @experimental
+  @override
+  FormalParameterElementMixin? get element2 {
+    return element;
+  }
+
   @generated
   @override
   Token get endToken {
@@ -17197,6 +17389,17 @@
   /// Returns `null` if [name] can't be resolved, or there's no element for the
   /// type name, such as for `void`.
   @experimental
+  Element? get element;
+
+  /// The element of [name] considering [importPrefix].
+  ///
+  /// This could be a [ClassElement], [TypeAliasElement], or other type defining
+  /// element.
+  ///
+  /// Returns `null` if [name] can't be resolved, or there's no element for the
+  /// type name, such as for `void`.
+  @Deprecated('Use element instead')
+  @experimental
   Element? get element2;
 
   /// The optional import prefix before [name].
@@ -17252,7 +17455,7 @@
 
   @experimental
   @override
-  Element? element2;
+  Element? element;
 
   @override
   TypeImpl? type;
@@ -17278,6 +17481,11 @@
     return name;
   }
 
+  @Deprecated('Use element instead')
+  @experimental
+  @override
+  Element? get element2 => element;
+
   @generated
   @override
   Token get endToken {
@@ -17301,7 +17509,7 @@
 
   @override
   bool get isDeferred {
-    var importPrefixElement = importPrefix?.element2;
+    var importPrefixElement = importPrefix?.element;
     if (importPrefixElement is PrefixElement) {
       return importPrefixElement.fragments.any(
         (fragment) => fragment.isDeferred,
@@ -19062,6 +19270,16 @@
   /// Returns non-`null` inside valid [ObjectPattern]s; always returns `null`
   /// inside [RecordPattern]s.
   @experimental
+  Element? get element;
+
+  /// The element referenced by [effectiveName].
+  ///
+  /// Returns `null` if the AST structure is not resolved yet.
+  ///
+  /// Returns non-`null` inside valid [ObjectPattern]s; always returns `null`
+  /// inside [RecordPattern]s.
+  @Deprecated('Use element instead')
+  @experimental
   Element? get element2;
 
   /// The name of the field, or `null` if the field is a positional field.
@@ -19085,7 +19303,7 @@
   DartPatternImpl _pattern;
 
   @override
-  Element? element2;
+  Element? element;
 
   @generated
   PatternFieldImpl({
@@ -19116,6 +19334,10 @@
     return null;
   }
 
+  @Deprecated('Use element instead')
+  @override
+  Element? get element2 => element;
+
   @generated
   @override
   Token get endToken {
@@ -19558,7 +19780,7 @@
   /// The parameter element representing the parameter to which the value of the
   /// operand is bound, or `null` ff the AST structure is not resolved or the
   /// function being invoked isn't known based on static type information.
-  FormalParameterElementMixin? get _staticParameterElementForOperand2 {
+  FormalParameterElementMixin? get _staticParameterElementForOperand {
     if (element == null) {
       return null;
     }
@@ -19832,7 +20054,7 @@
   /// The parameter element representing the parameter to which the value of the
   /// operand is bound, or `null` if the AST structure is not resolved or the
   /// function being invoked isn't known based on static type information.
-  FormalParameterElementMixin? get _staticParameterElementForOperand2 {
+  FormalParameterElementMixin? get _staticParameterElementForOperand {
     if (element == null) {
       return null;
     }
@@ -20893,6 +21115,14 @@
   /// Returns `null` if the AST structure hasn't been resolved or if the
   /// operator couldn't be resolved.
   @experimental
+  MethodElement? get element;
+
+  /// The element of the [operator] for the matched type.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved or if the
+  /// operator couldn't be resolved.
+  @Deprecated('Use element instead')
+  @experimental
   MethodElement? get element2;
 
   /// The expression used to compute the operand.
@@ -20918,7 +21148,7 @@
   ExpressionImpl _operand;
 
   @override
-  MethodElement? element2;
+  MethodElement? element;
 
   @generated
   RelationalPatternImpl({
@@ -20934,6 +21164,10 @@
     return operator;
   }
 
+  @Deprecated('Use element instead')
+  @override
+  MethodElement? get element2 => element;
+
   @generated
   @override
   Token get endToken {
@@ -25138,6 +25372,14 @@
   /// Returns `null` if the AST structure hasn't been resolved or if this node
   /// represents the declaration of a top-level variable or a field.
   @experimental
+  LocalVariableElement? get declaredElement;
+
+  /// The element declared by this declaration.
+  ///
+  /// Returns `null` if the AST structure hasn't been resolved or if this node
+  /// represents the declaration of a top-level variable or a field.
+  @Deprecated('Use declaredElement instead')
+  @experimental
   LocalVariableElement? get declaredElement2;
 
   /// The fragment declared by this declaration.
@@ -25214,10 +25456,17 @@
 
   @experimental
   @override
-  LocalVariableElementImpl? get declaredElement2 {
+  LocalVariableElementImpl? get declaredElement {
     return declaredFragment?.element.ifTypeOrNull<LocalVariableElementImpl>();
   }
 
+  @Deprecated('Use declaredElement instead')
+  @experimental
+  @override
+  LocalVariableElementImpl? get declaredElement2 {
+    return declaredElement;
+  }
+
   /// 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 be6b75b..dd098e6 100644
--- a/pkg/analyzer/lib/src/dart/ast/element_locator.dart
+++ b/pkg/analyzer/lib/src/dart/ast/element_locator.dart
@@ -11,7 +11,7 @@
 class ElementLocator {
   /// Return the element associated with the given [node], or `null` if there
   /// is no element associated with the node.
-  static Element? locate2(AstNode? node) {
+  static Element? locate(AstNode? node) {
     if (node == null) return null;
 
     var mapper = _ElementMapper2();
@@ -23,12 +23,12 @@
 class _ElementMapper2 extends GeneralizingAstVisitor<Element> {
   @override
   Element? visitAnnotation(Annotation node) {
-    return node.element2;
+    return node.element;
   }
 
   @override
   Element? visitAssignedVariablePattern(AssignedVariablePattern node) {
-    return node.element2;
+    return node.element;
   }
 
   @override
@@ -43,7 +43,7 @@
 
   @override
   Element? visitCatchClauseParameter(CatchClauseParameter node) {
-    return node.declaredElement2;
+    return node.declaredElement;
   }
 
   @override
@@ -72,7 +72,7 @@
     if (parent is EnumConstantArguments) {
       var parent2 = parent.parent;
       if (parent2 is EnumConstantDeclaration) {
-        return parent2.constructorElement2;
+        return parent2.constructorElement;
       }
     }
     return null;
@@ -80,12 +80,12 @@
 
   @override
   Element? visitDeclaredIdentifier(DeclaredIdentifier node) {
-    return node.declaredElement2;
+    return node.declaredElement;
   }
 
   @override
   Element? visitDeclaredVariablePattern(DeclaredVariablePattern node) {
-    return node.declaredElement2;
+    return node.declaredElement;
   }
 
   @override
@@ -127,7 +127,7 @@
 
   @override
   Element? visitExtensionOverride(ExtensionOverride node) {
-    return node.element2;
+    return node.element;
   }
 
   @override
@@ -161,7 +161,7 @@
     if (parent is Annotation) {
       // Map the type name in an annotation.
       if (identical(parent.name, node) && parent.constructorName == null) {
-        return parent.element2;
+        return parent.element;
       }
     } else if (parent is ConstructorDeclaration) {
       // Map a constructor declarations to its associated constructor element.
@@ -183,17 +183,17 @@
       if (parent2 is EnumConstantArguments) {
         var parent3 = parent2.parent;
         if (parent3 is EnumConstantDeclaration) {
-          return parent3.constructorElement2;
+          return parent3.constructorElement;
         }
       }
     } else if (parent is LibraryIdentifier) {
       var grandParent = parent.parent;
       if (grandParent is LibraryDirective) {
-        return grandParent.element2;
+        return grandParent.element;
       }
       return null;
     }
-    return node.writeOrReadElement2;
+    return node.writeOrReadElement;
   }
 
   @override
@@ -203,7 +203,7 @@
 
   @override
   Element? visitImportPrefixReference(ImportPrefixReference node) {
-    return node.element2;
+    return node.element;
   }
 
   @override
@@ -218,7 +218,7 @@
 
   @override
   Element? visitLibraryDirective(LibraryDirective node) {
-    return node.element2;
+    return node.element;
   }
 
   @override
@@ -238,7 +238,7 @@
 
   @override
   Element? visitNamedType(NamedType node) {
-    return node.element2;
+    return node.element;
   }
 
   @override
@@ -248,14 +248,14 @@
 
   @override
   Element? visitPatternField(PatternField node) {
-    return node.element2;
+    return node.element;
   }
 
   @override
   Element? visitPatternFieldName(PatternFieldName node) {
     var parent = node.parent;
     if (parent is PatternField) {
-      return parent.element2;
+      return parent.element;
     } else {
       return null;
     }
@@ -309,6 +309,6 @@
 
   @override
   Element? visitVariableDeclaration(VariableDeclaration node) {
-    return node.declaredFragment?.element ?? node.declaredElement2;
+    return node.declaredFragment?.element ?? node.declaredElement;
   }
 }
diff --git a/pkg/analyzer/lib/src/dart/ast/extensions.dart b/pkg/analyzer/lib/src/dart/ast/extensions.dart
index d64d7f5..e94172b 100644
--- a/pkg/analyzer/lib/src/dart/ast/extensions.dart
+++ b/pkg/analyzer/lib/src/dart/ast/extensions.dart
@@ -11,47 +11,47 @@
 import 'package:collection/collection.dart';
 
 // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
-Element? _readElement2(AstNode node) {
+Element? _readElement(AstNode node) {
   var parent = node.parent;
 
   if (parent is AssignmentExpression && parent.leftHandSide == node) {
-    return parent.readElement2;
+    return parent.readElement;
   }
   if (parent is PostfixExpression && parent.operand == node) {
-    return parent.readElement2;
+    return parent.readElement;
   }
   if (parent is PrefixExpression && parent.operand == node) {
-    return parent.readElement2;
+    return parent.readElement;
   }
 
   if (parent is PrefixedIdentifier && parent.identifier == node) {
-    return _readElement2(parent);
+    return _readElement(parent);
   }
   if (parent is PropertyAccess && parent.propertyName == node) {
-    return _readElement2(parent);
+    return _readElement(parent);
   }
   return null;
 }
 
 // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
-Element? _writeElement2(AstNode node) {
+Element? _writeElement(AstNode node) {
   var parent = node.parent;
 
   if (parent is AssignmentExpression && parent.leftHandSide == node) {
-    return parent.writeElement2;
+    return parent.writeElement;
   }
   if (parent is PostfixExpression && parent.operand == node) {
-    return parent.writeElement2;
+    return parent.writeElement;
   }
   if (parent is PrefixExpression && parent.operand == node) {
-    return parent.writeElement2;
+    return parent.writeElement;
   }
 
   if (parent is PrefixedIdentifier && parent.identifier == node) {
-    return _writeElement2(parent);
+    return _writeElement(parent);
   }
   if (parent is PropertyAccess && parent.propertyName == node) {
-    return _writeElement2(parent);
+    return _writeElement(parent);
   }
   return null;
 }
@@ -199,8 +199,8 @@
 
 // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
 extension IdentifierExtension on Identifier {
-  Element? get readElement2 {
-    return _readElement2(this);
+  Element? get readElement {
+    return _readElement(this);
   }
 
   SimpleIdentifier get simpleName {
@@ -212,12 +212,12 @@
     }
   }
 
-  Element? get writeElement2 {
-    return _writeElement2(this);
+  Element? get writeElement {
+    return _writeElement(this);
   }
 
-  Element? get writeOrReadElement2 {
-    return _writeElement2(this) ?? element;
+  Element? get writeOrReadElement {
+    return _writeElement(this) ?? element;
   }
 
   DartType? get writeOrReadType {
@@ -236,18 +236,18 @@
         importPrefix: ImportPrefixReferenceImpl(
           name: self.prefix.token,
           period: self.period,
-        )..element2 = self.prefix.element,
+        )..element = self.prefix.element,
         name: self.identifier.token,
         typeArguments: typeArguments,
         question: question,
-      )..element2 = self.identifier.element;
+      )..element = self.identifier.element;
     } else if (self is SimpleIdentifierImpl) {
       return NamedTypeImpl(
         importPrefix: null,
         name: self.token,
         typeArguments: typeArguments,
         question: question,
-      )..element2 = self.element;
+      )..element = self.element;
     } else {
       throw UnimplementedError('(${self.runtimeType}) $self');
     }
@@ -256,8 +256,8 @@
 
 // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
 extension IndexExpressionExtension on IndexExpression {
-  Element? get writeOrReadElement2 {
-    return _writeElement2(this) ?? element;
+  Element? get writeOrReadElement {
+    return _writeElement(this) ?? element;
   }
 }
 
diff --git a/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart b/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
index c30c1e7..f0bb00a 100644
--- a/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
@@ -846,7 +846,7 @@
   void visitLibraryDirective(LibraryDirective node) {
     _visitNodeList(node.metadata, separator: ' ', suffix: ' ');
     sink.write('library ');
-    _visitNode(node.name2);
+    _visitNode(node.name);
     sink.write(';');
   }
 
diff --git a/pkg/analyzer/lib/src/dart/ast/utilities.dart b/pkg/analyzer/lib/src/dart/ast/utilities.dart
index 37df019..46bcee9 100644
--- a/pkg/analyzer/lib/src/dart/ast/utilities.dart
+++ b/pkg/analyzer/lib/src/dart/ast/utilities.dart
@@ -1081,8 +1081,8 @@
 
   @override
   bool visitLibraryDirective(covariant LibraryDirectiveImpl node) {
-    if (identical(node.name2, _oldNode)) {
-      node.name2 = _newNode as LibraryIdentifierImpl;
+    if (identical(node.name, _oldNode)) {
+      node.name = _newNode as LibraryIdentifierImpl;
       return true;
     }
     return visitAnnotatedNode(node);
diff --git a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart
index 7d2755e..b549940 100644
--- a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart
+++ b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart
@@ -106,7 +106,7 @@
   void visitAnnotation(Annotation node) {
     super.visitAnnotation(node);
     // check annotation creation
-    var element = node.element2;
+    var element = node.element;
     if (element is ConstructorElement) {
       // should be 'const' constructor
       if (!element.isConst) {
@@ -571,8 +571,8 @@
     allowedTypeParameters = {...?allowedTypeParameters};
     if (type is NamedType) {
       // Should not be a type parameter.
-      if (type.element2 is TypeParameterElement &&
-          !allowedTypeParameters.contains(type.element2)) {
+      if (type.element is TypeParameterElement &&
+          !allowedTypeParameters.contains(type.element)) {
         _diagnosticReporter.atNode(type, diagnosticCode);
         return;
       }
diff --git a/pkg/analyzer/lib/src/dart/constant/evaluation.dart b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
index e27a92c..2f5396d 100644
--- a/pkg/analyzer/lib/src/dart/constant/evaluation.dart
+++ b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
@@ -858,7 +858,7 @@
     var typeArguments = classType.typeArguments;
     // The result is already instantiated during resolution;
     // [_dartObjectComputer.typeInstantiate] is unnecessary.
-    var typeElement = node.constructorName.type.element2;
+    var typeElement = node.constructorName.type.element;
 
     TypeAliasElement? viaTypeAlias;
     if (typeElement is TypeAliasElementImpl) {
@@ -1196,7 +1196,7 @@
       errorNode: node,
       expression: null,
       identifier: null,
-      element: node.element2,
+      element: node.element,
       givenType: type,
     );
   }
@@ -3619,7 +3619,7 @@
       // an unresolved expression is evaluated. We do this to continue the
       // rest of the evaluation without producing unrelated errors.
       if (argument is NamedExpressionImpl) {
-        var parameterType = argument.element2?.type ?? InvalidTypeImpl.instance;
+        var parameterType = argument.element?.type ?? InvalidTypeImpl.instance;
         var argumentConstant = constantVisitor._valueOf(
           argument.expression,
           parameterType,
diff --git a/pkg/analyzer/lib/src/dart/constant/potentially_constant.dart b/pkg/analyzer/lib/src/dart/constant/potentially_constant.dart
index 302b9ab..2b89c05 100644
--- a/pkg/analyzer/lib/src/dart/constant/potentially_constant.dart
+++ b/pkg/analyzer/lib/src/dart/constant/potentially_constant.dart
@@ -411,7 +411,7 @@
     }
     if (potentially &&
         node is NamedType &&
-        node.element2 is TypeParameterElement) {
+        node.element is TypeParameterElement) {
       return true;
     }
 
@@ -476,8 +476,8 @@
 
 extension on NamedType {
   bool get isConstantNamedType {
-    var element2 = this.element2;
-    if (element2 is InterfaceElement || element2 is TypeAliasElement) {
+    var element = this.element;
+    if (element is InterfaceElement || element is TypeAliasElement) {
       return !isDeferred;
     }
     return false;
diff --git a/pkg/analyzer/lib/src/dart/micro/utils.dart b/pkg/analyzer/lib/src/dart/micro/utils.dart
index 534fcdb..e3eadf3 100644
--- a/pkg/analyzer/lib/src/dart/micro/utils.dart
+++ b/pkg/analyzer/lib/src/dart/micro/utils.dart
@@ -30,9 +30,9 @@
     case ImportDirective():
       return MockLibraryImportElement(node.libraryImport!);
     case ImportPrefixReference():
-      element = node.element2;
+      element = node.element;
     default:
-      element = ElementLocator.locate2(node);
+      element = ElementLocator.locate(node);
   }
 
   if (node is SimpleIdentifier && element is PrefixElement) {
@@ -131,9 +131,9 @@
   Element? usedElement;
   var parent = prefixNode.parent;
   if (parent is ExtensionOverride) {
-    usedElement = parent.element2;
+    usedElement = parent.element;
   } else if (parent is NamedType) {
-    usedElement = parent.element2;
+    usedElement = parent.element;
   }
   if (usedElement == null) {
     return null;
@@ -277,7 +277,7 @@
 
   @override
   void visitAssignmentExpression(AssignmentExpression node) {
-    var writeElement = node.writeElement2;
+    var writeElement = node.writeElement;
     if (writeElement is PropertyAccessorElement) {
       var kind = MatchKind.WRITE;
       if (writeElement.variable3 == element || writeElement == element) {
@@ -303,7 +303,7 @@
       }
     }
 
-    var readElement = node.readElement2;
+    var readElement = node.readElement;
     if (readElement is PropertyAccessorElement) {
       if (readElement.variable3 == element) {
         references.add(
@@ -398,7 +398,7 @@
 
   @override
   void visitEnumConstantDeclaration(EnumConstantDeclaration node) {
-    var constructorElement = node.constructorElement2;
+    var constructorElement = node.constructorElement;
     if (constructorElement != null && constructorElement == element) {
       int offset;
       int length;
@@ -420,7 +420,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    if (node.element2 == element) {
+    if (node.element == element) {
       references.add(
         MatchInfo(node.name.offset, node.name.length, MatchKind.REFERENCE),
       );
diff --git a/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart
index 9099004..21d569c 100644
--- a/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart
@@ -82,7 +82,7 @@
     }
 
     getterName?.element = getter;
-    node.element2 = getter;
+    node.element = getter;
 
     if (getterName != null && getter is PropertyAccessorElement) {
       _propertyAccessorElement(
@@ -114,7 +114,7 @@
     List<WhyNotPromotedGetter> whyNotPromotedArguments,
   ) {
     constructorName?.element = constructorElement;
-    node.element2 = constructorElement;
+    node.element = constructorElement;
 
     if (constructorElement == null) {
       _diagnosticReporter.atNode(node, CompileTimeErrorCode.INVALID_ANNOTATION);
@@ -161,7 +161,7 @@
     }
 
     getterName?.element = getter;
-    node.element2 = getter;
+    node.element = getter;
 
     if (getterName != null && getter is PropertyAccessorElement) {
       _propertyAccessorElement(
@@ -205,7 +205,7 @@
     List<WhyNotPromotedGetter> whyNotPromotedArguments,
   ) {
     name.element = element;
-    node.element2 = element;
+    node.element = element;
 
     _resolveAnnotationElementGetter(node, element);
     _visitArguments(
@@ -453,7 +453,7 @@
     }
 
     getterName?.element = getter;
-    node.element2 = getter;
+    node.element = getter;
 
     if (getterName != null && getter is PropertyAccessorElement) {
       _propertyAccessorElement(
diff --git a/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart b/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart
index 1f96d7a..eb0e053 100644
--- a/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart
@@ -143,7 +143,7 @@
         var extensionOverride = ExtensionOverrideImpl(
           importPrefix: null,
           name: methodName.token,
-          element2: element,
+          element: element,
           typeArguments: node.typeArguments,
           argumentList: node.argumentList,
         );
@@ -183,9 +183,9 @@
             importPrefix: ImportPrefixReferenceImpl(
               name: target.token,
               period: operator,
-            )..element2 = element,
+            )..element = element,
             name: node.methodName.token,
-            element2: prefixedElement,
+            element: prefixedElement,
             typeArguments: node.typeArguments,
             argumentList: node.argumentList,
           );
diff --git a/pkg/analyzer/lib/src/dart/resolver/binary_expression_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/binary_expression_resolver.dart
index 19db338..f9ad288 100644
--- a/pkg/analyzer/lib/src/dart/resolver/binary_expression_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/binary_expression_resolver.dart
@@ -397,7 +397,7 @@
     ExpressionImpl leftOperand = node.leftOperand;
 
     if (leftOperand is ExtensionOverrideImpl) {
-      var extension = leftOperand.element2;
+      var extension = leftOperand.element;
       var member = extension.getMethod(methodName);
       if (member == null) {
         // Extension overrides can only be used with named extensions so it is
diff --git a/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart
index 30c06a4..c81f62a 100644
--- a/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart
@@ -51,7 +51,7 @@
       //
       // Only report errors when the constructor tearoff feature is enabled,
       // to avoid reporting redundant errors.
-      var enclosingElement = node.constructorName.type.element2;
+      var enclosingElement = node.constructorName.type.element;
       if (enclosingElement is TypeAliasElement) {
         var aliasedType = enclosingElement.aliasedType;
         enclosingElement =
@@ -95,7 +95,7 @@
   }) {
     var constructorName = node.constructorName;
     var elementToInfer = _resolver.inferenceHelper.constructorElementToInfer(
-      typeElement: constructorName.type.element2,
+      typeElement: constructorName.type.element,
       constructorName: constructorName.name,
       definingLibrary: _resolver.definingLibrary,
     );
diff --git a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
index 69a5f8a..bf3f735 100644
--- a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
@@ -42,7 +42,7 @@
   /// The context of the invocation that is made through the override does
   /// not affect the type inference of the override and the receiver.
   TypeImpl? computeOverrideReceiverContextType(ExtensionOverride node) {
-    var element = node.element2;
+    var element = node.element;
     var typeParameters = element.typeParameters2;
 
     var arguments = node.argumentList.arguments;
@@ -155,7 +155,7 @@
     ExtensionOverrideImpl node,
     String name,
   ) {
-    var element = node.element2;
+    var element = node.element;
 
     ExecutableElementImpl? getter;
     ExecutableElementImpl? setter;
@@ -193,7 +193,7 @@
     List<WhyNotPromotedGetter> whyNotPromotedArguments,
   ) {
     var nodeImpl = node as ExtensionOverrideImpl;
-    var element = node.element2;
+    var element = node.element;
     // TODO(paulberry): make this cast unnecessary by changing the type of
     // `ExtensionOverrideImpl.element2`.
     var typeParameters =
@@ -360,7 +360,7 @@
     required TypeConstraintGenerationDataForTesting? dataForTesting,
     required AstNodeImpl? nodeForTesting,
   }) {
-    var element = node.element2;
+    var element = node.element;
     var typeParameters = element.typeParameters2;
     var typeArguments = node.typeArguments;
 
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 1e8989c..7591dde 100644
--- a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
@@ -347,7 +347,7 @@
       for (var i = 0; i < variables.length; ++i) {
         var variable = variables[i];
         var declaredElement =
-            variable.declaredElement2 as PromotableElementImpl;
+            variable.declaredElement as PromotableElementImpl;
         flow!.declare(
           declaredElement,
           SharedTypeView(declaredElement.type),
@@ -952,7 +952,7 @@
 
   @override
   void visitAssignedVariablePattern(AssignedVariablePattern node) {
-    var element = node.element2;
+    var element = node.element;
     if (element is PromotableElement) {
       assignedVariables.write(element);
     }
@@ -991,7 +991,7 @@
       node.stackTraceParameter,
     ]) {
       if (identifier != null) {
-        assignedVariables.declare(identifier.declaredElement2!);
+        assignedVariables.declare(identifier.declaredElement!);
       }
     }
     super.visitCatchClause(node);
@@ -1182,7 +1182,7 @@
         grandParent is FieldDeclaration) {
       throw StateError('Should not visit top level declarations');
     }
-    var declaredElement = node.declaredElement2 as PromotableElement;
+    var declaredElement = node.declaredElement as PromotableElement;
     assignedVariables.declare(declaredElement);
     if (declaredElement.isLate && node.initializer != null) {
       assignedVariables.beginNode();
@@ -1235,7 +1235,7 @@
           assignedVariables.write(element);
         }
       } else if (forLoopParts is ForEachPartsWithDeclaration) {
-        var variable = forLoopParts.loopVariable.declaredElement2!;
+        var variable = forLoopParts.loopVariable.declaredElement!;
         assignedVariables.declare(variable);
       } else if (forLoopParts is ForEachPartsWithPatternImpl) {
         for (var variable in forLoopParts.variables) {
diff --git a/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart
index 428347c..d5a388b6 100644
--- a/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart
@@ -190,7 +190,7 @@
     }
 
     if (loopVariable != null) {
-      var declaredElement = loopVariable.declaredElement2!;
+      var declaredElement = loopVariable.declaredElement!;
       _resolver.flowAnalysis.flow?.declare(
         declaredElement,
         SharedTypeView(declaredElement.type),
diff --git a/pkg/analyzer/lib/src/dart/resolver/instance_creation_expression_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/instance_creation_expression_resolver.dart
index a6a769b..ad8546a 100644
--- a/pkg/analyzer/lib/src/dart/resolver/instance_creation_expression_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/instance_creation_expression_resolver.dart
@@ -167,7 +167,7 @@
     constructorName = node.constructorName;
     _resolver.elementResolver.visitInstanceCreationExpression(node);
     var elementToInfer = _resolver.inferenceHelper.constructorElementToInfer(
-      typeElement: constructorName.type.element2,
+      typeElement: constructorName.type.element,
       constructorName: node.constructorName.name,
       definingLibrary: _resolver.definingLibrary,
     );
diff --git a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart
index ad2100d..cb66dc0 100644
--- a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart
@@ -96,13 +96,13 @@
     FunctionType? invokeType,
   ) {
     if (invokeType != null) {
-      var elementOrMember = node.element2 as ConstructorElementMixin2;
+      var elementOrMember = node.element as ConstructorElementMixin2;
       var constructorElement = ConstructorMember.from2(
         elementOrMember.baseElement,
         invokeType.returnType as InterfaceType,
       );
       constructorName?.element = constructorElement;
-      node.element2 = constructorElement;
+      node.element = constructorElement;
       return constructorElement.formalParameters;
     }
     return null;
@@ -379,7 +379,7 @@
 
     var parameters = _storeResult(typeArgumentTypes, invokeType);
     if (parameters != null) {
-      argumentList.correspondingStaticParameters2 =
+      argumentList.correspondingStaticParameters =
           ResolverVisitor.resolveArgumentsToParameters(
             argumentList: argumentList,
             formalParameters: parameters,
diff --git a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
index c1dca8e..644ae4d 100644
--- a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
@@ -579,7 +579,7 @@
       _resolver.diagnosticReporter.atNode(
         nameNode,
         CompileTimeErrorCode.UNDEFINED_EXTENSION_METHOD,
-        arguments: [name, override.element2.name3!],
+        arguments: [name, override.element.name3!],
       );
       return null;
     }
diff --git a/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
index 625ba79..41c462c 100644
--- a/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
@@ -93,7 +93,7 @@
       var prefixToken = importPrefix.name;
       var prefixName = prefixToken.lexeme;
       var prefixElement = nameScope.lookup(prefixName).getter2;
-      importPrefix.element2 = prefixElement;
+      importPrefix.element = prefixElement;
 
       if (prefixElement == null) {
         _resolveToElement(node, null, dataForTesting: dataForTesting);
@@ -319,7 +319,7 @@
     Element? element, {
     required TypeConstraintGenerationDataForTesting? dataForTesting,
   }) {
-    node.element2 = element;
+    node.element = element;
 
     if (element == null) {
       node.type = InvalidTypeImpl.instance;
@@ -373,7 +373,7 @@
         name: importPrefix.name,
         typeArguments: null,
         question: null,
-      )..element2 = importPrefixElement;
+      )..element = importPrefixElement;
       if (identical(node, redirectedConstructor_namedType)) {
         redirectedConstructor_namedType = namedType;
       }
@@ -717,7 +717,7 @@
     var firstToken = node.name;
     var importPrefix = node.importPrefix;
     if (importPrefix != null) {
-      if (!skipImportPrefix || importPrefix.element2 is! PrefixElement) {
+      if (!skipImportPrefix || importPrefix.element is! PrefixElement) {
         firstToken = importPrefix.name;
       }
     }
diff --git a/pkg/analyzer/lib/src/dart/resolver/prefix_expression_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/prefix_expression_resolver.dart
index d041bf7..9b125c0 100644
--- a/pkg/analyzer/lib/src/dart/resolver/prefix_expression_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/prefix_expression_resolver.dart
@@ -155,7 +155,7 @@
       ExpressionImpl operand = node.operand;
       String methodName = _getPrefixOperator(node);
       if (operand is ExtensionOverrideImpl) {
-        var element = operand.element2;
+        var element = operand.element;
         var member = element.getMethod(methodName);
         if (member == null) {
           // Extension overrides always refer to named extensions, so we can
diff --git a/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart
index 242c487..297d3f8 100644
--- a/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart
@@ -151,7 +151,7 @@
         _reportUnresolvedIndex(
           node,
           CompileTimeErrorCode.UNDEFINED_EXTENSION_OPERATOR,
-          ['[]', target.element2.name3!],
+          ['[]', target.element.name3!],
         );
       }
 
@@ -163,7 +163,7 @@
         _reportUnresolvedIndex(
           node,
           CompileTimeErrorCode.UNDEFINED_EXTENSION_OPERATOR,
-          ['[]=', target.element2.name3!],
+          ['[]=', target.element.name3!],
         );
       }
 
@@ -723,7 +723,7 @@
       );
     }
 
-    var element = target.element2;
+    var element = target.element;
     var memberName = propertyName.name;
 
     var result = _extensionResolver.getOverrideMember(target, memberName);
diff --git a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
index ffc49aa..ade8160 100644
--- a/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart
@@ -193,7 +193,7 @@
   ) {
     var name = node.name.lexeme;
     var element = _nameScope.lookup(name).getter2;
-    node.element2 = element;
+    node.element = element;
 
     if (element == null) {
       _diagnosticReporter.atToken(
@@ -1017,7 +1017,7 @@
   @override
   void visitLibraryDirective(covariant LibraryDirectiveImpl node) {
     ++_libraryDirectiveIndex;
-    var element = node.element2;
+    var element = node.element;
     if (element is LibraryElementImpl && _libraryDirectiveIndex == 1) {
       _setElementAnnotations(node.metadata, element.metadata.annotations);
     }
diff --git a/pkg/analyzer/lib/src/error/best_practices_verifier.dart b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
index 4ac1be1..c408435 100644
--- a/pkg/analyzer/lib/src/error/best_practices_verifier.dart
+++ b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
@@ -1700,7 +1700,7 @@
     var element =
         grandparent is ConstructorName
             ? grandparent.element
-            : identifier.writeOrReadElement2;
+            : identifier.writeOrReadElement;
 
     if (element == null) {
       return;
@@ -1763,7 +1763,7 @@
   }
 
   void verifyNamedType(NamedType node) {
-    var element = node.element2;
+    var element = node.element;
 
     var parent = node.parent;
     if (parent is ConstructorName) {
@@ -1790,7 +1790,7 @@
   }
 
   void verifyPatternField(PatternFieldImpl node) {
-    var element = node.element2;
+    var element = node.element;
     if (element == null) {
       return;
     }
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 7fd5075..a6d2bdc 100644
--- a/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart
+++ b/pkg/analyzer/lib/src/error/deprecated_member_use_verifier.dart
@@ -23,8 +23,8 @@
     : _strictCasts = strictCasts;
 
   void assignmentExpression(AssignmentExpression node) {
-    _checkForDeprecated(node.readElement2, node.leftHandSide);
-    _checkForDeprecated(node.writeElement2, node.leftHandSide);
+    _checkForDeprecated(node.readElement, node.leftHandSide);
+    _checkForDeprecated(node.writeElement, node.leftHandSide);
     _checkForDeprecated(node.element, node);
   }
 
@@ -47,7 +47,7 @@
   }
 
   void extensionOverride(ExtensionOverride node) {
-    _checkForDeprecated(node.element2, node);
+    _checkForDeprecated(node.element, node);
   }
 
   void functionExpressionInvocation(FunctionExpressionInvocation node) {
@@ -75,11 +75,11 @@
   }
 
   void namedType(NamedType node) {
-    _checkForDeprecated(node.element2, node);
+    _checkForDeprecated(node.element, node);
   }
 
   void patternField(PatternField node) {
-    _checkForDeprecated(node.element2, node);
+    _checkForDeprecated(node.element, node);
   }
 
   void popInDeprecated() {
@@ -87,14 +87,14 @@
   }
 
   void postfixExpression(PostfixExpression node) {
-    _checkForDeprecated(node.readElement2, node.operand);
-    _checkForDeprecated(node.writeElement2, node.operand);
+    _checkForDeprecated(node.readElement, node.operand);
+    _checkForDeprecated(node.writeElement, node.operand);
     _checkForDeprecated(node.element, node);
   }
 
   void prefixExpression(PrefixExpression node) {
-    _checkForDeprecated(node.readElement2, node.operand);
-    _checkForDeprecated(node.writeElement2, node.operand);
+    _checkForDeprecated(node.readElement, node.operand);
+    _checkForDeprecated(node.writeElement, node.operand);
     _checkForDeprecated(node.element, node);
   }
 
diff --git a/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart b/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart
index 78ab02a..585a0258 100644
--- a/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart
+++ b/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart
@@ -37,7 +37,7 @@
     var exceptionParameter = node.exceptionParameter;
     var stackTraceParameter = node.stackTraceParameter;
     if (exceptionParameter != null && stackTraceParameter != null) {
-      var element = exceptionParameter.declaredElement2;
+      var element = exceptionParameter.declaredElement;
       if (element != null && element.isWildcardVariable) return;
       String exceptionName = exceptionParameter.name.lexeme;
       if (exceptionName == stackTraceParameter.name.lexeme) {
diff --git a/pkg/analyzer/lib/src/error/required_parameters_verifier.dart b/pkg/analyzer/lib/src/error/required_parameters_verifier.dart
index 628a987..702ad17 100644
--- a/pkg/analyzer/lib/src/error/required_parameters_verifier.dart
+++ b/pkg/analyzer/lib/src/error/required_parameters_verifier.dart
@@ -20,7 +20,7 @@
 
   @override
   void visitAnnotation(Annotation node) {
-    var element = node.element2;
+    var element = node.element;
     var argumentList = node.arguments;
     if (element is ConstructorElement && argumentList != null) {
       var errorNode = node.constructorIdentifier ?? node.classIdentifier;
@@ -60,7 +60,7 @@
   @override
   void visitEnumConstantDeclaration(EnumConstantDeclaration node) {
     _check(
-      parameters: node.constructorElement2?.formalParameters,
+      parameters: node.constructorElement?.formalParameters,
       arguments: node.arguments?.argumentList.arguments ?? <Expression>[],
       errorEntity: node.name,
     );
diff --git a/pkg/analyzer/lib/src/error/type_arguments_verifier.dart b/pkg/analyzer/lib/src/error/type_arguments_verifier.dart
index b52a33c..27d7c83 100644
--- a/pkg/analyzer/lib/src/error/type_arguments_verifier.dart
+++ b/pkg/analyzer/lib/src/error/type_arguments_verifier.dart
@@ -36,7 +36,7 @@
       _libraryElement.typeSystem as TypeSystemImpl;
 
   void checkConstructorReference(ConstructorReferenceImpl node) {
-    var classElement = node.constructorName.type.element2;
+    var classElement = node.constructorName.type.element;
     List<TypeParameterElementImpl> typeParameters;
     if (classElement is TypeAliasElementImpl) {
       typeParameters = classElement.typeParameters2;
@@ -101,7 +101,7 @@
   }
 
   void checkEnumConstantDeclaration(EnumConstantDeclarationImpl node) {
-    var constructorElement = node.constructorElement2;
+    var constructorElement = node.constructorElement;
     if (constructorElement == null) {
       return;
     }
@@ -277,7 +277,7 @@
       return;
     }
     var type = node.typeOrThrow;
-    if (_isMissingTypeArguments(node, type, node.element2)) {
+    if (_isMissingTypeArguments(node, type, node.element)) {
       AstNode unwrappedParent = parentEscapingTypeArguments(node);
       if (unwrappedParent is AsExpression ||
           unwrappedParent is CastPattern ||
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 d6cb593..c1f3a73 100644
--- a/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart
+++ b/pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart
@@ -60,14 +60,14 @@
     var exceptionParameter = node.exceptionParameter;
     var stackTraceParameter = node.stackTraceParameter;
     if (exceptionParameter != null) {
-      var element = exceptionParameter.declaredElement2;
+      var element = exceptionParameter.declaredElement;
       usedElements.addCatchException(element);
       if (stackTraceParameter != null || node.onKeyword == null) {
         usedElements.addElement(element);
       }
     }
     if (stackTraceParameter != null) {
-      var element = stackTraceParameter.declaredElement2;
+      var element = stackTraceParameter.declaredElement;
       usedElements.addCatchStackTrace(element);
     }
     super.visitCatchClause(node);
@@ -124,7 +124,7 @@
 
   @override
   void visitEnumConstantDeclaration(EnumConstantDeclaration node) {
-    usedElements.addElement(node.constructorElement2?.baseElement);
+    usedElements.addElement(node.constructorElement?.baseElement);
 
     var argumentList = node.arguments?.argumentList;
     if (argumentList != null) {
@@ -176,7 +176,7 @@
 
   @override
   void visitIndexExpression(IndexExpression node) {
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     usedElements.addMember(element);
     super.visitIndexExpression(node);
   }
@@ -223,14 +223,14 @@
 
   @override
   void visitNamedType(NamedType node) {
-    _useIdentifierElement(node.element2, parent: node);
+    _useIdentifierElement(node.element, parent: node);
     super.visitNamedType(node);
   }
 
   @override
   void visitPatternField(PatternField node) {
-    usedElements.addMember(node.element2);
-    usedElements.addReadMember(node.element2);
+    usedElements.addMember(node.element);
+    usedElements.addReadMember(node.element);
     super.visitPatternField(node);
   }
 
@@ -250,8 +250,8 @@
 
   @override
   void visitRelationalPattern(RelationalPattern node) {
-    usedElements.addMember(node.element2);
-    usedElements.addReadMember(node.element2);
+    usedElements.addMember(node.element);
+    usedElements.addReadMember(node.element);
     super.visitRelationalPattern(node);
   }
 
@@ -263,7 +263,7 @@
     if (_inCommentReference(node)) {
       return;
     }
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     // Store un-parameterized members.
     if (element is ExecutableMember) {
       element = element.baseElement;
@@ -285,8 +285,8 @@
       }
     } else {
       var parent = node.parent!;
-      _useIdentifierElement(node.readElement2, parent: parent);
-      _useIdentifierElement(node.writeElement2, parent: parent);
+      _useIdentifierElement(node.readElement, parent: parent);
+      _useIdentifierElement(node.writeElement, parent: parent);
       _useIdentifierElement(node.element, parent: parent);
       var grandparent = parent.parent;
       // If [node] is a tear-off, assume all parameters are used.
@@ -520,7 +520,7 @@
 
   @override
   void visitCatchClauseParameter(CatchClauseParameter node) {
-    _visitLocalVariableElement(node.declaredElement2!);
+    _visitLocalVariableElement(node.declaredElement!);
     super.visitCatchClauseParameter(node);
   }
 
@@ -552,7 +552,7 @@
   void visitDeclaredVariablePattern(
     covariant DeclaredVariablePatternImpl node,
   ) {
-    var declaredElement = node.declaredElement2!;
+    var declaredElement = node.declaredElement!;
     if (!declaredElement.isDuplicate) {
       var patternVariableElements = _patternVariableElements;
       if (patternVariableElements != null) {
@@ -617,7 +617,7 @@
   void visitForPartsWithDeclarations(ForPartsWithDeclarations node) {
     for (var variable in node.variables.variables) {
       _visitLocalVariableElement(
-        variable.declaredElement2 as LocalVariableElement,
+        variable.declaredElement as LocalVariableElement,
       );
     }
 
@@ -747,7 +747,7 @@
   void visitVariableDeclarationStatement(VariableDeclarationStatement node) {
     for (var variable in node.variables.variables) {
       _visitLocalVariableElement(
-        variable.declaredElement2 as LocalVariableElement,
+        variable.declaredElement as LocalVariableElement,
       );
     }
 
diff --git a/pkg/analyzer/lib/src/error/use_result_verifier.dart b/pkg/analyzer/lib/src/error/use_result_verifier.dart
index 176204b..51dad38 100644
--- a/pkg/analyzer/lib/src/error/use_result_verifier.dart
+++ b/pkg/analyzer/lib/src/error/use_result_verifier.dart
@@ -146,7 +146,7 @@
     }
 
     var argumentList = node.argumentList as ArgumentListImpl;
-    var parameters = argumentList.correspondingStaticParameters2;
+    var parameters = argumentList.correspondingStaticParameters;
     if (parameters == null) {
       return false;
     }
diff --git a/pkg/analyzer/lib/src/fine/manifest_ast.dart b/pkg/analyzer/lib/src/fine/manifest_ast.dart
index f7bc541..7a4cc75 100644
--- a/pkg/analyzer/lib/src/fine/manifest_ast.dart
+++ b/pkg/analyzer/lib/src/fine/manifest_ast.dart
@@ -196,7 +196,7 @@
   @override
   void visitAnnotation(Annotation node) {
     node.visitChildren(this);
-    _addElement(node.element2);
+    _addElement(node.element);
   }
 
   @override
@@ -296,7 +296,7 @@
   @override
   void visitNamedType(NamedType node) {
     node.visitChildren(this);
-    _addElement(node.element2);
+    _addElement(node.element);
   }
 
   @override
diff --git a/pkg/analyzer/lib/src/generated/element_resolver.dart b/pkg/analyzer/lib/src/generated/element_resolver.dart
index b91a737..8ac6153 100644
--- a/pkg/analyzer/lib/src/generated/element_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/element_resolver.dart
@@ -175,7 +175,7 @@
       invokedConstructor,
     );
     if (parameters != null) {
-      argumentList.correspondingStaticParameters2 = parameters;
+      argumentList.correspondingStaticParameters = parameters;
     }
   }
 
@@ -283,7 +283,7 @@
       invokedConstructor,
     );
     if (parameters != null) {
-      argumentList.correspondingStaticParameters2 = parameters;
+      argumentList.correspondingStaticParameters = parameters;
     }
   }
 
@@ -363,7 +363,7 @@
     var argumentList = node.argumentList;
     var parameters = _resolveArgumentsToFunction(argumentList, element);
     if (parameters != null) {
-      argumentList.correspondingStaticParameters2 = parameters;
+      argumentList.correspondingStaticParameters = parameters;
     }
   }
 
@@ -440,7 +440,7 @@
       enclosingConstructor: node.thisOrAncestorOfType<ConstructorDeclaration>(),
     );
     if (parameters != null) {
-      argumentList.correspondingStaticParameters2 = parameters;
+      argumentList.correspondingStaticParameters = parameters;
     }
   }
 
@@ -551,7 +551,7 @@
       var elementAnnotation =
           annotation.elementAnnotation as ElementAnnotationImpl?;
       if (elementAnnotation != null) {
-        elementAnnotation.element2 = annotation.element2;
+        elementAnnotation.element2 = annotation.element;
       }
     }
   }
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index 81116b0..0bb54de 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -1128,7 +1128,7 @@
   void visitImportPrefixReference(ImportPrefixReference node) {
     _checkForReferenceBeforeDeclaration(
       nameToken: node.name,
-      element: node.element2,
+      element: node.element,
     );
   }
 
@@ -1318,10 +1318,10 @@
 
   @override
   void visitNamedType(covariant NamedTypeImpl node) {
-    _checkForAmbiguousImport(name: node.name, element: node.element2);
+    _checkForAmbiguousImport(name: node.name, element: node.element);
     _checkForTypeParameterReferencedByStatic(
       name: node.name,
-      element: node.element2,
+      element: node.element,
     );
     _typeArgumentsVerifier.checkNamedType(node);
     super.visitNamedType(node);
@@ -1475,7 +1475,7 @@
   void visitSimpleIdentifier(SimpleIdentifier node) {
     _checkForAmbiguousImport(
       name: node.token,
-      element: node.writeOrReadElement2,
+      element: node.writeOrReadElement,
     );
     _checkForReferenceBeforeDeclaration(
       nameToken: node.token,
@@ -3770,7 +3770,7 @@
       return;
     }
     // prepare member Element
-    var element = name.writeOrReadElement2;
+    var element = name.writeOrReadElement;
     if (element is ExecutableElement) {
       if (!element.isStatic) {
         // OK, instance member
@@ -3932,7 +3932,7 @@
       return;
     }
     // prepare element
-    var element = identifier.writeOrReadElement2;
+    var element = identifier.writeOrReadElement;
     if (!(element is MethodElement || element is PropertyAccessorElement)) {
       return;
     }
@@ -5641,7 +5641,7 @@
       return;
     }
 
-    var element = name.writeOrReadElement2;
+    var element = name.writeOrReadElement;
     if (element == null || element is TypeParameterElement) {
       return;
     }
@@ -6613,7 +6613,7 @@
       return;
     }
 
-    var element = node.element2;
+    var element = node.element;
     if (element is TypeParameterizedElement && !element.isSimplyBounded) {
       // TODO(srawlins): Don't report this if TYPE_ALIAS_CANNOT_REFERENCE_ITSELF
       //  has been reported.
diff --git a/pkg/analyzer/lib/src/generated/exhaustiveness.dart b/pkg/analyzer/lib/src/generated/exhaustiveness.dart
index 35d7c5c..0c7132e 100644
--- a/pkg/analyzer/lib/src/generated/exhaustiveness.dart
+++ b/pkg/analyzer/lib/src/generated/exhaustiveness.dart
@@ -561,7 +561,7 @@
       return createVariableSpace(
         path,
         contextType,
-        pattern.declaredElement2!.type,
+        pattern.declaredElement!.type,
         nonNull: nonNull,
       );
     } else if (pattern is ObjectPattern) {
@@ -574,7 +574,7 @@
           continue;
         }
         properties[name] = field.pattern;
-        var element = field.element2;
+        var element = field.element;
         TypeImpl? extensionPropertyType;
         if (element is PropertyAccessorElement2OrMember &&
             (element.enclosingElement is ExtensionElementImpl ||
diff --git a/pkg/analyzer/lib/src/generated/ffi_verifier.dart b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
index 06fdad2..20ceba9 100644
--- a/pkg/analyzer/lib/src/generated/ffi_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
@@ -160,7 +160,7 @@
 
     // No classes from the FFI may be explicitly implemented.
     void checkSupertype(NamedType typename, FfiCode subtypeOfStructCode) {
-      var superName = typename.element2?.name3;
+      var superName = typename.element?.name3;
       if (superName == _allocatorClassName ||
           superName == _finalizableClassName) {
         return;
@@ -305,7 +305,7 @@
     // Ensure there is at most one @DefaultAsset annotation per library
     var hasDefaultAsset = false;
 
-    if (node.element2 case LibraryElementImpl library) {
+    if (node.element case LibraryElementImpl library) {
       for (var annotation in library.metadata.annotations) {
         var annotationValue = annotation.computeConstantValue();
         if (annotationValue != null && annotationValue.isDefaultAsset) {
@@ -783,7 +783,7 @@
       return false;
     }
     for (var arg in args) {
-      if (arg is! NamedExpression || arg.element2?.name3 != _isLeafParamName) {
+      if (arg is! NamedExpression || arg.element?.name3 != _isLeafParamName) {
         continue;
       }
       return _maybeGetBoolConstValue(arg.expression) ?? false;
@@ -989,7 +989,7 @@
 
   /// Return an indication of the Dart type associated with the [annotation].
   _PrimitiveDartType _typeForAnnotation(Annotation annotation) {
-    var element = annotation.element2;
+    var element = annotation.element;
     if (element is ConstructorElement) {
       var name = element.enclosingElement.name3;
       if (_primitiveIntegerNativeTypes.contains(name)) {
@@ -1205,8 +1205,8 @@
     bool requiredFound = false;
     List<Annotation> extraAnnotations = [];
     for (Annotation annotation in annotations) {
-      if (annotation.element2.ffiClass != null ||
-          annotation.element2?.enclosingElement.isAbiSpecificIntegerSubclass ==
+      if (annotation.element.ffiClass != null ||
+          annotation.element?.enclosingElement.isAbiSpecificIntegerSubclass ==
               true) {
         if (requiredFound) {
           extraAnnotations.add(annotation);
@@ -1673,7 +1673,7 @@
     if (args.isNotEmpty) {
       for (var arg in args) {
         if (arg is NamedExpression) {
-          if (arg.element2?.name3 == _isLeafParamName) {
+          if (arg.element?.name3 == _isLeafParamName) {
             if (!_isConst(arg.expression)) {
               _diagnosticReporter.atNode(
                 arg.expression,
@@ -1941,7 +1941,7 @@
   /// Validate that none of the [annotations] are from `dart:ffi`.
   void _validateNoAnnotations(NodeList<Annotation> annotations) {
     for (Annotation annotation in annotations) {
-      if (annotation.element2.ffiClass != null) {
+      if (annotation.element.ffiClass != null) {
         _diagnosticReporter.atNode(
           annotation,
           FfiCode.ANNOTATION_ON_POINTER_FIELD,
@@ -2202,7 +2202,7 @@
 
 extension on Annotation {
   bool get isAbiSpecificIntegerMapping {
-    var element = element2;
+    var element = this.element;
     return element is ConstructorElement &&
         element.ffiClass != null &&
         element.enclosingElement.name3 ==
@@ -2210,14 +2210,14 @@
   }
 
   bool get isArray {
-    var element = element2;
+    var element = this.element;
     return element is ConstructorElement &&
         element.ffiClass != null &&
         element.enclosingElement.name3 == 'Array';
   }
 
   bool get isPacked {
-    var element = element2;
+    var element = this.element;
     return element is ConstructorElement &&
         element.ffiClass != null &&
         element.enclosingElement.name3 == 'Packed';
@@ -2729,12 +2729,12 @@
 extension on NamedType {
   /// If this is a name of class from `dart:ffi`, return it.
   ClassElement? get ffiClass {
-    return element2.ffiClass;
+    return element.ffiClass;
   }
 
   /// Return `true` if this represents a subtype of `Struct` or `Union`.
   bool get isAbiSpecificIntegerSubtype {
-    var element = element2;
+    var element = this.element;
     if (element is ClassElement) {
       return element.allSupertypes.any((e) => e.isAbiSpecificInteger);
     }
@@ -2743,7 +2743,7 @@
 
   /// Return `true` if this represents a subtype of `Struct` or `Union`.
   bool get isCompoundSubtype {
-    var element = element2;
+    var element = this.element;
     if (element is ClassElement) {
       return element.allSupertypes.any((e) => e.isCompound);
     }
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 85d8787..b17e0fc 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -853,7 +853,7 @@
   }) {
     var typeNode = pattern.type;
     if (typeNode.typeArguments == null) {
-      var typeNameElement = typeNode.element2;
+      var typeNameElement = typeNode.element;
       if (typeNameElement is InterfaceElementImpl) {
         var typeParameters = typeNameElement.typeParameters2;
         if (typeParameters.isNotEmpty) {
@@ -1408,7 +1408,7 @@
     required AssignedVariablePatternImpl node,
     required SharedMatchContext context,
   }) {
-    var element = node.element2;
+    var element = node.element;
     if (element is! PromotableElementImpl) {
       return PatternResult(
         matchedValueType: SharedTypeView(InvalidTypeImpl.instance),
@@ -1634,7 +1634,7 @@
 
     var getter = result.getter2;
     if (getter != null) {
-      fieldNode.element2 = getter;
+      fieldNode.element = getter;
       if (getter is PropertyAccessorElement2OrMember) {
         return (getter, SharedTypeView(getter.returnType));
       } else {
@@ -1689,7 +1689,7 @@
     }
 
     var element = result.getter2 as MethodElement2OrMember?;
-    node.element2 = element;
+    node.element = element;
     if (element == null) {
       return null;
     }
@@ -1732,15 +1732,15 @@
 
     var parent = node.parent;
     if (parent is AssignmentExpressionImpl && parent.leftHandSide == node) {
-      parent.readElement2 = element;
+      parent.readElement = element;
       parent.readType = readType;
     } else if (parent is PostfixExpressionImpl &&
         parent.operator.type.isIncrementOperator) {
-      parent.readElement2 = element;
+      parent.readElement = element;
       parent.readType = readType;
     } else if (parent is PrefixExpressionImpl &&
         parent.operator.type.isIncrementOperator) {
-      parent.readElement2 = element;
+      parent.readElement = element;
       parent.readType = readType;
     }
   }
@@ -1796,15 +1796,15 @@
 
     var parent = node.parent;
     if (parent is AssignmentExpressionImpl && parent.leftHandSide == node) {
-      parent.writeElement2 = element;
+      parent.writeElement = element;
       parent.writeType = writeType;
     } else if (parent is PostfixExpressionImpl &&
         parent.operator.type.isIncrementOperator) {
-      parent.writeElement2 = element;
+      parent.writeElement = element;
       parent.writeType = writeType;
     } else if (parent is PrefixExpressionImpl &&
         parent.operator.type.isIncrementOperator) {
-      parent.writeElement2 = element;
+      parent.writeElement = element;
       parent.writeType = writeType;
     }
   }
@@ -2583,7 +2583,7 @@
       var constructorName = initializer.constructorName;
       var constructorElement = constructorName.element;
       if (constructorElement != null) {
-        node.constructorElement2 = constructorElement;
+        node.constructorElement = constructorElement;
         if (constructorElement.isFactory) {
           var constructorName = node.arguments?.constructorSelector?.name;
           var errorTarget = constructorName ?? node.name;
@@ -2593,7 +2593,7 @@
           );
         }
       } else {
-        if (constructorName.type.element2 is EnumElementImpl) {
+        if (constructorName.type.element is EnumElementImpl) {
           var nameNode = node.arguments?.constructorSelector?.name;
           if (nameNode != null) {
             diagnosticReporter.atNode(
@@ -2613,7 +2613,7 @@
         var arguments = node.arguments;
         if (arguments != null) {
           var argumentList = arguments.argumentList;
-          argumentList.correspondingStaticParameters2 =
+          argumentList.correspondingStaticParameters =
               ResolverVisitor.resolveArgumentsToParameters(
                 argumentList: argumentList,
                 formalParameters: constructorElement.formalParameters,
@@ -4101,9 +4101,9 @@
         // TODO(paulberry): try to remove these casts by changing `node` to a
         // `TryStatementImpl`
         flow.tryCatchStatement_catchBegin(
-          catchClause.exceptionParameter?.declaredElement2
+          catchClause.exceptionParameter?.declaredElement
               as PromotableElementImpl?,
-          catchClause.stackTraceParameter?.declaredElement2
+          catchClause.stackTraceParameter?.declaredElement
               as PromotableElementImpl?,
         );
         catchClause.accept(this);
@@ -4169,7 +4169,7 @@
       var declaredType = parent.type;
       var initializerStaticType = initializer.typeOrThrow;
       flowAnalysis.flow?.initialize(
-        node.declaredElement2 as PromotableElementImpl,
+        node.declaredElement as PromotableElementImpl,
         SharedTypeView(initializerStaticType),
         initializer,
         isFinal: parent.isFinal,
@@ -4884,7 +4884,7 @@
 
   @override
   void visitAssignedVariablePattern(AssignedVariablePattern node) {
-    var element = node.element2;
+    var element = node.element;
     if (element is PromotableElement) {
       _localVariableInfo.potentiallyMutatedInScope.add(element);
     }
@@ -4920,10 +4920,10 @@
       Scope outerScope = nameScope;
       try {
         nameScope = LocalScope(nameScope);
-        _define(exception.declaredElement2!);
+        _define(exception.declaredElement!);
         var stackTrace = node.stackTraceParameter;
         if (stackTrace != null) {
-          _define(stackTrace.declaredElement2!);
+          _define(stackTrace.declaredElement!);
         }
         super.visitCatchClause(node);
       } finally {
@@ -5616,7 +5616,7 @@
     super.visitVariableDeclaration(node);
 
     if (node.parent!.parent is ForParts) {
-      _define(node.declaredElement2!);
+      _define(node.declaredElement!);
     }
   }
 
diff --git a/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart b/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart
index d2a80c1..70fa814 100644
--- a/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart
+++ b/pkg/analyzer/lib/src/hint/sdk_constraint_verifier.dart
@@ -70,8 +70,8 @@
 
   @override
   void visitAssignmentExpression(AssignmentExpression node) {
-    _checkSinceSdkVersion(node.readElement2, node);
-    _checkSinceSdkVersion(node.writeElement2, node);
+    _checkSinceSdkVersion(node.readElement, node);
+    _checkSinceSdkVersion(node.writeElement, node);
     super.visitAssignmentExpression(node);
   }
 
@@ -131,7 +131,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    _checkSinceSdkVersion(node.element2, node);
+    _checkSinceSdkVersion(node.element, node);
     super.visitNamedType(node);
   }
 
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
index 62fdeaf..007151f 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
@@ -224,7 +224,7 @@
       constructorName: constructorName,
       arguments: arguments,
     );
-    node.element2 = _reader.readElement();
+    node.element = _reader.readElement();
     return node;
   }
 
@@ -273,9 +273,9 @@
       rightHandSide: rightHandSide,
     );
     node.element = _reader.readElement() as MethodElement2OrMember?;
-    node.readElement2 = _reader.readElement();
+    node.readElement = _reader.readElement();
     node.readType = _reader.readType();
-    node.writeElement2 = _reader.readElement();
+    node.writeElement = _reader.readElement();
     node.writeType = _reader.readType();
     _readExpressionResolution(node);
     return node;
@@ -524,7 +524,7 @@
     var node = ExtensionOverrideImpl(
       importPrefix: importPrefix,
       name: StringToken(TokenType.STRING, extensionName, -1),
-      element2: element,
+      element: element,
       argumentList: argumentList,
       typeArguments: typeArguments,
     );
@@ -755,7 +755,7 @@
       name: StringToken(TokenType.STRING, name, -1),
       period: Tokens.period(),
     );
-    node.element2 = _reader.readElement();
+    node.element = _reader.readElement();
     return node;
   }
 
@@ -963,7 +963,7 @@
       typeArguments: typeArguments,
       question: AstBinaryFlags.hasQuestion(flags) ? Tokens.question() : null,
     );
-    node.element2 = _reader.readElement();
+    node.element = _reader.readElement();
     node.type = _reader.readType();
     return node;
   }
@@ -1023,9 +1023,9 @@
     );
     node.element = _reader.readElement() as MethodElement?;
     if (node.operator.type.isIncrementOperator) {
-      node.readElement2 = _reader.readElement();
+      node.readElement = _reader.readElement();
       node.readType = _reader.readType();
-      node.writeElement2 = _reader.readElement();
+      node.writeElement = _reader.readElement();
       node.writeType = _reader.readType();
     }
     _readExpressionResolution(node);
@@ -1053,9 +1053,9 @@
     );
     node.element = _reader.readElement() as MethodElement?;
     if (node.operator.type.isIncrementOperator) {
-      node.readElement2 = _reader.readElement();
+      node.readElement = _reader.readElement();
       node.readType = _reader.readType();
-      node.writeElement2 = _reader.readElement();
+      node.writeElement = _reader.readElement();
       node.writeType = _reader.readType();
     }
     _readExpressionResolution(node);
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
index 3ff6f68..c093a9a 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
@@ -45,7 +45,7 @@
     }
     _writeOptionalNode(arguments);
 
-    _sink.writeElement(node.element2);
+    _sink.writeElement(node.element);
   }
 
   @override
@@ -84,9 +84,9 @@
     _writeByte(binaryToken.index);
 
     _sink.writeElement(node.element);
-    _sink.writeElement(node.readElement2);
+    _sink.writeElement(node.readElement);
     _sink.writeType(node.readType);
-    _sink.writeElement(node.writeElement2);
+    _sink.writeElement(node.writeElement);
     _sink.writeType(node.writeType);
     _storeExpression(node);
   }
@@ -268,7 +268,7 @@
     _writeOptionalNode(node.typeArguments);
     _writeNode(node.argumentList);
 
-    _sink.writeElement(node.element2);
+    _sink.writeElement(node.element);
     _sink.writeType(node.extendedType);
 
     // TODO(scheglov): typeArgumentTypes?
@@ -395,7 +395,7 @@
   void visitImportPrefixReference(ImportPrefixReference node) {
     _writeByte(Tag.ImportPrefixReference);
     _writeStringReference(node.name.lexeme);
-    _sink.writeElement(node.element2);
+    _sink.writeElement(node.element);
   }
 
   @override
@@ -572,7 +572,7 @@
     _writeStringReference(node.name.lexeme);
     _writeOptionalNode(node.typeArguments);
 
-    _sink.writeElement(node.element2);
+    _sink.writeElement(node.element);
     _sink.writeType(node.type);
   }
 
@@ -607,9 +607,9 @@
 
     _sink.writeElement(node.element);
     if (operatorToken.isIncrementOperator) {
-      _sink.writeElement(node.readElement2);
+      _sink.writeElement(node.readElement);
       _sink.writeType(node.readType);
-      _sink.writeElement(node.writeElement2);
+      _sink.writeElement(node.writeElement);
       _sink.writeType(node.writeType);
     }
     _storeExpression(node);
@@ -637,9 +637,9 @@
 
     _sink.writeElement(node.element);
     if (operatorToken.isIncrementOperator) {
-      _sink.writeElement(node.readElement2);
+      _sink.writeElement(node.readElement);
       _sink.writeType(node.readType);
-      _sink.writeElement(node.writeElement2);
+      _sink.writeElement(node.writeElement);
       _sink.writeType(node.writeType);
     }
 
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
index 3abe553..9b3cf71 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -1839,7 +1839,7 @@
       var ast = _readRequiredNode() as AnnotationImpl;
       return ElementAnnotationImpl(unitElement)
         ..annotationAst = ast
-        ..element2 = ast.element2;
+        ..element2 = ast.element;
     });
 
     return MetadataImpl(annotations);
diff --git a/pkg/analyzer/lib/src/summary2/element_builder.dart b/pkg/analyzer/lib/src/summary2/element_builder.dart
index 6d954c5..d844f06 100644
--- a/pkg/analyzer/lib/src/summary2/element_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/element_builder.dart
@@ -799,7 +799,7 @@
     var libraryDirective =
         unit.directives.whereType<LibraryDirectiveImpl>().firstOrNull;
     if (libraryDirective != null) {
-      libraryDirective.element2 = libraryElement;
+      libraryDirective.element = libraryElement;
       libraryElement.documentationComment = getCommentNodeRawText(
         libraryDirective.documentationComment,
       );
diff --git a/pkg/analyzer/lib/src/summary2/informative_data.dart b/pkg/analyzer/lib/src/summary2/informative_data.dart
index 647580a..7581474 100644
--- a/pkg/analyzer/lib/src/summary2/informative_data.dart
+++ b/pkg/analyzer/lib/src/summary2/informative_data.dart
@@ -1617,7 +1617,7 @@
     for (var directive in unit.directives) {
       firstDirective ??= directive;
       if (directive is LibraryDirective) {
-        var libraryName = directive.name2;
+        var libraryName = directive.name;
         if (libraryName != null) {
           nameOffset = libraryName.offset;
           nameLength = libraryName.length;
diff --git a/pkg/analyzer/lib/src/summary2/library_builder.dart b/pkg/analyzer/lib/src/summary2/library_builder.dart
index 046494f..4744dfd 100644
--- a/pkg/analyzer/lib/src/summary2/library_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/library_builder.dart
@@ -759,7 +759,7 @@
     var nameLength = 0;
     for (var directive in libraryUnitNode.directives) {
       if (directive is ast.LibraryDirectiveImpl) {
-        var nameIdentifier = directive.name2;
+        var nameIdentifier = directive.name;
         if (nameIdentifier != null) {
           name = nameIdentifier.components.map((e) => e.name).join('.');
           nameOffset = nameIdentifier.offset;
diff --git a/pkg/analyzer/lib/src/summary2/metadata_resolver.dart b/pkg/analyzer/lib/src/summary2/metadata_resolver.dart
index 4341d08..9a46176 100644
--- a/pkg/analyzer/lib/src/summary2/metadata_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/metadata_resolver.dart
@@ -35,7 +35,7 @@
         analysisOptions,
       );
       astResolver.resolveAnnotation(node);
-      annotationElement.element2 = node.element2;
+      annotationElement.element2 = node.element;
     }
   }
 
diff --git a/pkg/analyzer/lib/src/summary2/reference_resolver.dart b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
index 26dad72..f527442 100644
--- a/pkg/analyzer/lib/src/summary2/reference_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
@@ -441,7 +441,7 @@
       var prefixToken = importPrefix.name;
       var prefixName = prefixToken.lexeme;
       var prefixElement = scope.lookup(prefixName).getter2;
-      importPrefix.element2 = prefixElement;
+      importPrefix.element = prefixElement;
 
       if (prefixElement is PrefixElement) {
         var name = node.name.lexeme;
@@ -457,7 +457,7 @@
 
       element = scope.lookup(name).getter2;
     }
-    node.element2 = element;
+    node.element = element;
 
     node.typeArguments?.accept(this);
 
diff --git a/pkg/analyzer/lib/src/summary2/simply_bounded.dart b/pkg/analyzer/lib/src/summary2/simply_bounded.dart
index cec6b2c..dc0e201 100644
--- a/pkg/analyzer/lib/src/summary2/simply_bounded.dart
+++ b/pkg/analyzer/lib/src/summary2/simply_bounded.dart
@@ -287,7 +287,7 @@
     bool allowTypeParameters,
   ) {
     if (type is NamedType) {
-      var element = type.element2;
+      var element = type.element;
 
       if (element is TypeParameterElement) {
         return allowTypeParameters;
diff --git a/pkg/analyzer/lib/src/summary2/type_alias.dart b/pkg/analyzer/lib/src/summary2/type_alias.dart
index ad33362..83bb8ac 100644
--- a/pkg/analyzer/lib/src/summary2/type_alias.dart
+++ b/pkg/analyzer/lib/src/summary2/type_alias.dart
@@ -87,7 +87,7 @@
     if (node == null) return;
 
     if (node is NamedType) {
-      var element = node.element2;
+      var element = node.element;
       if (element is! ElementImpl) {
         return;
       }
diff --git a/pkg/analyzer/lib/src/summary2/types_builder.dart b/pkg/analyzer/lib/src/summary2/types_builder.dart
index 3b2d5c1..94a10a8 100644
--- a/pkg/analyzer/lib/src/summary2/types_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/types_builder.dart
@@ -536,7 +536,7 @@
     List<TypeParameterElementImpl>? typeParameters;
     List<InterfaceTypeImpl>? supertypeConstraints;
     InterfaceTypeImpl Function(List<TypeImpl> typeArguments)? instantiate;
-    var mixinElement = mixinNode.element2;
+    var mixinElement = mixinNode.element;
     if (mixinElement is InterfaceElementImpl) {
       typeParameters = mixinElement.typeParameters2;
       if (typeParameters.isNotEmpty) {
diff --git a/pkg/analyzer/lib/src/test_utilities/find_element2.dart b/pkg/analyzer/lib/src/test_utilities/find_element2.dart
index 4b784a6..bf0fa17 100644
--- a/pkg/analyzer/lib/src/test_utilities/find_element2.dart
+++ b/pkg/analyzer/lib/src/test_utilities/find_element2.dart
@@ -141,13 +141,13 @@
     unit.accept(
       FunctionAstVisitor(
         catchClauseParameter: (node) {
-          updateResult(node.declaredElement2!);
+          updateResult(node.declaredElement!);
         },
         declaredIdentifier: (node) {
-          updateResult(node.declaredElement2!);
+          updateResult(node.declaredElement!);
         },
         declaredVariablePattern: (node) {
-          updateResult(node.declaredElement2!);
+          updateResult(node.declaredElement!);
         },
         variableDeclaration: (node) {
           updateResult(node.declaredFragment!.element);
diff --git a/pkg/analyzer/lib/src/test_utilities/find_node.dart b/pkg/analyzer/lib/src/test_utilities/find_node.dart
index b76d722..196f712 100644
--- a/pkg/analyzer/lib/src/test_utilities/find_node.dart
+++ b/pkg/analyzer/lib/src/test_utilities/find_node.dart
@@ -250,7 +250,7 @@
 
   BindPatternVariableElement bindPatternVariableElement(String search) {
     var node = declaredVariablePattern(search);
-    return node.declaredElement2!;
+    return node.declaredElement!;
   }
 
   Block block(String search) {
diff --git a/pkg/analyzer/lib/src/wolf/ir/ast_to_ir.dart b/pkg/analyzer/lib/src/wolf/ir/ast_to_ir.dart
index 0892cb0..7e54b3b 100644
--- a/pkg/analyzer/lib/src/wolf/ir/ast_to_ir.dart
+++ b/pkg/analyzer/lib/src/wolf/ir/ast_to_ir.dart
@@ -932,7 +932,7 @@
     var staticElement = node.element;
     if (staticElement == null) {
       if (assignmentTargeting(node) case var assignment?) {
-        staticElement = assignment.readElement2 ?? assignment.writeElement2;
+        staticElement = assignment.readElement ?? assignment.writeElement;
       }
     }
     switch (staticElement) {
@@ -1165,7 +1165,7 @@
   void read(_AstToIRVisitor visitor) {
     // Stack: target
     visitor.instanceGet(
-      (property.element ?? visitor.assignmentTargeting(property)?.readElement2)
+      (property.element ?? visitor.assignmentTargeting(property)?.readElement)
           as PropertyAccessorElement?,
       property.name,
     );
@@ -1205,7 +1205,7 @@
     visitor.ir.shuffle(2, visitor.stackIndices101);
     // Stack: value target value
     visitor.instanceSet(
-      visitor.assignmentTargeting(property)!.writeElement2
+      visitor.assignmentTargeting(property)!.writeElement
           as PropertyAccessorElement?,
       property.name,
     );
diff --git a/pkg/analyzer/test/dart/element/fragment_offset_test.dart b/pkg/analyzer/test/dart/element/fragment_offset_test.dart
index e70da88..2577f1b 100644
--- a/pkg/analyzer/test/dart/element/fragment_offset_test.dart
+++ b/pkg/analyzer/test/dart/element/fragment_offset_test.dart
@@ -182,9 +182,9 @@
     var namedType =
         findNode.topLevelVariableDeclaration('dynamic d').variables.type
             as NamedType;
-    expect(namedType.element2!.kind, ElementKind.DYNAMIC);
+    expect(namedType.element!.kind, ElementKind.DYNAMIC);
     // `dynamic` isn't defined in the source code anywhere, so its offset is 0.
-    expect(namedType.element2!.firstFragment.offset, 0);
+    expect(namedType.element!.firstFragment.offset, 0);
   }
 
   test_enumFragment() async {
@@ -611,7 +611,7 @@
     checkOffset<LibraryFragment>(
       unit,
       unit.declaredFragment!,
-      findNode.library('L').name2!.offset,
+      findNode.library('L').name!.offset,
     );
   }
 
@@ -780,9 +780,9 @@
     var namedType =
         findNode.topLevelVariableDeclaration('Never n').variables.type
             as NamedType;
-    expect(namedType.element2!.kind, ElementKind.NEVER);
+    expect(namedType.element!.kind, ElementKind.NEVER);
     // `Never` isn't defined in the source code anywhere, so its offset is 0.
-    expect(namedType.element2!.firstFragment.offset, 0);
+    expect(namedType.element!.firstFragment.offset, 0);
   }
 
   test_prefixFragment() async {
diff --git a/pkg/analyzer/test/generated/simple_parser_test.dart b/pkg/analyzer/test/generated/simple_parser_test.dart
index 94e707d..0e43c90 100644
--- a/pkg/analyzer/test/generated/simple_parser_test.dart
+++ b/pkg/analyzer/test/generated/simple_parser_test.dart
@@ -71,7 +71,7 @@
     expect(unit, isNotNull);
     expect(unit.directives, hasLength(1));
     var directive = unit.directives[0] as LibraryDirective;
-    return directive.name2;
+    return directive.name;
   }
 
   /// Parses the given [content] as a sequence of statements by enclosing it in
diff --git a/pkg/analyzer/test/generated/top_level_parser_test.dart b/pkg/analyzer/test/generated/top_level_parser_test.dart
index 5622146..d6c427e 100644
--- a/pkg/analyzer/test/generated/top_level_parser_test.dart
+++ b/pkg/analyzer/test/generated/top_level_parser_test.dart
@@ -1127,32 +1127,32 @@
     expect(directive, TypeMatcher<LibraryDirective>());
     var libraryDirective = directive as LibraryDirective;
     expect(libraryDirective.libraryKeyword, isNotNull);
-    expect(libraryDirective.name2, isNotNull);
+    expect(libraryDirective.name, isNotNull);
     expect(libraryDirective.semicolon, isNotNull);
   }
 
   void test_parseDirective_library_1_component() {
     createParser("library a;");
     var lib = parseFullDirective() as LibraryDirective;
-    expect(lib.name2!.components, hasLength(1));
-    expect(lib.name2!.components[0].name, 'a');
+    expect(lib.name!.components, hasLength(1));
+    expect(lib.name!.components[0].name, 'a');
   }
 
   void test_parseDirective_library_2_components() {
     createParser("library a.b;");
     var lib = parseFullDirective() as LibraryDirective;
-    expect(lib.name2!.components, hasLength(2));
-    expect(lib.name2!.components[0].name, 'a');
-    expect(lib.name2!.components[1].name, 'b');
+    expect(lib.name!.components, hasLength(2));
+    expect(lib.name!.components[0].name, 'a');
+    expect(lib.name!.components[1].name, 'b');
   }
 
   void test_parseDirective_library_3_components() {
     createParser("library a.b.c;");
     var lib = parseFullDirective() as LibraryDirective;
-    expect(lib.name2!.components, hasLength(3));
-    expect(lib.name2!.components[0].name, 'a');
-    expect(lib.name2!.components[1].name, 'b');
-    expect(lib.name2!.components[2].name, 'c');
+    expect(lib.name!.components, hasLength(3));
+    expect(lib.name!.components[0].name, 'a');
+    expect(lib.name!.components[1].name, 'b');
+    expect(lib.name!.components[2].name, 'c');
   }
 
   void test_parseDirective_library_annotation() {
@@ -1163,7 +1163,7 @@
     expect(directive, TypeMatcher<LibraryDirective>());
     var libraryDirective = directive as LibraryDirective;
     expect(libraryDirective.libraryKeyword, isNotNull);
-    expect(libraryDirective.name2, isNotNull);
+    expect(libraryDirective.name, isNotNull);
     expect(libraryDirective.semicolon, isNotNull);
     expect(libraryDirective.metadata, hasLength(1));
     expect(libraryDirective.metadata[0].name.name, 'A');
@@ -1178,7 +1178,7 @@
     expect(directive, TypeMatcher<LibraryDirective>());
     var libraryDirective = directive as LibraryDirective;
     expect(libraryDirective.libraryKeyword, isNotNull);
-    expect(libraryDirective.name2, isNotNull);
+    expect(libraryDirective.name, isNotNull);
     expect(libraryDirective.semicolon, isNotNull);
     expect(libraryDirective.metadata, hasLength(1));
     expect(libraryDirective.metadata[0].name.name, 'A');
@@ -1187,7 +1187,7 @@
   void test_parseDirective_library_unnamed() {
     createParser("library;");
     var lib = parseFullDirective() as LibraryDirective;
-    expect(lib.name2, isNull);
+    expect(lib.name, isNull);
   }
 
   void test_parseDirective_library_withDocumentationComment() {
@@ -1921,7 +1921,7 @@
     expect(directive, isNotNull);
     assertNoErrors();
     expect(directive.libraryKeyword, isNotNull);
-    expect(directive.name2, isNotNull);
+    expect(directive.name, isNotNull);
     expect(directive.semicolon, isNotNull);
   }
 
diff --git a/pkg/analyzer/test/generated/utilities_test.dart b/pkg/analyzer/test/generated/utilities_test.dart
index 01cebf0..7bb5041 100644
--- a/pkg/analyzer/test/generated/utilities_test.dart
+++ b/pkg/analyzer/test/generated/utilities_test.dart
@@ -1106,7 +1106,7 @@
     _assertReplacementForChildren<LibraryDirective>(
       destination: node,
       source: node,
-      childAccessors: [(node) => node.name2!],
+      childAccessors: [(node) => node.name!],
     );
   }
 
diff --git a/pkg/analyzer/test/id_tests/type_promotion_test.dart b/pkg/analyzer/test/id_tests/type_promotion_test.dart
index 683a871..70e61aa 100644
--- a/pkg/analyzer/test/id_tests/type_promotion_test.dart
+++ b/pkg/analyzer/test/id_tests/type_promotion_test.dart
@@ -73,11 +73,11 @@
   static Element? _readElement(SimpleIdentifier node) {
     var parent = node.parent;
     if (parent is AssignmentExpression && parent.leftHandSide == node) {
-      return parent.readElement2;
+      return parent.readElement;
     } else if (parent is PostfixExpression) {
-      return parent.readElement2;
+      return parent.readElement;
     } else if (parent is PrefixExpression) {
-      return parent.readElement2;
+      return parent.readElement;
     } else {
       return node.element;
     }
diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
index 39acff4..40d467d 100644
--- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
@@ -1032,7 +1032,7 @@
   A v;
 }
 ''');
-    var element = findNode.namedType('A p').element2!;
+    var element = findNode.namedType('A p').element!;
     await assertElementReferencesText(element, r'''
 <testLibraryFragment> p@26
   24 2:6 |A| REFERENCE
diff --git a/pkg/analyzer/test/src/dart/ast/element_locator_test.dart b/pkg/analyzer/test/src/dart/ast/element_locator_test.dart
index 7bb26d0..eeca029 100644
--- a/pkg/analyzer/test/src/dart/ast/element_locator_test.dart
+++ b/pkg/analyzer/test/src/dart/ast/element_locator_test.dart
@@ -29,7 +29,7 @@
 }
 ''');
     var node = findNode.assignedVariablePattern('foo,');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 foo@17
 ''');
@@ -43,7 +43,7 @@
 }
 ''');
     var node = findNode.assignment('+=');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core::@class::num::@method::+
 ''');
@@ -52,7 +52,7 @@
   test_locate_BinaryExpression() async {
     await resolveTestCode('var x = 3 + 4');
     var node = findNode.binary('+');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core::@class::num::@method::+
 ''');
@@ -65,12 +65,12 @@
 }
 ''');
     var node = findNode.catchClauseParameter('e');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 e@27
 ''');
     node = findNode.catchClauseParameter('s');
-    element = ElementLocator.locate2(node);
+    element = ElementLocator.locate(node);
     _assertElement(element, r'''
 s@30
 ''');
@@ -79,7 +79,7 @@
   test_locate_ClassDeclaration() async {
     await resolveTestCode('class A {}');
     var node = findNode.classDeclaration('class');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A
 ''');
@@ -92,7 +92,7 @@
 }
 ''');
     var node = findNode.constructor('A.foo()');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@constructor::foo
 ''');
@@ -105,7 +105,7 @@
 }
 ''');
     var node = findNode.constructor('A()');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@constructor::new
 ''');
@@ -119,7 +119,7 @@
 }
 ''');
     var node = findNode.constructorSelector('named(); // 0');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@enum::E::@constructor::named
 ''');
@@ -132,7 +132,7 @@
 }
 ''');
     var node = findNode.declaredVariablePattern('foo');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 foo@37
 ''');
@@ -147,7 +147,7 @@
 }
 ''');
     var node = findNode.singleDotShorthandConstructorInvocation;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@constructor::new
 ''');
@@ -164,7 +164,7 @@
 }
 ''');
     var node = findNode.singleDotShorthandInvocation;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@method::foo
 ''');
@@ -181,7 +181,7 @@
 }
 ''');
     var node = findNode.singleDotShorthandPropertyAccess;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@getter::foo
 ''');
@@ -194,7 +194,7 @@
 }
 ''');
     var node = findNode.enumConstantDeclaration('one');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@enum::E::@field::one
 ''');
@@ -203,7 +203,7 @@
   test_locate_ExportDirective() async {
     await resolveTestCode("export 'dart:core';");
     var node = findNode.export('export');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core
 ''');
@@ -212,7 +212,7 @@
   test_locate_ExtensionDeclaration() async {
     await resolveTestCode('extension A on int {}');
     var node = findNode.singleExtensionDeclaration;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@extension::A
 ''');
@@ -221,7 +221,7 @@
   test_locate_ExtensionTypeDeclaration() async {
     await resolveTestCode('extension type A(int it) {}');
     var node = findNode.singleExtensionTypeDeclaration;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@extensionType::A
 ''');
@@ -234,7 +234,7 @@
 }
 ''');
     var node = findNode.functionDeclaration('g');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 g@17
 ''');
@@ -243,7 +243,7 @@
   test_locate_FunctionDeclaration_topLevel() async {
     await resolveTestCode('int f() => 3;');
     var node = findNode.functionDeclaration('f');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@function::f
 ''');
@@ -257,7 +257,7 @@
 void main(@Class.name() parameter) {}
 ''');
     var node = findNode.simple('Class.name() parameter');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::Class
 ''');
@@ -271,7 +271,7 @@
 void main(@Class() parameter) {}
 ''');
     var node = findNode.simple('Class() parameter');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::Class::@constructor::new
 ''');
@@ -280,7 +280,7 @@
   test_locate_Identifier_className() async {
     await resolveTestCode('class A {}');
     var node = findNode.classDeclaration('A');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A
 ''');
@@ -293,7 +293,7 @@
 }
 ''');
     var node = findNode.constructor('bar');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@constructor::bar
 ''');
@@ -306,7 +306,7 @@
 }
 ''');
     var node = findNode.simple('A()');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@constructor::new
 ''');
@@ -319,7 +319,7 @@
 }
 ''');
     var node = findNode.variableDeclaration('x;');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@field::x
 ''');
@@ -328,7 +328,7 @@
   test_locate_Identifier_libraryDirective() async {
     await resolveTestCode('library foo.bar;');
     var node = findNode.simple('foo');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>
 ''');
@@ -341,7 +341,7 @@
 }
 ''');
     var node = findNode.simple('length');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core::@class::String::@getter::length
 ''');
@@ -350,7 +350,7 @@
   test_locate_ImportDirective() async {
     await resolveTestCode("import 'dart:core';");
     var node = findNode.import('import');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core
 ''');
@@ -364,7 +364,7 @@
 }
 ''');
     var node = findNode.index('[0]');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 MethodMember
   baseElement: dart:core::@class::List::@method::[]
@@ -381,7 +381,7 @@
 }
 ''');
     var node = findNode.instanceCreation('new A()');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@constructor::new
 ''');
@@ -399,7 +399,7 @@
 }
 ''');
     var node = findNode.instanceCreation('A();');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 package:test/a.dart::@class::A::@constructor::new
 ''');
@@ -416,7 +416,7 @@
 }
 ''');
     var node = findNode.instanceCreation('A();');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@constructor::new
 ''');
@@ -425,7 +425,7 @@
   test_locate_LibraryDirective() async {
     await resolveTestCode('library foo;');
     var node = findNode.library('library');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>
 ''');
@@ -434,7 +434,7 @@
   test_locate_LibraryElement() async {
     await resolveTestCode('// only comment');
 
-    var element = ElementLocator.locate2(result.unit);
+    var element = ElementLocator.locate(result.unit);
     _assertElement(element, r'''
 <testLibrary>
 ''');
@@ -447,7 +447,7 @@
 }
 ''');
     var node = findNode.methodDeclaration('foo');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@method::foo
 ''');
@@ -464,7 +464,7 @@
 }
 ''');
     var node = findNode.methodInvocation('foo();');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@class::A::@method::foo
 ''');
@@ -479,7 +479,7 @@
 }
 ''');
     var node = findNode.methodInvocation('foo(0)');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@function::foo
 ''');
@@ -488,7 +488,7 @@
   test_locate_MixinDeclaration() async {
     await resolveTestCode('mixin A {}');
     var node = findNode.singleMixinDeclaration;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@mixin::A
 ''');
@@ -501,7 +501,7 @@
 }
 ''');
     var node = findNode.patternField('isEven:');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core::@class::int::@getter::isEven
 ''');
@@ -510,7 +510,7 @@
   test_locate_PostfixExpression() async {
     await resolveTestCode('int addOne(int x) => x++;');
     var node = findNode.postfix('x++');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core::@class::num::@method::+
 ''');
@@ -523,7 +523,7 @@
 math.Random? r;
 ''');
     var node = findNode.importPrefixReference('math.Random');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibraryFragment>::@prefix2::math
 ''');
@@ -536,7 +536,7 @@
 }
 ''');
     var node = findNode.prefixed('a.isEven');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core::@class::int::@getter::isEven
 ''');
@@ -545,7 +545,7 @@
   test_locate_PrefixExpression() async {
     await resolveTestCode('int addOne(int x) => ++x;');
     var node = findNode.prefix('++x');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 dart:core::@class::num::@method::+
 ''');
@@ -554,7 +554,7 @@
   test_locate_RepresentationDeclaration() async {
     await resolveTestCode('extension type A(int it) {}');
     var node = findNode.singleRepresentationDeclaration;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@extensionType::A::@field::it
 ''');
@@ -563,7 +563,7 @@
   test_locate_RepresentationDeclaration2() async {
     await resolveTestCode('extension type A.named(int it) {}');
     var node = findNode.singleRepresentationConstructorName;
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@extensionType::A::@constructor::named
 ''');
@@ -573,7 +573,7 @@
     newFile("$testPackageLibPath/foo.dart", '');
     await resolveTestCode("export 'foo.dart';");
     var node = findNode.stringLiteral('foo.dart');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 package:test/foo.dart
 ''');
@@ -582,7 +582,7 @@
   test_locate_StringLiteral_expression() async {
     await resolveTestCode("var x = 'abc';");
     var node = findNode.stringLiteral('abc');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <null>
 ''');
@@ -592,7 +592,7 @@
     newFile("$testPackageLibPath/foo.dart", '');
     await resolveTestCode("import 'foo.dart';");
     var node = findNode.stringLiteral('foo.dart');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 package:test/foo.dart
 ''');
@@ -605,7 +605,7 @@
 }
 ''');
     var node = findNode.variableDeclaration('x =');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 x@12
 ''');
@@ -614,7 +614,7 @@
   test_locate_VariableDeclaration_TopLevel() async {
     await resolveTestCode('var x = 42;');
     var node = findNode.variableDeclaration('x =');
-    var element = ElementLocator.locate2(node);
+    var element = ElementLocator.locate(node);
     _assertElement(element, r'''
 <testLibrary>::@topLevelVariable::x
 ''');
diff --git a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
index 563e26d..46083a5 100644
--- a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
+++ b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
@@ -951,7 +951,7 @@
 ''');
     assertType(findElement2.topVar('a').type, 'int');
     assertElement(
-      findNode.namedType('int a').element2,
+      findNode.namedType('int a').element,
       declaration: intElement,
     );
 
diff --git a/pkg/analyzer/test/src/dart/resolution/function_body_test.dart b/pkg/analyzer/test/src/dart/resolution/function_body_test.dart
index 249e25c..f5dfeb0 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_body_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_body_test.dart
@@ -126,7 +126,7 @@
 
     var body = findNode.singleFunctionBody;
     var element = findElement2.parameter('x');
-    expect(body.isPotentiallyMutatedInScope2(element), expected);
+    expect(body.isPotentiallyMutatedInScope(element), expected);
   }
 
   /// Assign that `v` in the only [FunctionBody] is not mutated.
@@ -135,6 +135,6 @@
 
     var body = findNode.singleFunctionBody;
     var element = findElement2.localVar('v');
-    expect(body.isPotentiallyMutatedInScope2(element), expected);
+    expect(body.isPotentiallyMutatedInScope(element), expected);
   }
 }
diff --git a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
index f49e0c4..48ded29 100644
--- a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
@@ -1476,7 +1476,7 @@
 void f(C c) {}
 ''');
 
-    var classC = findNode.namedType('C c').element2 as ClassElement;
+    var classC = findNode.namedType('C c').element as ClassElement;
     var annotation = classC.metadata.annotations.first;
     _assertElementAnnotationValueText(annotation, r'''
 B
@@ -1506,7 +1506,7 @@
 void f(B b) {}
 ''');
 
-    var classB = findNode.namedType('B b').element2! as ClassElement;
+    var classB = findNode.namedType('B b').element! as ClassElement;
     var annotation = classB.metadata.annotations.first;
     _assertElementAnnotationValueText(annotation, r'''
 A
@@ -1535,7 +1535,7 @@
 void f(B b) {}
 ''');
 
-    var classB = findNode.namedType('B b').element2 as ClassElement;
+    var classB = findNode.namedType('B b').element as ClassElement;
     var annotation = classB.metadata.annotations.first;
     _assertElementAnnotationValueText(annotation, r'''
 A
diff --git a/pkg/analyzer/test/src/dart/resolution/resolution.dart b/pkg/analyzer/test/src/dart/resolution/resolution.dart
index c0da2f7..69077bf 100644
--- a/pkg/analyzer/test/src/dart/resolution/resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/resolution.dart
@@ -381,7 +381,7 @@
 
   Element? getNodeElement2(AstNode node) {
     if (node is Annotation) {
-      return node.element2;
+      return node.element;
     } else if (node is AssignmentExpression) {
       return node.element;
     } else if (node is BinaryExpression) {
@@ -391,7 +391,7 @@
     } else if (node is Declaration) {
       return node.declaredFragment?.element;
     } else if (node is ExtensionOverride) {
-      return node.element2;
+      return node.element;
     } else if (node is FormalParameter) {
       return node.declaredFragment?.element;
     } else if (node is FunctionExpressionInvocation) {
@@ -424,7 +424,7 @@
     } else if (node is PropertyAccess) {
       return node.propertyName.element;
     } else if (node is NamedType) {
-      return node.element2;
+      return node.element;
     } else {
       fail('Unsupported node: (${node.runtimeType}) $node');
     }
diff --git a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
index fb61eff..1619c41 100644
--- a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
+++ b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
@@ -58,7 +58,7 @@
     _sink.writeln('Annotation');
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
-      _writeElement2('element2', node.element2);
+      _writeElement2('element2', node.element);
     });
   }
 
@@ -104,7 +104,7 @@
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
       if (_withResolution) {
-        _writeElement2('element2', node.element2);
+        _writeElement2('element2', node.element);
         _writePatternMatchedValueType(node);
       }
     });
@@ -116,9 +116,9 @@
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
       _writeParameterElement(node);
-      _writeElement2('readElement2', node.readElement2);
+      _writeElement2('readElement2', node.readElement);
       _writeType('readType', node.readType);
-      _writeElement2('writeElement2', node.writeElement2);
+      _writeElement2('writeElement2', node.writeElement);
       _writeType('writeType', node.writeType);
       _writeElement2('element', node.element);
       _writeType('staticType', node.staticType);
@@ -541,7 +541,7 @@
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
       if (_withResolution) {
-        _writeElement2('constructorElement2', node.constructorElement2);
+        _writeElement2('constructorElement2', node.constructorElement);
         _writeDeclaredFragment(node.declaredFragment);
       }
     });
@@ -613,7 +613,7 @@
     _sink.writeln('ExtensionOverride');
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
-      _writeElement2('element2', node.element2);
+      _writeElement2('element2', node.element);
       _writeType('extendedType', node.extendedType);
       _writeType('staticType', node.staticType);
       _writeTypeList('typeArgumentTypes', node.typeArgumentTypes);
@@ -882,7 +882,7 @@
     _sink.writeln('ImportPrefixReference');
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
-      _writeElement2('element2', node.element2);
+      _writeElement2('element2', node.element);
     });
   }
 
@@ -964,7 +964,7 @@
     _sink.writeln('LibraryDirective');
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
-      _writeElement2('element2', node.element2);
+      _writeElement2('element2', node.element);
     });
   }
 
@@ -1104,7 +1104,7 @@
     _sink.writeln('NamedType');
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
-      _writeElement2('element2', node.element2);
+      _writeElement2('element2', node.element);
       _writeType('type', node.type);
     });
   }
@@ -1207,7 +1207,7 @@
     _sink.writeln('PatternField');
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
-      _writeElement2('element2', node.element2);
+      _writeElement2('element2', node.element);
     });
   }
 
@@ -1247,9 +1247,9 @@
       _writeNamedChildEntities(node);
       _writeParameterElement(node);
       if (node.operator.type.isIncrementOperator) {
-        _writeElement2('readElement2', node.readElement2);
+        _writeElement2('readElement2', node.readElement);
         _writeType('readType', node.readType);
-        _writeElement2('writeElement2', node.writeElement2);
+        _writeElement2('writeElement2', node.writeElement);
         _writeType('writeType', node.writeType);
       }
       _writeElement2('element', node.element);
@@ -1275,9 +1275,9 @@
       _writeNamedChildEntities(node);
       _writeParameterElement(node);
       if (node.operator.type.isIncrementOperator) {
-        _writeElement2('readElement2', node.readElement2);
+        _writeElement2('readElement2', node.readElement);
         _writeType('readType', node.readType);
-        _writeElement2('writeElement2', node.writeElement2);
+        _writeElement2('writeElement2', node.writeElement);
         _writeType('writeType', node.writeType);
       }
       _writeElement2('element', node.element);
@@ -1368,7 +1368,7 @@
     _sink.writeln('RelationalPattern');
     _sink.withIndent(() {
       _writeNamedChildEntities(node);
-      _writeElement2('element2', node.element2);
+      _writeElement2('element2', node.element);
       _writePatternMatchedValueType(node);
     });
   }
diff --git a/pkg/analyzer/test/src/task/strong/dart2_inference_test.dart b/pkg/analyzer/test/src/task/strong/dart2_inference_test.dart
index c9b13d7..52a9d70 100644
--- a/pkg/analyzer/test/src/task/strong/dart2_inference_test.dart
+++ b/pkg/analyzer/test/src/task/strong/dart2_inference_test.dart
@@ -246,7 +246,7 @@
     ) {
       var node = findNode.declaredIdentifier(vSearch);
 
-      var element = node.declaredElement2 as LocalVariableElement;
+      var element = node.declaredElement as LocalVariableElement;
       assertType(element.type, vType);
 
       var invocation = findNode.methodInvocation(fSearch);
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 060b5b3..c40d25f 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
@@ -1024,7 +1024,7 @@
         return namedType.name.lexeme;
       }
       // `new prefix.ClassName()`.
-      if (importPrefix.element2 is PrefixElement) {
+      if (importPrefix.element is PrefixElement) {
         return namedType.name.lexeme;
       }
       // `new ClassName.constructorName()`.
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 183067c..d365041 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/completion/completion_target.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/completion/completion_target.dart
@@ -282,7 +282,7 @@
       var importPrefix = node.importPrefix;
       if (importPrefix != null && identical(node.name, entity)) {
         return SimpleIdentifierImpl(token: importPrefix.name)
-          ..element = importPrefix.element2;
+          ..element = importPrefix.element;
       }
     }
     if (node is PropertyAccess) {
@@ -316,13 +316,13 @@
 
       Element? executable;
       if (invocation is Annotation) {
-        executable = invocation.element2;
+        executable = invocation.element;
       } else if (invocation is EnumConstantArguments) {
         var enumConstant = invocation.parent;
         if (enumConstant is! EnumConstantDeclaration) {
           return null;
         }
-        executable = enumConstant.constructorElement2;
+        executable = enumConstant.constructorElement;
       } else if (invocation is InstanceCreationExpression) {
         executable = invocation.constructorName.element;
       } else if (invocation is MethodInvocation) {
diff --git a/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart b/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart
index 76b7aad..236e154 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/completion/optype.dart
@@ -222,7 +222,7 @@
       if (name != null) {
         constructor = name.element;
       } else {
-        var classElem = parent.constructorName.type.element2;
+        var classElem = parent.constructorName.type.element;
         if (classElem is ClassElement) {
           constructor = classElem.unnamedConstructor2;
         }
@@ -249,7 +249,7 @@
     } else if (parent is RedirectingConstructorInvocation) {
       parameters = parent.element?.formalParameters;
     } else if (parent is Annotation) {
-      var constructor = parent.element2;
+      var constructor = parent.element;
       if (constructor is ConstructorElement) {
         parameters = constructor.formalParameters;
       } else if (constructor == null) {
diff --git a/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart b/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart
index 4bb438a..da20da0 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation_dart.dart
@@ -229,7 +229,7 @@
 
   @override
   void visitAnnotation(Annotation node) {
-    var element = node.element2;
+    var element = node.element;
     if (element is ConstructorElement && element.isSynthetic) {
       element = element.enclosingElement;
     }
@@ -344,11 +344,11 @@
     {
       var importPrefix = namedType.importPrefix;
       if (importPrefix != null) {
-        computer._addRegionForElement(importPrefix.name, importPrefix.element2);
+        computer._addRegionForElement(importPrefix.name, importPrefix.element);
       }
       // For a named constructor, the class name points at the class.
       var classNameTargetElement =
-          node.name != null ? namedType.element2 : element;
+          node.name != null ? namedType.element : element;
       computer._addRegionForElement(namedType.name, classNameTargetElement);
     }
     // <TypeA, TypeB>
@@ -375,25 +375,25 @@
 
   @override
   void visitDeclaredVariablePattern(DeclaredVariablePattern node) {
-    if (node.declaredElement2 case BindPatternVariableElement(:var join2?)) {
+    if (node.declaredElement case BindPatternVariableElement(:var join2?)) {
       for (var variable in join2.variables) {
         computer._addRegionForElement(node.name, variable);
       }
     } else {
-      computer._addRegionForElement(node.name, node.declaredElement2);
+      computer._addRegionForElement(node.name, node.declaredElement);
     }
     super.visitDeclaredVariablePattern(node);
   }
 
   @override
   void visitEnumConstantDeclaration(EnumConstantDeclaration node) {
-    computer._addRegionForElement(node.name, node.constructorElement2);
+    computer._addRegionForElement(node.name, node.constructorElement);
 
     var arguments = node.arguments;
     if (arguments != null) {
       computer._addRegionForElement(
         arguments.constructorSelector?.name,
-        node.constructorElement2,
+        node.constructorElement,
       );
       arguments.typeArguments?.accept(this);
       arguments.argumentList.accept(this);
@@ -439,7 +439,7 @@
 
   @override
   void visitImportPrefixReference(ImportPrefixReference node) {
-    var element = node.element2;
+    var element = node.element;
     if (element == null) return;
     for (var fragment in element.fragments) {
       computer._addRegionForFragment(node.name, fragment);
@@ -449,7 +449,7 @@
   @override
   void visitIndexExpression(IndexExpression node) {
     super.visitIndexExpression(node);
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     computer._addRegionForElement(node.leftBracket, element);
     computer._addRegionForElement(node.rightBracket, element);
   }
@@ -459,7 +459,7 @@
     if (node.constructorName.element == null) {
       computer._addRegionForElement(
         node.constructorName,
-        node.constructorName.type.element2,
+        node.constructorName.type.element,
       );
     }
     super.visitInstanceCreationExpression(node);
@@ -467,7 +467,7 @@
 
   @override
   void visitLibraryDirective(LibraryDirective node) {
-    computer._addRegionForElement(node.name2, node.element2);
+    computer._addRegionForElement(node.name, node.element);
     super.visitLibraryDirective(node);
   }
 
@@ -480,7 +480,7 @@
   @override
   void visitNamedType(NamedType node) {
     node.importPrefix?.accept(this);
-    computer._addRegionForElement(node.name, node.element2);
+    computer._addRegionForElement(node.name, node.element);
     node.typeArguments?.accept(this);
   }
 
@@ -532,7 +532,7 @@
     if (nameNode != null) {
       var nameToken = nameNode.name ?? node.pattern.variablePattern?.name;
       if (nameToken != null) {
-        computer._addRegionForElement(nameToken, node.element2);
+        computer._addRegionForElement(nameToken, node.element);
       }
     }
 
@@ -588,7 +588,7 @@
 
   @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
-    var element = node.writeOrReadElement2;
+    var element = node.writeOrReadElement;
     if (element case PrefixElement(:var fragments, :var name3)) {
       for (var fragment in fragments) {
         computer._addRegionForFragmentRange(
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 9fb34b7..6884286 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
@@ -82,7 +82,7 @@
     if (exceptionParameter != null) {
       declaredParam(
         exceptionParameter.name,
-        exceptionParameter.declaredElement2,
+        exceptionParameter.declaredElement,
         node.exceptionType,
       );
     }
@@ -91,7 +91,7 @@
     if (stackTraceParameter != null) {
       declaredParam(
         stackTraceParameter.name,
-        stackTraceParameter.declaredElement2,
+        stackTraceParameter.declaredElement,
         null,
       );
     }
@@ -134,12 +134,12 @@
     if (forLoopParts is ForEachPartsWithDeclaration) {
       var loopVariable = forLoopParts.loopVariable;
       declaredLocalVar(
-          loopVariable.name, loopVariable.type, loopVariable.declaredElement2!);
+          loopVariable.name, loopVariable.type, loopVariable.declaredElement!);
     } else if (forLoopParts is ForPartsWithDeclarations) {
       var varList = forLoopParts.variables;
       for (var varDecl in varList.variables) {
         declaredLocalVar(varDecl.name, varList.type,
-            varDecl.declaredElement2 as LocalVariableElement);
+            varDecl.declaredElement as LocalVariableElement);
       }
     }
     visitNode(node);
@@ -151,12 +151,12 @@
     if (forLoopParts is ForEachPartsWithDeclaration) {
       var loopVariable = forLoopParts.loopVariable;
       declaredLocalVar(
-          loopVariable.name, loopVariable.type, loopVariable.declaredElement2!);
+          loopVariable.name, loopVariable.type, loopVariable.declaredElement!);
     } else if (forLoopParts is ForPartsWithDeclarations) {
       var varList = forLoopParts.variables;
       for (var varDecl in varList.variables) {
         declaredLocalVar(varDecl.name, varList.type,
-            varDecl.declaredElement2 as LocalVariableElement);
+            varDecl.declaredElement as LocalVariableElement);
       }
     }
     visitNode(node);
@@ -412,7 +412,7 @@
 
   /// Visit the given [pattern] without visiting any of its parents.
   void _visitDeclaredVariablePattern(DeclaredVariablePattern pattern) {
-    var declaredElement = pattern.declaredElement2;
+    var declaredElement = pattern.declaredElement;
     if (declaredElement != null) {
       declaredLocalVar(pattern.name, pattern.type, declaredElement);
     }
@@ -448,7 +448,7 @@
           for (var varDecl in varList.variables) {
             if (varDecl.end < offset) {
               declaredLocalVar(varDecl.name, varList.type,
-                  varDecl.declaredElement2 as LocalVariableElement);
+                  varDecl.declaredElement as LocalVariableElement);
             }
           }
         } else if (stmt is FunctionDeclarationStatement) {
diff --git a/pkg/analyzer_plugin/test/support/abstract_single_unit.dart b/pkg/analyzer_plugin/test/support/abstract_single_unit.dart
index 9815d67..825e2a0 100644
--- a/pkg/analyzer_plugin/test/support/abstract_single_unit.dart
+++ b/pkg/analyzer_plugin/test/support/abstract_single_unit.dart
@@ -65,7 +65,7 @@
     if (node == null) {
       return null;
     }
-    return ElementLocator.locate2(node);
+    return ElementLocator.locate(node);
   }
 
   int findOffset(String search) {
diff --git a/pkg/linter/lib/src/ast.dart b/pkg/linter/lib/src/ast.dart
index 5063ecd..792f70e 100644
--- a/pkg/linter/lib/src/ast.dart
+++ b/pkg/linter/lib/src/ast.dart
@@ -282,7 +282,7 @@
   var leftHandSide = expression.leftHandSide;
   var rightHandSide = expression.rightHandSide;
   if (leftHandSide is SimpleIdentifier && rightHandSide is SimpleIdentifier) {
-    var leftElement = expression.writeElement2;
+    var leftElement = expression.writeElement;
     if (leftElement is! SetterElement || !leftElement.isSynthetic) {
       return false;
     }
@@ -329,13 +329,13 @@
 Element? _getWriteElement(AstNode node) {
   var parent = node.parent;
   if (parent is AssignmentExpression && parent.leftHandSide == node) {
-    return parent.writeElement2;
+    return parent.writeElement;
   }
   if (parent is PostfixExpression) {
-    return parent.writeElement2;
+    return parent.writeElement;
   }
   if (parent is PrefixExpression) {
-    return parent.writeElement2;
+    return parent.writeElement;
   }
 
   if (parent is PrefixedIdentifier && parent.identifier == node) {
diff --git a/pkg/linter/lib/src/rules/always_specify_types.dart b/pkg/linter/lib/src/rules/always_specify_types.dart
index aca65c4..2cea96d 100644
--- a/pkg/linter/lib/src/rules/always_specify_types.dart
+++ b/pkg/linter/lib/src/rules/always_specify_types.dart
@@ -66,7 +66,7 @@
   void visitDeclaredIdentifier(DeclaredIdentifier node) {
     var keyword = node.keyword;
     if (node.type == null && keyword != null) {
-      var element = node.declaredElement2;
+      var element = node.declaredElement;
       if (element is VariableElement) {
         if (keyword.keyword == Keyword.VAR) {
           rule.reportAtToken(
@@ -116,7 +116,7 @@
   void visitNamedType(NamedType namedType) {
     var type = namedType.type;
     if (type is InterfaceType) {
-      var element = namedType.element2;
+      var element = namedType.element;
       if (element is TypeParameterizedElement &&
           element.typeParameters2.isNotEmpty &&
           namedType.typeArguments == null &&
diff --git a/pkg/linter/lib/src/rules/avoid_catches_without_on_clauses.dart b/pkg/linter/lib/src/rules/avoid_catches_without_on_clauses.dart
index 9cec982..3252605 100644
--- a/pkg/linter/lib/src/rules/avoid_catches_without_on_clauses.dart
+++ b/pkg/linter/lib/src/rules/avoid_catches_without_on_clauses.dart
@@ -137,7 +137,7 @@
   @override
   void visitCatchClause(CatchClause node) {
     if (node.onKeyword != null) return;
-    var caughtException = node.exceptionParameter?.declaredElement2;
+    var caughtException = node.exceptionParameter?.declaredElement;
     if (caughtException == null) return;
 
     var validUseVisitor = _ValidUseVisitor(caughtException);
diff --git a/pkg/linter/lib/src/rules/avoid_init_to_null.dart b/pkg/linter/lib/src/rules/avoid_init_to_null.dart
index 8310943..41c7f5f 100644
--- a/pkg/linter/lib/src/rules/avoid_init_to_null.dart
+++ b/pkg/linter/lib/src/rules/avoid_init_to_null.dart
@@ -58,7 +58,7 @@
   @override
   void visitVariableDeclaration(VariableDeclaration node) {
     var declaredElement =
-        node.declaredElement2 ?? node.declaredFragment?.element;
+        node.declaredElement ?? node.declaredFragment?.element;
     if (declaredElement != null &&
         !node.isConst &&
         !node.isFinal &&
diff --git a/pkg/linter/lib/src/rules/cascade_invocations.dart b/pkg/linter/lib/src/rules/cascade_invocations.dart
index 52da87e..a972055 100644
--- a/pkg/linter/lib/src/rules/cascade_invocations.dart
+++ b/pkg/linter/lib/src/rules/cascade_invocations.dart
@@ -28,7 +28,7 @@
       // In such a case, we should not return any cascadable element here.
       return null;
     }
-    return variable.declaredElement2 ?? variable.declaredFragment?.element;
+    return variable.declaredElement ?? variable.declaredFragment?.element;
   }
   return null;
 }
diff --git a/pkg/linter/lib/src/rules/library_names.dart b/pkg/linter/lib/src/rules/library_names.dart
index 735dac8..c549113 100644
--- a/pkg/linter/lib/src/rules/library_names.dart
+++ b/pkg/linter/lib/src/rules/library_names.dart
@@ -32,7 +32,7 @@
 
   @override
   void visitLibraryDirective(LibraryDirective node) {
-    var name = node.name2;
+    var name = node.name;
     if (name != null && !isLowerCaseUnderScoreWithDots(name.toString())) {
       rule.reportAtNode(name, arguments: [name.toString()]);
     }
diff --git a/pkg/linter/lib/src/rules/library_private_types_in_public_api.dart b/pkg/linter/lib/src/rules/library_private_types_in_public_api.dart
index 7f1c2c9..2e552bf 100644
--- a/pkg/linter/lib/src/rules/library_private_types_in_public_api.dart
+++ b/pkg/linter/lib/src/rules/library_private_types_in_public_api.dart
@@ -214,7 +214,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    var element = node.element2;
+    var element = node.element;
     if (element != null && isPrivate(element)) {
       rule.reportAtToken(node.name);
     }
diff --git a/pkg/linter/lib/src/rules/parameter_assignments.dart b/pkg/linter/lib/src/rules/parameter_assignments.dart
index 42507c4..16f6a42 100644
--- a/pkg/linter/lib/src/rules/parameter_assignments.dart
+++ b/pkg/linter/lib/src/rules/parameter_assignments.dart
@@ -160,7 +160,7 @@
     for (var parameter in parameterList.parameters) {
       var declaredElement = parameter.declaredFragment?.element;
       if (declaredElement != null &&
-          body.isPotentiallyMutatedInScope2(declaredElement)) {
+          body.isPotentiallyMutatedInScope(declaredElement)) {
         var paramIsNotNullByDefault =
             parameter is SimpleFormalParameter ||
             _isDefaultFormalParameterWithDefaultValue(parameter);
@@ -184,7 +184,7 @@
 
 extension on AstNode {
   Element? get element => switch (this) {
-    AssignedVariablePattern(:var element2) => element2,
+    AssignedVariablePattern(:var element) => element,
     _ => null,
   };
 }
diff --git a/pkg/linter/lib/src/rules/prefer_collection_literals.dart b/pkg/linter/lib/src/rules/prefer_collection_literals.dart
index 21db4b0..f07eb0a 100644
--- a/pkg/linter/lib/src/rules/prefer_collection_literals.dart
+++ b/pkg/linter/lib/src/rules/prefer_collection_literals.dart
@@ -40,7 +40,7 @@
   void visitInstanceCreationExpression(InstanceCreationExpression node) {
     var constructorName = node.constructorName.name?.name;
 
-    if (node.constructorName.type.element2 is TypeAliasElement) {
+    if (node.constructorName.type.element is TypeAliasElement) {
       // Allow the use of typedef constructors.
       return;
     }
diff --git a/pkg/linter/lib/src/rules/prefer_final_fields.dart b/pkg/linter/lib/src/rules/prefer_final_fields.dart
index aa2529b..5d184f6 100644
--- a/pkg/linter/lib/src/rules/prefer_final_fields.dart
+++ b/pkg/linter/lib/src/rules/prefer_final_fields.dart
@@ -92,7 +92,7 @@
   }
 
   void _addMutatedFieldElement(CompoundAssignmentExpression assignment) {
-    var element = assignment.writeElement2?.canonicalElement2;
+    var element = assignment.writeElement?.canonicalElement2;
     element = element?.baseElement;
 
     if (element is FieldElement) {
diff --git a/pkg/linter/lib/src/rules/prefer_final_in_for_each.dart b/pkg/linter/lib/src/rules/prefer_final_in_for_each.dart
index 858695a..e8dae0a 100644
--- a/pkg/linter/lib/src/rules/prefer_final_in_for_each.dart
+++ b/pkg/linter/lib/src/rules/prefer_final_in_for_each.dart
@@ -45,10 +45,10 @@
     if (loopVariable.isFinal) return;
 
     var function = node.thisOrAncestorOfType<FunctionBody>();
-    var loopVariableElement = loopVariable.declaredElement2;
+    var loopVariableElement = loopVariable.declaredElement;
     if (function != null &&
         loopVariableElement != null &&
-        !function.isPotentiallyMutatedInScope2(loopVariableElement)) {
+        !function.isPotentiallyMutatedInScope(loopVariableElement)) {
       var name = loopVariable.name;
       rule.reportAtToken(
         name,
@@ -103,9 +103,9 @@
 extension on FunctionBody {
   bool potentiallyMutates(Object pattern) {
     if (pattern is! DeclaredVariablePattern) return true;
-    var element = pattern.declaredElement2;
+    var element = pattern.declaredElement;
     if (element == null) return true;
-    return isPotentiallyMutatedInScope2(element.baseElement);
+    return isPotentiallyMutatedInScope(element.baseElement);
   }
 
   bool potentiallyMutatesAnyField(List<PatternField> fields) =>
diff --git a/pkg/linter/lib/src/rules/prefer_final_locals.dart b/pkg/linter/lib/src/rules/prefer_final_locals.dart
index 7c9c577..db736f6 100644
--- a/pkg/linter/lib/src/rules/prefer_final_locals.dart
+++ b/pkg/linter/lib/src/rules/prefer_final_locals.dart
@@ -39,7 +39,7 @@
 
   @override
   void visitDeclaredVariablePattern(DeclaredVariablePattern node) {
-    var element = node.declaredElement2;
+    var element = node.declaredElement;
     if (element != null) {
       declaredElements.add(element);
     }
@@ -53,8 +53,8 @@
 
   bool isPotentiallyMutated(AstNode pattern, FunctionBody function) {
     if (pattern is DeclaredVariablePattern) {
-      var element = pattern.declaredElement2;
-      if (element == null || function.isPotentiallyMutatedInScope2(element)) {
+      var element = pattern.declaredElement;
+      if (element == null || function.isPotentiallyMutatedInScope(element)) {
         return true;
       }
     }
@@ -128,10 +128,10 @@
       if (variable.equals == null || variable.initializer == null) {
         return;
       }
-      var declaredElement = variable.declaredElement2;
+      var declaredElement = variable.declaredElement;
       if (declaredElement != null &&
           (declaredElement.isWildcardVariable ||
-              function.isPotentiallyMutatedInScope2(declaredElement))) {
+              function.isPotentiallyMutatedInScope(declaredElement))) {
         return;
       }
     }
@@ -183,7 +183,7 @@
     accept(declaredVariableVisitor);
     var declaredElements = declaredVariableVisitor.declaredElements;
     for (var element in declaredElements) {
-      if (function.isPotentiallyMutatedInScope2(element)) {
+      if (function.isPotentiallyMutatedInScope(element)) {
         return true;
       }
     }
diff --git a/pkg/linter/lib/src/rules/prefer_final_parameters.dart b/pkg/linter/lib/src/rules/prefer_final_parameters.dart
index 7d635d1..1e67d9a 100644
--- a/pkg/linter/lib/src/rules/prefer_final_parameters.dart
+++ b/pkg/linter/lib/src/rules/prefer_final_parameters.dart
@@ -77,7 +77,7 @@
         if (declaredElement != null &&
             !declaredElement.isInitializingFormal &&
             !declaredElement.isWildcardVariable &&
-            !body.isPotentiallyMutatedInScope2(declaredElement)) {
+            !body.isPotentiallyMutatedInScope(declaredElement)) {
           rule.reportAtNode(param, arguments: [param.name!.lexeme]);
         }
       }
diff --git a/pkg/linter/lib/src/rules/prefer_foreach.dart b/pkg/linter/lib/src/rules/prefer_foreach.dart
index 91cdf92..42f4c5b 100644
--- a/pkg/linter/lib/src/rules/prefer_foreach.dart
+++ b/pkg/linter/lib/src/rules/prefer_foreach.dart
@@ -49,7 +49,7 @@
   void visitForStatement(ForStatement node) {
     var loopParts = node.forLoopParts;
     if (loopParts is ForEachPartsWithDeclaration) {
-      var element = loopParts.loopVariable.declaredElement2;
+      var element = loopParts.loopVariable.declaredElement;
       if (element != null) {
         forEachStatement = node;
         this.element = element;
diff --git a/pkg/linter/lib/src/rules/prefer_function_declarations_over_variables.dart b/pkg/linter/lib/src/rules/prefer_function_declarations_over_variables.dart
index b2f7ee1..9456978 100644
--- a/pkg/linter/lib/src/rules/prefer_function_declarations_over_variables.dart
+++ b/pkg/linter/lib/src/rules/prefer_function_declarations_over_variables.dart
@@ -46,9 +46,9 @@
           rule.reportAtNode(node);
         }
       } else {
-        var declaredElement = node.declaredElement2;
+        var declaredElement = node.declaredElement;
         if (declaredElement != null &&
-            !function.isPotentiallyMutatedInScope2(declaredElement)) {
+            !function.isPotentiallyMutatedInScope(declaredElement)) {
           rule.reportAtNode(node);
         }
       }
diff --git a/pkg/linter/lib/src/rules/prefer_initializing_formals.dart b/pkg/linter/lib/src/rules/prefer_initializing_formals.dart
index db8f26a..7dd69a8 100644
--- a/pkg/linter/lib/src/rules/prefer_initializing_formals.dart
+++ b/pkg/linter/lib/src/rules/prefer_initializing_formals.dart
@@ -35,7 +35,7 @@
     node.initializers.whereType<ConstructorFieldInitializer>();
 
 Element? _getLeftElement(AssignmentExpression assignment) =>
-    assignment.writeElement2?.canonicalElement2;
+    assignment.writeElement?.canonicalElement2;
 
 Iterable<FormalParameterElement?> _getParameters(ConstructorDeclaration node) =>
     node.parameters.parameters.map((e) => e.declaredFragment?.element);
diff --git a/pkg/linter/lib/src/rules/unnecessary_lambdas.dart b/pkg/linter/lib/src/rules/unnecessary_lambdas.dart
index 0caf5ef..b16dbd7 100644
--- a/pkg/linter/lib/src/rules/unnecessary_lambdas.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_lambdas.dart
@@ -210,7 +210,7 @@
         if (!typeSystem.isSubtypeOf(tearoffType, argType)) return;
       } else if (parent is VariableDeclaration) {
         var variableElement =
-            parent.declaredElement2 ?? parent.declaredFragment?.element;
+            parent.declaredElement ?? parent.declaredFragment?.element;
         var variableType = variableElement?.type;
         if (variableType == null) return;
         if (!typeSystem.isSubtypeOf(tearoffType, variableType)) return;
diff --git a/pkg/linter/lib/src/rules/unnecessary_library_name.dart b/pkg/linter/lib/src/rules/unnecessary_library_name.dart
index e7c6e66c..43e44f0 100644
--- a/pkg/linter/lib/src/rules/unnecessary_library_name.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_library_name.dart
@@ -35,7 +35,7 @@
 
   @override
   void visitLibraryDirective(LibraryDirective node) {
-    var name = node.name2;
+    var name = node.name;
     if (name != null) {
       rule.reportAtNode(name);
     }
diff --git a/pkg/linter/lib/src/rules/unnecessary_null_aware_assignments.dart b/pkg/linter/lib/src/rules/unnecessary_null_aware_assignments.dart
index 14b19fd..05c2f04 100644
--- a/pkg/linter/lib/src/rules/unnecessary_null_aware_assignments.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_null_aware_assignments.dart
@@ -39,7 +39,7 @@
 
   @override
   void visitAssignmentExpression(AssignmentExpression node) {
-    if (node.writeElement2 is SetterElement) return;
+    if (node.writeElement is SetterElement) return;
 
     if (node.operator.type == TokenType.QUESTION_QUESTION_EQ &&
         node.rightHandSide.isNullLiteral) {
diff --git a/pkg/linter/lib/src/rules/unnecessary_null_aware_operator_on_extension_on_nullable.dart b/pkg/linter/lib/src/rules/unnecessary_null_aware_operator_on_extension_on_nullable.dart
index 8e4b22f..14e51c5 100644
--- a/pkg/linter/lib/src/rules/unnecessary_null_aware_operator_on_extension_on_nullable.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_null_aware_operator_on_extension_on_nullable.dart
@@ -49,7 +49,7 @@
           node.inSetterContext()
               ? node
                   .thisOrAncestorOfType<AssignmentExpression>()
-                  ?.writeElement2
+                  ?.writeElement
                   ?.enclosingElement
               : node.element?.enclosingElement,
         )) {
@@ -75,7 +75,7 @@
       );
       if (_isExtensionOnNullableType(
         realParent is AssignmentExpression
-            ? realParent.writeElement2?.enclosingElement
+            ? realParent.writeElement?.enclosingElement
             : node.propertyName.element?.enclosingElement,
       )) {
         rule.reportAtToken(node.operator);
diff --git a/pkg/linter/lib/src/rules/unnecessary_null_checks.dart b/pkg/linter/lib/src/rules/unnecessary_null_checks.dart
index 1239445..e62f264 100644
--- a/pkg/linter/lib/src/rules/unnecessary_null_checks.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_null_checks.dart
@@ -69,7 +69,7 @@
   }
   // in variable declaration
   if (parent is VariableDeclaration) {
-    var element = parent.declaredFragment?.element ?? parent.declaredElement2;
+    var element = parent.declaredFragment?.element ?? parent.declaredElement;
     return element?.type;
   }
   // as right member of binary operator
diff --git a/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart b/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
index 6bde81d..41eb917 100644
--- a/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
@@ -44,7 +44,7 @@
 
   void check(AstNode node) {
     if (node is! DeclaredVariablePattern) return;
-    var type = node.declaredElement2?.type;
+    var type = node.declaredElement?.type;
     if (type == null) return;
     if (type is DynamicType) return;
     var valueType = node.matchedValueType;
@@ -97,7 +97,7 @@
     if (initializerType == null) return;
 
     var declaredElement =
-        variable.declaredElement2 ?? variable.declaredFragment?.element;
+        variable.declaredElement ?? variable.declaredFragment?.element;
     if (declaredElement == null || declaredElement.type is DynamicType) {
       return;
     }
diff --git a/pkg/linter/lib/src/rules/unnecessary_overrides.dart b/pkg/linter/lib/src/rules/unnecessary_overrides.dart
index b590a28..25e9bf2 100644
--- a/pkg/linter/lib/src/rules/unnecessary_overrides.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_overrides.dart
@@ -313,7 +313,7 @@
             node.rightHandSide.canonicalElement) {
       var leftPart = node.leftHandSide.unParenthesized;
       if (leftPart is PropertyAccess) {
-        if (node.writeElement2?.name3 == _inheritedMethod.name3) {
+        if (node.writeElement?.name3 == _inheritedMethod.name3) {
           leftPart.target?.accept(this);
         }
       }
diff --git a/pkg/linter/lib/src/rules/unnecessary_parenthesis.dart b/pkg/linter/lib/src/rules/unnecessary_parenthesis.dart
index 74577db..a151a82 100644
--- a/pkg/linter/lib/src/rules/unnecessary_parenthesis.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_parenthesis.dart
@@ -66,7 +66,7 @@
     // Don't over-report on records missing trailing commas.
     // `(int,) r = (3);` is OK.
     if (parent is VariableDeclaration &&
-        parent.declaredElement2?.type is RecordType) {
+        parent.declaredElement?.type is RecordType) {
       if (expression is! RecordLiteral) return;
     }
 
diff --git a/pkg/linter/lib/src/rules/unreachable_from_main.dart b/pkg/linter/lib/src/rules/unreachable_from_main.dart
index 2b6b982..c3decb3 100644
--- a/pkg/linter/lib/src/rules/unreachable_from_main.dart
+++ b/pkg/linter/lib/src/rules/unreachable_from_main.dart
@@ -151,7 +151,7 @@
 
   @override
   void visitAnnotation(Annotation node) {
-    var e = node.element2;
+    var e = node.element;
     if (e != null) {
       _addDeclaration(e);
     }
@@ -233,7 +233,7 @@
     var e = node.element;
     if (e != null && _patternLevel == 0) {
       _addDeclaration(e);
-      var type = node.type.element2;
+      var type = node.type.element;
       if (type != null) {
         _addDeclaration(type);
       }
@@ -264,7 +264,7 @@
 
   @override
   void visitNamedType(NamedType node) {
-    var element = node.element2;
+    var element = node.element;
     if (element == null) {
       return;
     }
@@ -303,7 +303,7 @@
 
   @override
   void visitPatternField(PatternField node) {
-    var e = node.element2;
+    var e = node.element;
     if (e != null) {
       _addDeclaration(e);
     }
@@ -418,7 +418,7 @@
       return;
     }
 
-    var element = node.element2;
+    var element = node.element;
     if (element == null) {
       return;
     }
@@ -436,11 +436,11 @@
   }
 
   void _visitCompoundAssignmentExpression(CompoundAssignmentExpression node) {
-    var readElement = node.readElement2;
+    var readElement = node.readElement;
     if (readElement != null) {
       _addDeclaration(readElement);
     }
-    var writeElement = node.writeElement2;
+    var writeElement = node.writeElement;
     if (writeElement != null) {
       _addDeclaration(writeElement);
     }
diff --git a/pkg/linter/lib/src/rules/use_late_for_private_fields_and_variables.dart b/pkg/linter/lib/src/rules/use_late_for_private_fields_and_variables.dart
index f532c2e..aa2e735 100644
--- a/pkg/linter/lib/src/rules/use_late_for_private_fields_and_variables.dart
+++ b/pkg/linter/lib/src/rules/use_late_for_private_fields_and_variables.dart
@@ -79,7 +79,7 @@
 
   @override
   void visitAssignmentExpression(AssignmentExpression node) {
-    var element = node.writeElement2?.canonicalElement2;
+    var element = node.writeElement?.canonicalElement2;
     if (element != null) {
       var assignee = node.leftHandSide;
       var rhsType = node.rightHandSide.staticType;
diff --git a/pkg/linter/lib/src/rules/use_null_aware_elements.dart b/pkg/linter/lib/src/rules/use_null_aware_elements.dart
index 7eb51f0..679d86e 100644
--- a/pkg/linter/lib/src/rules/use_null_aware_elements.dart
+++ b/pkg/linter/lib/src/rules/use_null_aware_elements.dart
@@ -55,10 +55,10 @@
           nullCheckTarget = leftOperand.canonicalElement;
         }
       } else if (node.caseClause?.guardedPattern.pattern case NullCheckPattern(
-        pattern: DeclaredVariablePattern(:var declaredElement2),
+        pattern: DeclaredVariablePattern(:var declaredElement),
       )) {
         // Case of pattern null checks of the form `if (x case var y?) y`.
-        nullCheckTarget = declaredElement2;
+        nullCheckTarget = declaredElement;
       }
 
       if (nullCheckTarget is PromotableElementImpl) {
diff --git a/pkg/linter/lib/src/rules/use_rethrow_when_possible.dart b/pkg/linter/lib/src/rules/use_rethrow_when_possible.dart
index 7e21e5e..6f8bb1d 100644
--- a/pkg/linter/lib/src/rules/use_rethrow_when_possible.dart
+++ b/pkg/linter/lib/src/rules/use_rethrow_when_possible.dart
@@ -38,8 +38,7 @@
     var element = node.expression.canonicalElement;
     if (element != null) {
       var catchClause = node.thisOrAncestorOfType<CatchClause>();
-      var exceptionParameter =
-          catchClause?.exceptionParameter?.declaredElement2;
+      var exceptionParameter = catchClause?.exceptionParameter?.declaredElement;
       if (element == exceptionParameter) {
         rule.reportAtNode(node);
       }
diff --git a/pkg/linter/lib/src/rules/use_setters_to_change_properties.dart b/pkg/linter/lib/src/rules/use_setters_to_change_properties.dart
index af95164..9daf2f1 100644
--- a/pkg/linter/lib/src/rules/use_setters_to_change_properties.dart
+++ b/pkg/linter/lib/src/rules/use_setters_to_change_properties.dart
@@ -52,7 +52,7 @@
     void checkExpression(Expression expression) {
       if (expression is AssignmentExpression &&
           expression.operator.type == TokenType.EQ) {
-        var leftOperand = expression.writeElement2?.canonicalElement2;
+        var leftOperand = expression.writeElement?.canonicalElement2;
         var rightOperand = expression.rightHandSide.canonicalElement;
         var parameterElement =
             node.declaredFragment?.element.formalParameters.first;
diff --git a/pkg/linter/lib/src/rules/use_string_buffers.dart b/pkg/linter/lib/src/rules/use_string_buffers.dart
index 889b4914..43602e0 100644
--- a/pkg/linter/lib/src/rules/use_string_buffers.dart
+++ b/pkg/linter/lib/src/rules/use_string_buffers.dart
@@ -97,7 +97,7 @@
         writeType is InterfaceType &&
         writeType.isDartCoreString) {
       if (node.operator.type == TokenType.PLUS_EQ &&
-          !localElements.contains(node.writeElement2)) {
+          !localElements.contains(node.writeElement)) {
         rule.reportAtNode(node);
       }
       if (node.operator.type == TokenType.EQ) {
@@ -125,7 +125,7 @@
   @override
   void visitVariableDeclarationStatement(VariableDeclarationStatement node) {
     for (var variable in node.variables.variables) {
-      localElements.add(variable.declaredElement2);
+      localElements.add(variable.declaredElement);
     }
   }
 }
diff --git a/pkg/linter/lib/src/rules/void_checks.dart b/pkg/linter/lib/src/rules/void_checks.dart
index 7497e23..7796574 100644
--- a/pkg/linter/lib/src/rules/void_checks.dart
+++ b/pkg/linter/lib/src/rules/void_checks.dart
@@ -68,7 +68,7 @@
   @override
   void visitAssignedVariablePattern(AssignedVariablePattern node) {
     var valueType = node.matchedValueType;
-    var element = node.element2;
+    var element = node.element;
     if (element is! VariableElement) return;
     _check(element.type, valueType, node);
   }
diff --git a/pkg/linter/lib/src/util/leak_detector_visitor.dart b/pkg/linter/lib/src/util/leak_detector_visitor.dart
index 5938bd3..1d272ac 100644
--- a/pkg/linter/lib/src/util/leak_detector_visitor.dart
+++ b/pkg/linter/lib/src/util/leak_detector_visitor.dart
@@ -200,7 +200,7 @@
     // Being assigned another reference.
     if (node.rightHandSide is SimpleIdentifier) {
       if (_isElementEqualToVariable(
-        node.writeElement2,
+        node.writeElement,
         variable.declaredFragment?.element,
       )) {
         containsValidUse = true;
diff --git a/pkg/linter/lib/src/util/variance_checker.dart b/pkg/linter/lib/src/util/variance_checker.dart
index d9ada76..fb7b73a 100644
--- a/pkg/linter/lib/src/util/variance_checker.dart
+++ b/pkg/linter/lib/src/util/variance_checker.dart
@@ -43,7 +43,7 @@
       case NamedType():
         var arguments = typeAnnotation.typeArguments?.arguments;
         if (arguments != null) {
-          var element = typeAnnotation.element2?.baseElement;
+          var element = typeAnnotation.element?.baseElement;
           List<TypeParameterElement>? typeParameterList;
           if (element != null) {
             switch (element) {
diff --git a/pkg/linter/tool/checks/rules/no_solo_tests.dart b/pkg/linter/tool/checks/rules/no_solo_tests.dart
index 81806f1..7afb127 100644
--- a/pkg/linter/tool/checks/rules/no_solo_tests.dart
+++ b/pkg/linter/tool/checks/rules/no_solo_tests.dart
@@ -58,7 +58,7 @@
 
 extension on Annotation {
   bool get isSoloTest {
-    var element = element2;
+    var element = this.element;
     return element is GetterElement &&
         element.name3 == 'soloTest' &&
         element.library.name3 == 'test_reflective_loader';
diff --git a/runtime/bin/dart_embedder_api_impl.cc b/runtime/bin/dart_embedder_api_impl.cc
index 92081c6..c280fc8 100644
--- a/runtime/bin/dart_embedder_api_impl.cc
+++ b/runtime/bin/dart_embedder_api_impl.cc
@@ -6,6 +6,7 @@
 
 #include "bin/dartutils.h"
 #include "bin/eventhandler.h"
+#include "bin/io_service.h"
 #include "bin/isolate_data.h"
 #include "bin/process.h"
 #include "bin/secure_socket_filter.h"
@@ -54,6 +55,7 @@
   bin::SSLFilter::Cleanup();
 #endif
   bin::Process::Cleanup();
+  bin::IOService::Cleanup();
 }
 
 Dart_Isolate CreateKernelServiceIsolate(const IsolateCreationData& data,
diff --git a/runtime/bin/io_service.cc b/runtime/bin/io_service.cc
index 673a0ce..0afa15e 100644
--- a/runtime/bin/io_service.cc
+++ b/runtime/bin/io_service.cc
@@ -55,10 +55,22 @@
 }
 
 intptr_t IOService::max_concurrency_ = 32;
+std::atomic<Dart_Port> IOService::port_ = ILLEGAL_PORT;
 
 Dart_Port IOService::GetServicePort() {
-  return Dart_NewConcurrentNativePort("IOService", IOServiceCallback,
-                                      max_concurrency_);
+  Dart_Port port = port_;
+  if (port == ILLEGAL_PORT) {
+    port = Dart_NewConcurrentNativePort("IOService", IOServiceCallback,
+                                        max_concurrency_);
+    Dart_Port expected = ILLEGAL_PORT;
+    if (!port_.compare_exchange_strong(expected, port)) {
+      // Lost the initialization race. Use the winner's port and close our port.
+      // The winner's port is eventually implicitly closed by VM shutdown.
+      Dart_CloseNativePort(port);
+      return expected;
+    }
+  }
+  return port;
 }
 
 void FUNCTION_NAME(IOService_NewServicePort)(Dart_NativeArguments args) {
diff --git a/runtime/bin/io_service.h b/runtime/bin/io_service.h
index d440f0f..5e92251 100644
--- a/runtime/bin/io_service.h
+++ b/runtime/bin/io_service.h
@@ -9,6 +9,8 @@
 #error "io_service.h can only be included on builds with IO and SSL enabled"
 #endif
 
+#include <atomic>
+
 #include "bin/builtin.h"
 #include "bin/utils.h"
 
@@ -69,12 +71,14 @@
   enum { IO_SERVICE_REQUEST_LIST(DECLARE_REQUEST) };
 
   static Dart_Port GetServicePort();
+  static void Cleanup() { port_ = ILLEGAL_PORT; }
 
   static intptr_t max_concurrency() { return max_concurrency_; }
   static void set_max_concurrency(intptr_t value) { max_concurrency_ = value; }
 
  private:
   static intptr_t max_concurrency_;
+  static std::atomic<Dart_Port> port_;
 
   DISALLOW_ALLOCATION();
   DISALLOW_IMPLICIT_CONSTRUCTORS(IOService);
diff --git a/runtime/vm/compiler/backend/il_test_helper.cc b/runtime/vm/compiler/backend/il_test_helper.cc
index b285886..f7f2007 100644
--- a/runtime/vm/compiler/backend/il_test_helper.cc
+++ b/runtime/vm/compiler/backend/il_test_helper.cc
@@ -107,8 +107,7 @@
                               /*optimized=*/false, /*stats=*/nullptr);
   };
   SafepointWriteRwLocker ml(thread, thread->isolate_group()->program_lock());
-  thread->isolate_group()->RunWithStoppedMutators(install_code_fun,
-                                                  /*use_force_growth=*/true);
+  thread->isolate_group()->RunWithStoppedMutators(install_code_fun);
   return code.instructions();
 }
 
diff --git a/runtime/vm/compiler/jit/compiler.cc b/runtime/vm/compiler/jit/compiler.cc
index 2d436b1..c4e2f8f 100644
--- a/runtime/vm/compiler/jit/compiler.cc
+++ b/runtime/vm/compiler/jit/compiler.cc
@@ -597,8 +597,7 @@
         //      requires updating several pointers: We have to ensure all of
         //      those writes are observed atomically.
         //
-        thread()->isolate_group()->RunWithStoppedMutators(
-            install_code_fun, /*use_force_growth=*/true);
+        thread()->isolate_group()->RunWithStoppedMutators(install_code_fun);
       }
       if (!result->IsNull()) {
         // Must be called outside of safepoint.
diff --git a/runtime/vm/heap/heap.cc b/runtime/vm/heap/heap.cc
index 624e8a1..30649e8 100644
--- a/runtime/vm/heap/heap.cc
+++ b/runtime/vm/heap/heap.cc
@@ -153,7 +153,7 @@
       return addr;
     }
     // Wait for all of the concurrent tasks to finish before giving up.
-    WaitForSweeperTasksAtSafepoint(thread);
+    WaitForSweeperTasks(thread);
     addr = old_space_.TryAllocate(size, is_exec);
     if (addr != 0) {
       return addr;
@@ -165,7 +165,7 @@
     }
     // Before throwing an out-of-memory error try a synchronous GC.
     CollectOldSpaceGarbage(thread, GCType::kMarkCompact, GCReason::kOldSpace);
-    WaitForSweeperTasksAtSafepoint(thread);
+    WaitForSweeperTasks(thread);
     addr = old_space_.TryAllocate(size, is_exec, PageSpace::kForceGrowth);
     if (addr != 0) {
       return addr;
@@ -669,20 +669,14 @@
 }
 
 void Heap::WaitForSweeperTasks(Thread* thread) {
-  ASSERT(!thread->OwnsGCSafepoint());
   MonitorLocker ml(old_space_.tasks_lock());
   while ((old_space_.phase() == PageSpace::kSweepingLarge) ||
          (old_space_.phase() == PageSpace::kSweepingRegular)) {
-    ml.WaitWithSafepointCheck(thread);
-  }
-}
-
-void Heap::WaitForSweeperTasksAtSafepoint(Thread* thread) {
-  ASSERT(thread->OwnsGCSafepoint());
-  MonitorLocker ml(old_space_.tasks_lock());
-  while ((old_space_.phase() == PageSpace::kSweepingLarge) ||
-         (old_space_.phase() == PageSpace::kSweepingRegular)) {
-    ml.Wait();
+    if (thread->OwnsSafepoint()) {
+      ml.Wait();
+    } else {
+      ml.WaitWithSafepointCheck(thread);
+    }
   }
 }
 
diff --git a/runtime/vm/heap/heap.h b/runtime/vm/heap/heap.h
index acf3b51..ad1b0e7 100644
--- a/runtime/vm/heap/heap.h
+++ b/runtime/vm/heap/heap.h
@@ -119,7 +119,6 @@
   void StartConcurrentMarking(Thread* thread, GCReason reason);
   void WaitForMarkerTasks(Thread* thread);
   void WaitForSweeperTasks(Thread* thread);
-  void WaitForSweeperTasksAtSafepoint(Thread* thread);
 
   // Protect access to the heap. Note: Code pages are made
   // executable/non-executable when 'read_only' is true/false, respectively.
diff --git a/runtime/vm/heap/scavenger.cc b/runtime/vm/heap/scavenger.cc
index e22c7d5..e92dde8 100644
--- a/runtime/vm/heap/scavenger.cc
+++ b/runtime/vm/heap/scavenger.cc
@@ -1015,7 +1015,7 @@
   heap_->isolate_group()->FlushMarkingStacks();
 
   if (FLAG_verify_store_buffer) {
-    heap_->WaitForSweeperTasksAtSafepoint(Thread::Current());
+    heap_->WaitForSweeperTasks(Thread::Current());
     VerifyStoreBuffers("Verifying remembered set before Scavenge");
   }
 
@@ -1118,7 +1118,7 @@
     // are very rare.
     heap_->isolate_group()->ReleaseStoreBuffers();
 
-    heap_->WaitForSweeperTasksAtSafepoint(Thread::Current());
+    heap_->WaitForSweeperTasks(Thread::Current());
     VerifyStoreBuffers("Verifying remembered set after Scavenge");
   }
 
@@ -1854,7 +1854,7 @@
   }
 
   if (FLAG_verify_before_gc) {
-    heap_->WaitForSweeperTasksAtSafepoint(thread);
+    heap_->WaitForSweeperTasks(thread);
     heap_->VerifyGC("Verifying before Scavenge",
                     thread->is_marking() ? kAllowMarked : kForbidMarked);
   }
@@ -1928,7 +1928,7 @@
   heap_->old_space()->ResumeConcurrentMarking();
 
   if (FLAG_verify_after_gc) {
-    heap_->WaitForSweeperTasksAtSafepoint(thread);
+    heap_->WaitForSweeperTasks(thread);
     heap_->VerifyGC("Verifying after Scavenge...",
                     thread->is_marking() ? kAllowMarked : kForbidMarked);
   }
@@ -2030,7 +2030,7 @@
 
   // Reverse the partial forwarding from the aborted scavenge. This also
   // rebuilds the remembered set.
-  heap_->WaitForSweeperTasksAtSafepoint(thread);
+  heap_->WaitForSweeperTasks(thread);
   Become::FollowForwardingPointers(thread);
 
   heap_->old_space()->ResetProgressBars();
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index 0f806a2..a5281a6 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -2909,8 +2909,7 @@
   return isolates_.IsEmpty() ? nullptr : isolates_.First();
 }
 
-void IsolateGroup::RunWithStoppedMutatorsCallable(Callable* callable,
-                                                  bool use_force_growth) {
+void IsolateGroup::RunWithStoppedMutatorsCallable(Callable* callable) {
   auto thread = Thread::Current();
   StoppedMutatorsScope stopped_mutators_scope(thread);
 
@@ -2923,14 +2922,8 @@
   // We use the more strict safepoint operation scope here (which ensures that
   // all other threads, including auxiliary threads are at a safepoint), even
   // though we only need to ensure that the mutator threads are stopped.
-  if (use_force_growth) {
-    ForceGrowthSafepointOperationScope safepoint_scope(
-        thread, SafepointLevel::kGCAndDeopt);
-    callable->Call();
-  } else {
-    DeoptSafepointOperationScope safepoint_scope(thread);
-    callable->Call();
-  }
+  DeoptSafepointOperationScope safepoint_scope(thread);
+  callable->Call();
 }
 
 void IsolateGroup::VisitObjectPointers(ObjectPointerVisitor* visitor,
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
index cc3045d..c384227 100644
--- a/runtime/vm/isolate.h
+++ b/runtime/vm/isolate.h
@@ -599,19 +599,16 @@
   //
   // If the current thread is the only mutator in the isolate group,
   // [callable] will be called directly. Otherwise [callable] will be
-  // called inside a [SafepointOperationsScope] (or
-  // [ForceGrowthSafepointOperationScope] if [use_force_growth]
-  // is set).
+  // called inside a [SafepointOperationsScope].
   //
   // During the duration of this function, no new isolates can be added to the
   // isolate group.
-  void RunWithStoppedMutatorsCallable(Callable* callable,
-                                      bool use_force_growth = false);
+  void RunWithStoppedMutatorsCallable(Callable* callable);
 
   template <typename T>
-  void RunWithStoppedMutators(T function, bool use_force_growth = false) {
+  void RunWithStoppedMutators(T function) {
     LambdaCallable<T> callable(function);
-    RunWithStoppedMutatorsCallable(&callable, use_force_growth);
+    RunWithStoppedMutatorsCallable(&callable);
   }
 
 #ifndef PRODUCT
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 26444aa..fcee0e6 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -19743,12 +19743,10 @@
   // NOTE: In the future we might change the megamorphic cache insertions to
   // carefully use store-release barriers on the writer as well as
   // load-acquire barriers on the reader, ...
-  isolate_group->RunWithStoppedMutators(
-      [&]() {
-        EnsureCapacityLocked();
-        InsertEntryLocked(class_id, target);
-      },
-      /*use_force_growth=*/true);
+  isolate_group->RunWithStoppedMutators([&]() {
+    EnsureCapacityLocked();
+    InsertEntryLocked(class_id, target);
+  });
 }
 
 void MegamorphicCache::EnsureCapacityLocked() const {
diff --git a/runtime/vm/stub_code.cc b/runtime/vm/stub_code.cc
index e2699a8..eeebe03 100644
--- a/runtime/vm/stub_code.cc
+++ b/runtime/vm/stub_code.cc
@@ -282,8 +282,7 @@
     //
     //   a) We allocate an instructions object, which might cause us to
     //      temporarily flip page protections from (RX -> RW -> RX).
-    thread->isolate_group()->RunWithStoppedMutators(mutator_fun,
-                                                    /*use_force_growth=*/true);
+    thread->isolate_group()->RunWithStoppedMutators(mutator_fun);
 
     // We notify code observers after finalizing the code in order to be
     // outside a [SafepointOperationScope].
diff --git a/runtime/vm/type_testing_stubs.cc b/runtime/vm/type_testing_stubs.cc
index e5ffc16..8fbce4aa6 100644
--- a/runtime/vm/type_testing_stubs.cc
+++ b/runtime/vm/type_testing_stubs.cc
@@ -296,9 +296,7 @@
             //
             SafepointWriteRwLocker ml(thread,
                                       thread->isolate_group()->program_lock());
-            thread->isolate_group()->RunWithStoppedMutators(
-                install_code_fun,
-                /*use_force_growth=*/true);
+            thread->isolate_group()->RunWithStoppedMutators(install_code_fun);
 
             Code::NotifyCodeObservers(name, code, /*optimized=*/false);
 
diff --git a/tests/standalone/io/leak_io_service_test.dart b/tests/standalone/io/leak_io_service_test.dart
new file mode 100644
index 0000000..0c3a2c5
--- /dev/null
+++ b/tests/standalone/io/leak_io_service_test.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2025, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "dart:async";
+import "dart:io";
+import "dart:isolate";
+
+child(replyPort) async {
+  var ops = <Future>[];
+  for (var i = 0; i < 32; i++) {
+    ops.add(File(Platform.executable).stat()); // Uses the IO Service.
+  }
+  await Future.wait(ops);
+  replyPort.send(null);
+}
+
+main() {
+  var pending = 1000;
+  var port = new RawReceivePort();
+  port.handler = (_) {
+    pending--;
+    if (pending == 0) port.close();
+  };
+  for (var i = 0; i < pending; i++) {
+    Isolate.spawn(child, port.sendPort);
+  }
+}
diff --git a/tools/VERSION b/tools/VERSION
index b2e1089..7a5092e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 3
 MINOR 9
 PATCH 0
-PRERELEASE 293
+PRERELEASE 294
 PRERELEASE_PATCH 0