Version 3.7.0-84.0.dev

Merge 8d845f63ae26c75fd1e9692f0b02e5688cb108ff into dev
diff --git a/pkg/analysis_server/analyzer_use_new_elements.txt b/pkg/analysis_server/analyzer_use_new_elements.txt
index c907a8d..e4745f0 100644
--- a/pkg/analysis_server/analyzer_use_new_elements.txt
+++ b/pkg/analysis_server/analyzer_use_new_elements.txt
@@ -42,6 +42,8 @@
 lib/src/computer/computer_outline.dart
 lib/src/computer/computer_overrides.dart
 lib/src/computer/computer_selection_ranges.dart
+lib/src/computer/computer_signature.dart
+lib/src/computer/computer_type_arguments_signature.dart
 lib/src/context_manager.dart
 lib/src/domain_analysis_flags.dart
 lib/src/domains/analysis/occurrences.dart
diff --git a/pkg/analysis_server/lib/src/computer/computer_signature.dart b/pkg/analysis_server/lib/src/computer/computer_signature.dart
index b8c0307..7489716 100644
--- a/pkg/analysis_server/lib/src/computer/computer_signature.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_signature.dart
@@ -6,7 +6,7 @@
 import 'package:analysis_server/src/protocol_server.dart' hide Element;
 import 'package:analysis_server/src/utilities/extensions/ast.dart';
 import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/element2.dart';
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/src/dart/ast/element_locator.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
@@ -40,33 +40,35 @@
       return null;
     }
     String? name;
-    Element? element;
-    List<ParameterElement>? parameters;
+    Element2? element;
+    List<FormalParameterElement>? parameters;
     var parent = argumentList.parent;
     if (parent is MethodInvocation) {
       name = parent.methodName.name;
-      element = ElementLocator.locate(parent);
-      parameters = element is FunctionTypedElement ? element.parameters : null;
+      element = ElementLocator.locate2(parent);
+      parameters =
+          element is FunctionTypedElement2 ? element.formalParameters : null;
     } else if (parent is InstanceCreationExpression) {
       name = parent.constructorName.type.qualifiedName;
       var constructorName = parent.constructorName.name;
       if (constructorName != null) {
         name += '.${constructorName.name}';
       }
-      element = ElementLocator.locate(parent);
-      parameters = element is FunctionTypedElement ? element.parameters : null;
+      element = ElementLocator.locate2(parent);
+      parameters =
+          element is FunctionTypedElement2 ? element.formalParameters : null;
     } else if (parent
         case FunctionExpressionInvocation(function: Identifier function)) {
       name = function.name;
 
       if (function.staticType case FunctionType functionType) {
         // Standard function expression.
-        element = function.staticElement;
-        parameters = functionType.parameters;
-      } else if (parent.staticElement case ExecutableElement staticElement) {
+        element = function.element;
+        parameters = functionType.formalParameters;
+      } else if (parent.element case ExecutableElement2 executableElement) {
         // Callable class instance (where we'll look at the `call` method).
-        element = staticElement;
-        parameters = staticElement.parameters;
+        element = executableElement;
+        parameters = executableElement.formalParameters;
       }
     }
 
@@ -76,7 +78,7 @@
 
     _argumentList = argumentList;
     var convertedParameters = parameters.map((p) => _convertParam(p)).toList();
-    var dartdoc = _documentationComputer.computePreferred(
+    var dartdoc = _documentationComputer.computePreferred2(
       element,
       documentationPreference,
     );
@@ -88,7 +90,7 @@
     );
   }
 
-  ParameterInfo _convertParam(ParameterElement param) {
+  ParameterInfo _convertParam(FormalParameterElement param) {
     return ParameterInfo(
         param.isOptionalNamed
             ? ParameterKind.OPTIONAL_NAMED
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 f7b48a4..98fba72 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
@@ -7,7 +7,7 @@
 import 'package:analysis_server/src/lsp/dartdoc.dart';
 import 'package:analysis_server/src/lsp/mapping.dart';
 import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/element2.dart';
 import 'package:analyzer/src/dart/ast/element_locator.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dartdoc/dartdoc_directive_info.dart';
@@ -43,27 +43,27 @@
       return null;
     }
     var parent = argumentList.parent;
-    Element? element;
+    Element2? element;
     if (parent is NamedType) {
-      element = parent.element;
+      element = parent.element2;
     } else if (parent is MethodInvocation) {
-      element = ElementLocator.locate(parent.methodName);
+      element = ElementLocator.locate2(parent.methodName);
     }
-    if (element is! TypeParameterizedElement ||
-        element.typeParameters.isEmpty) {
+    if (element is! TypeParameterizedElement2 ||
+        element.typeParameters2.isEmpty) {
       return null;
     }
 
     _argumentList = argumentList;
 
-    var label = element.getDisplayString();
-    var documentation = _documentationComputer.computePreferred(
+    var label = element.displayString2();
+    var documentation = _documentationComputer.computePreferred2(
         element, documentationPreference);
 
     return _toSignatureHelp(
       label,
       cleanDartdoc(documentation),
-      element.typeParameters,
+      element.typeParameters2,
     );
   }
 
@@ -85,11 +85,11 @@
   lsp.SignatureHelp? _toSignatureHelp(
     String label,
     String? documentation,
-    List<TypeParameterElement> typeParameters,
+    List<TypeParameterElement2> typeParameters,
   ) {
     var parameters = typeParameters
         .map((param) => lsp.ParameterInformation(
-              label: param.getDisplayString(),
+              label: param.displayString2(),
             ))
         .toList();
 
diff --git a/tools/VERSION b/tools/VERSION
index e2aeec3..8ced3f1 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 3
 MINOR 7
 PATCH 0
-PRERELEASE 83
+PRERELEASE 84
 PRERELEASE_PATCH 0