Elements. Migrate many analyzer resolution tests.

Change-Id: Ied261a783756c5954d4363c4298201b8fc25e560
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/396381
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
diff --git a/pkg/analyzer/analyzer_use_new_elements.txt b/pkg/analyzer/analyzer_use_new_elements.txt
index 9673f89..9187e72 100644
--- a/pkg/analyzer/analyzer_use_new_elements.txt
+++ b/pkg/analyzer/analyzer_use_new_elements.txt
@@ -238,25 +238,9 @@
 test/src/dart/element/type_visitor_test.dart
 test/src/dart/element/upper_lower_bound_test.dart
 test/src/dart/micro/simple_file_resolver_test.dart
-test/src/dart/resolution/ast_rewrite_test.dart
-test/src/dart/resolution/class_alias_test.dart
-test/src/dart/resolution/class_test.dart
-test/src/dart/resolution/comment_test.dart
 test/src/dart/resolution/constant_test.dart
 test/src/dart/resolution/context_collection_resolution.dart
-test/src/dart/resolution/enum_test.dart
-test/src/dart/resolution/field_test.dart
-test/src/dart/resolution/for_element_test.dart
-test/src/dart/resolution/function_body_test.dart
-test/src/dart/resolution/function_declaration_test.dart
-test/src/dart/resolution/generic_function_type_test.dart
 test/src/dart/resolution/generic_type_alias_test.dart
-test/src/dart/resolution/instance_member_inference_class_test.dart
-test/src/dart/resolution/instance_member_inference_mixin_test.dart
-test/src/dart/resolution/library_element_test.dart
-test/src/dart/resolution/library_export_test.dart
-test/src/dart/resolution/library_import_prefix_test.dart
-test/src/dart/resolution/local_function_test.dart
 test/src/dart/resolution/local_variable_test.dart
 test/src/dart/resolution/metadata_test.dart
 test/src/dart/resolution/prefix_element_test.dart
diff --git a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
index 171adf9..6408515 100644
--- a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
@@ -719,8 +719,21 @@
 }
 ''');
 
-    var invocation = findNode.methodInvocation('foo();');
-    assertElement(invocation, findElement.method('foo'));
+    var node = findNode.methodInvocation('foo();');
+    assertResolvedNodeText(node, r'''
+MethodInvocation
+  operator: ..
+  methodName: SimpleIdentifier
+    token: foo
+    staticElement: <testLibraryFragment>::@class::A::@method::foo
+    element: <testLibraryFragment>::@class::A::@method::foo#element
+    staticType: void Function()
+  argumentList: ArgumentList
+    leftParenthesis: (
+    rightParenthesis: )
+  staticInvokeType: void Function()
+  staticType: void
+''');
   }
 
   test_targetNull_class() async {
@@ -1427,8 +1440,31 @@
 }
 ''');
 
-    var invocation = findNode.methodInvocation('foo(0);');
-    assertElement(invocation, findElement.method('foo'));
+    var node = findNode.methodInvocation('foo(0);');
+    assertResolvedNodeText(node, r'''
+MethodInvocation
+  target: SimpleIdentifier
+    token: A
+    staticElement: <testLibraryFragment>::@class::A
+    element: <testLibrary>::@class::A
+    staticType: null
+  operator: .
+  methodName: SimpleIdentifier
+    token: foo
+    staticElement: <testLibraryFragment>::@class::A::@method::foo
+    element: <testLibraryFragment>::@class::A::@method::foo#element
+    staticType: void Function(int)
+  argumentList: ArgumentList
+    leftParenthesis: (
+    arguments
+      IntegerLiteral
+        literal: 0
+        parameter: <testLibraryFragment>::@class::A::@method::foo::@parameter::a
+        staticType: int
+    rightParenthesis: )
+  staticInvokeType: void Function(int)
+  staticType: void
+''');
   }
 
   test_targetSimpleIdentifier_prefix_class() async {
@@ -1686,8 +1722,26 @@
 }
 ''');
 
-    var identifier = findNode.constructorReference('C.new');
-    assertElement(identifier, findElement.unnamedConstructor('C'));
+    var node = findNode.constructorReference('C.new');
+    assertResolvedNodeText(node, r'''
+ConstructorReference
+  constructorName: ConstructorName
+    type: NamedType
+      name: C
+      element: <testLibraryFragment>::@class::C
+      element2: <testLibrary>::@class::C
+      type: null
+    period: .
+    name: SimpleIdentifier
+      token: new
+      staticElement: <testLibraryFragment>::@class::C::@constructor::new
+      element: <testLibraryFragment>::@class::C::@constructor::new#element
+      staticType: null
+    staticElement: <testLibraryFragment>::@class::C::@constructor::new
+    element: <testLibraryFragment>::@class::C::@constructor::new#element
+  parameter: <testLibraryFragment>::@setter::f::@parameter::_f
+  staticType: C Function()
+''');
   }
 
   // TODO(srawlins): Complete tests of all cases of rewriting (or not) a
diff --git a/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart b/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
index 5774fc4..f273814 100644
--- a/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
@@ -73,7 +73,7 @@
       error(
           CompileTimeErrorCode.FINAL_CLASS_EXTENDED_OUTSIDE_OF_LIBRARY, 27, 8),
     ]);
-    var x = findElement.class_('X');
+    var x = findElement2.class_('X');
     assertType(x.supertype, 'Object');
   }
 
@@ -86,7 +86,7 @@
       error(CompileTimeErrorCode.FINAL_CLASS_IMPLEMENTED_OUTSIDE_OF_LIBRARY, 66,
           8),
     ]);
-    var x = findElement.class_('X');
+    var x = findElement2.class_('X');
     assertElementTypes(x.interfaces, ['A', 'B']);
   }
 
@@ -98,7 +98,7 @@
 ''', [
       error(CompileTimeErrorCode.CLASS_USED_AS_MIXIN, 59, 8),
     ]);
-    var x = findElement.class_('X');
+    var x = findElement2.class_('X');
     assertElementTypes(x.mixins, ['A', 'B']);
   }
 
diff --git a/pkg/analyzer/test/src/dart/resolution/class_test.dart b/pkg/analyzer/test/src/dart/resolution/class_test.dart
index 1621c55..9add041 100644
--- a/pkg/analyzer/test/src/dart/resolution/class_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/class_test.dart
@@ -31,23 +31,23 @@
 ''');
 
     assertElementTypes(
-      findElement.class_('X1').allSupertypes,
+      findElement2.class_('X1').allSupertypes,
       ['Object', 'A'],
     );
     assertElementTypes(
-      findElement.class_('X2').allSupertypes,
+      findElement2.class_('X2').allSupertypes,
       ['Object', 'B'],
     );
     assertElementTypes(
-      findElement.class_('X3').allSupertypes,
+      findElement2.class_('X3').allSupertypes,
       ['Object', 'A', 'B'],
     );
     assertElementTypes(
-      findElement.class_('X4').allSupertypes,
+      findElement2.class_('X4').allSupertypes,
       ['Object', 'A', 'B', 'C'],
     );
     assertElementTypes(
-      findElement.class_('X5').allSupertypes,
+      findElement2.class_('X5').allSupertypes,
       ['Object', 'A', 'B', 'C', 'D', 'E'],
     );
   }
@@ -64,15 +64,15 @@
 ''');
 
     assertElementTypes(
-      findElement.class_('X1').allSupertypes,
+      findElement2.class_('X1').allSupertypes,
       ['Object', 'A<String>'],
     );
     assertElementTypes(
-      findElement.class_('X2').allSupertypes,
+      findElement2.class_('X2').allSupertypes,
       ['Object', 'B<String, List<int>>'],
     );
     assertElementTypes(
-      findElement.class_('X3').allSupertypes,
+      findElement2.class_('X3').allSupertypes,
       ['Object', 'B<int, double>', 'C<double>'],
     );
   }
@@ -91,7 +91,7 @@
     ]);
 
     assertElementTypes(
-      findElement.class_('X').allSupertypes,
+      findElement2.class_('X').allSupertypes,
       ['A', 'B', 'C'],
     );
   }
@@ -103,7 +103,7 @@
       error(
           CompileTimeErrorCode.FINAL_CLASS_EXTENDED_OUTSIDE_OF_LIBRARY, 16, 8),
     ]);
-    var a = findElement.class_('A');
+    var a = findElement2.class_('A');
     assertType(a.supertype, 'Object');
   }
 
@@ -114,7 +114,7 @@
 ''', [
       error(WarningCode.DEPRECATED_EXTENDS_FUNCTION, 32, 8),
     ]);
-    var a = findElement.class_('A');
+    var a = findElement2.class_('A');
     assertType(a.supertype, 'Object');
   }
 
@@ -128,7 +128,7 @@
     ]);
 
     assertElementTypes(
-      findElement.class_('C').mixins,
+      findElement2.class_('C').mixins,
       ['A', 'B'],
     );
   }
@@ -144,7 +144,7 @@
     ]);
 
     assertElementTypes(
-      findElement.class_('C').mixins,
+      findElement2.class_('C').mixins,
       ['A', 'B'],
     );
   }
diff --git a/pkg/analyzer/test/src/dart/resolution/comment_test.dart b/pkg/analyzer/test/src/dart/resolution/comment_test.dart
index 134ee1c..2094ebe 100644
--- a/pkg/analyzer/test/src/dart/resolution/comment_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/comment_test.dart
@@ -1639,10 +1639,14 @@
 foo(int p) {}
 ''');
 
-    assertElement(
-      findNode.simple('p]'),
-      findElement.parameter('p'),
-    );
+    var node = findNode.simple('p]');
+    assertResolvedNodeText(node, r'''
+SimpleIdentifier
+  token: p
+  staticElement: <testLibraryFragment>::@function::foo::@parameter::p
+  element: <testLibraryFragment>::@function::foo::@parameter::p#element
+  staticType: null
+''');
   }
 
   test_beforeFunction_expressionBody() async {
@@ -1717,7 +1721,14 @@
 get g => null;
 ''');
 
-    assertElement(findNode.simple('int]'), intElement);
+    var node = findNode.simple('int]');
+    assertResolvedNodeText(node, r'''
+SimpleIdentifier
+  token: int
+  staticElement: dart:core::<fragment>::@class::int
+  element: dart:core::@class::int
+  staticType: null
+''');
   }
 
   test_beforeMethod() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/enum_test.dart b/pkg/analyzer/test/src/dart/resolution/enum_test.dart
index 2dfb9a9..91e3865 100644
--- a/pkg/analyzer/test/src/dart/resolution/enum_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/enum_test.dart
@@ -398,7 +398,7 @@
 var v = [E1.a, E2.b];
 ''');
 
-    var v = findElement.topVar('v');
+    var v = findElement2.topVar('v');
     assertType(v.type, 'List<Enum>');
   }
 
@@ -430,10 +430,10 @@
 }
 ''');
 
-    expect(findElement.field('a').isEnumConstant, isTrue);
-    expect(findElement.field('b').isEnumConstant, isTrue);
+    expect(findElement2.field('a').isEnumConstant, isTrue);
+    expect(findElement2.field('b').isEnumConstant, isTrue);
 
-    expect(findElement.field('values').isEnumConstant, isFalse);
+    expect(findElement2.field('values').isEnumConstant, isFalse);
   }
 
   test_method() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/field_test.dart b/pkg/analyzer/test/src/dart/resolution/field_test.dart
index ca259d6..7e2baa2 100644
--- a/pkg/analyzer/test/src/dart/resolution/field_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/field_test.dart
@@ -223,10 +223,10 @@
   var f = 0;
 }
 ''');
-    var getter = findElement.getter('f');
+    var getter = findElement2.getter('f');
     expect(getter.session, result.session);
 
-    var setter = findElement.setter('f');
+    var setter = findElement2.setter('f');
     expect(setter.session, result.session);
   }
 
@@ -236,7 +236,7 @@
   var f = 0;
 }
 ''');
-    assertType(findElement.field('f').type, 'int');
+    assertType(findElement2.field('f').type, 'int');
   }
 
   test_type_inferred_Never() async {
@@ -245,7 +245,7 @@
   var f = throw 42;
 }
 ''');
-    assertType(findElement.field('f').type, 'Never');
+    assertType(findElement2.field('f').type, 'Never');
   }
 
   test_type_inferred_noInitializer() async {
@@ -254,7 +254,7 @@
   var f;
 }
 ''');
-    assertType(findElement.field('f').type, 'dynamic');
+    assertType(findElement2.field('f').type, 'dynamic');
   }
 
   test_type_inferred_null() async {
@@ -263,7 +263,7 @@
   var f = null;
 }
 ''');
-    assertType(findElement.field('f').type, 'dynamic');
+    assertType(findElement2.field('f').type, 'dynamic');
   }
 
   test_type_scope() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/for_element_test.dart b/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
index ddc21ba..0e93ac0 100644
--- a/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
@@ -24,19 +24,28 @@
   test_withDeclaration_scope() async {
     await assertNoErrorsInCode(r'''
 main() {
-  <int>[for (var i in [1, 2, 3]) i]; // 1
-  <double>[for (var i in [1.1, 2.2, 3.3]) i]; // 2
+  <int>[for (var i in [1]) i]; // 1
+  <double>[for (var i in [1.1]) i]; // 2
 }
 ''');
 
-    assertElement(
-      findNode.simple('i]; // 1'),
-      findNode.declaredIdentifier('i in [1, 2').declaredElement!,
-    );
-    assertElement(
-      findNode.simple('i]; // 2'),
-      findNode.declaredIdentifier('i in [1.1').declaredElement!,
-    );
+    var node_1 = findNode.simple('i]; // 1');
+    assertResolvedNodeText(node_1, r'''
+SimpleIdentifier
+  token: i
+  staticElement: i@26
+  element: i@26
+  staticType: int
+''');
+
+    var node_2 = findNode.simple('i]; // 2');
+    assertResolvedNodeText(node_2, r'''
+SimpleIdentifier
+  token: i
+  staticElement: i@65
+  element: i@65
+  staticType: double
+''');
   }
 
   test_withIdentifier_topLevelVariable() async {
@@ -46,10 +55,15 @@
   <int>[for (v in [1, 2, 3]) v];
 }
 ''');
-    assertElement(
-      findNode.simple('v];'),
-      findElement.topGet('v'),
-    );
+
+    var node = findNode.simple('v];');
+    assertResolvedNodeText(node, r'''
+SimpleIdentifier
+  token: v
+  staticElement: <testLibraryFragment>::@getter::v
+  element: <testLibraryFragment>::@getter::v#element
+  staticType: int
+''');
   }
 }
 
@@ -758,14 +772,23 @@
 }
 ''');
 
-    assertElement(
-      findNode.simple('i]; // 1'),
-      findNode.variableDeclaration('i = 1;').declaredElement!,
-    );
-    assertElement(
-      findNode.simple('i]; // 2'),
-      findNode.variableDeclaration('i = 1.1;').declaredElement!,
-    );
+    var node_1 = findNode.simple('i]; // 1');
+    assertResolvedNodeText(node_1, r'''
+SimpleIdentifier
+  token: i
+  staticElement: i@26
+  element: i@26
+  staticType: int
+''');
+
+    var node_2 = findNode.simple('i]; // 2');
+    assertResolvedNodeText(node_2, r'''
+SimpleIdentifier
+  token: i
+  staticElement: i@78
+  element: i@78
+  staticType: double
+''');
   }
 }
 
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 3ee2068..3bca095 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_body_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_body_test.dart
@@ -124,8 +124,8 @@
     await assertNoErrorsInCode(code);
 
     var body = findNode.singleFunctionBody;
-    var element = findElement.parameter('x');
-    expect(body.isPotentiallyMutatedInScope(element), expected);
+    var element = findElement2.parameter('x');
+    expect(body.isPotentiallyMutatedInScope2(element), expected);
   }
 
   /// Assign that `v` in the only [FunctionBody] is not mutated.
@@ -133,7 +133,7 @@
     await assertNoErrorsInCode(code);
 
     var body = findNode.singleFunctionBody;
-    var element = findElement.localVar('v');
-    expect(body.isPotentiallyMutatedInScope(element), expected);
+    var element = findElement2.localVar('v');
+    expect(body.isPotentiallyMutatedInScope2(element), expected);
   }
 }
diff --git a/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart b/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart
index bf925ac..b961b62 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_declaration_test.dart
@@ -125,10 +125,14 @@
 }
 ''');
 
-    assertElement(
-      findNode.simple('foo + 1'),
-      findElement.topGet('foo'),
-    );
+    var node = findNode.simple('foo + 1');
+    assertResolvedNodeText(node, r'''
+SimpleIdentifier
+  token: foo
+  staticElement: <testLibraryFragment>::@getter::foo
+  element: <testLibraryFragment>::@getter::foo#element
+  staticType: int
+''');
   }
 
   test_formalParameterScope_type() async {
@@ -140,15 +144,23 @@
 }
 ''');
 
-    assertElement(
-      findNode.namedType('a a'),
-      findElement.class_('a'),
-    );
+    var node_1 = findNode.namedType('a a');
+    assertResolvedNodeText(node_1, r'''
+NamedType
+  name: a
+  element: <testLibraryFragment>::@class::a
+  element2: <testLibrary>::@class::a
+  type: a
+''');
 
-    assertElement(
-      findNode.simple('a;'),
-      findElement.parameter('a'),
-    );
+    var node_2 = findNode.simple('a;');
+    assertResolvedNodeText(node_2, r'''
+SimpleIdentifier
+  token: a
+  staticElement: <testLibraryFragment>::@function::bar::@parameter::a
+  element: <testLibraryFragment>::@function::bar::@parameter::a#element
+  staticType: a
+''');
   }
 
   test_getter_formalParameters() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart b/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart
index 4ae2a74..aa1faa5 100644
--- a/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/generic_function_type_test.dart
@@ -3,7 +3,6 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:analyzer/dart/ast/ast.dart';
-import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
 import 'context_collection_resolution.dart';
@@ -54,9 +53,23 @@
 
 Function<@a T>()? x;
 ''');
+
     var T = findNode.typeParameter('T');
-    var annotation = T.declaredElement!.metadata[0];
-    expect(annotation.element, findElement.topGet('a'));
+    assertResolvedNodeText(T, r'''
+TypeParameter
+  metadata
+    Annotation
+      atSign: @
+      name: SimpleIdentifier
+        token: a
+        staticElement: <testLibraryFragment>::@getter::a
+        element: <testLibraryFragment>::@getter::a#element
+        staticType: null
+      element: <testLibraryFragment>::@getter::a
+      element2: <testLibraryFragment>::@getter::a#element
+  name: T
+  declaredElement: T@27
+''');
   }
 
   /// Test that when multiple [GenericFunctionType]s are used in a
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
index 5dbf31f..a689f6a 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/element2.dart';
 import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
@@ -26,7 +26,7 @@
   int foo = 0;
 }
 ''');
-    var foo = findElement.field('foo', of: 'B');
+    var foo = findElement2.field('foo', of: 'B');
     _assertFieldType(foo, 'int', isCovariant: true);
   }
 
@@ -40,7 +40,7 @@
   int foo = 0;
 }
 ''');
-    var foo = findElement.field('foo', of: 'B');
+    var foo = findElement2.field('foo', of: 'B');
     _assertFieldType(foo, 'int', isCovariant: true);
   }
 
@@ -54,7 +54,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'B');
+    var foo = findElement2.field('foo', of: 'B');
     _assertFieldType(foo, 'int');
   }
 
@@ -68,7 +68,7 @@
   var foo = 0;
 }
 ''');
-    var foo = findElement.field('foo', of: 'B');
+    var foo = findElement2.field('foo', of: 'B');
     _assertFieldType(foo, 'num');
   }
 
@@ -84,7 +84,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'C');
+    var foo = findElement2.field('foo', of: 'C');
     _assertFieldTypeDynamic(foo);
   }
 
@@ -100,7 +100,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'C');
+    var foo = findElement2.field('foo', of: 'C');
     _assertFieldType(foo, 'int');
   }
 
@@ -116,7 +116,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'C');
+    var foo = findElement2.field('foo', of: 'C');
     _assertFieldTypeDynamic(foo);
   }
 
@@ -135,7 +135,7 @@
   final foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'X');
+    var foo = findElement2.field('foo', of: 'X');
     _assertFieldType(foo, 'int');
   }
 
@@ -154,7 +154,7 @@
   final foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'X');
+    var foo = findElement2.field('foo', of: 'X');
     _assertFieldTypeDynamic(foo);
   }
 
@@ -173,7 +173,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'X');
+    var foo = findElement2.field('foo', of: 'X');
     _assertFieldTypeDynamic(foo);
     // TODO(scheglov): error?
   }
@@ -193,7 +193,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'X');
+    var foo = findElement2.field('foo', of: 'X');
     _assertFieldType(foo, 'int');
   }
 
@@ -212,7 +212,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'X');
+    var foo = findElement2.field('foo', of: 'X');
     _assertFieldTypeDynamic(foo);
   }
 
@@ -231,7 +231,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'X');
+    var foo = findElement2.field('foo', of: 'X');
     _assertFieldTypeDynamic(foo);
   }
 
@@ -247,7 +247,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'C');
+    var foo = findElement2.field('foo', of: 'C');
     _assertFieldType(foo, 'num');
   }
 
@@ -263,7 +263,7 @@
   var foo;
 }
 ''');
-    var foo = findElement.field('foo', of: 'C');
+    var foo = findElement2.field('foo', of: 'C');
     _assertFieldTypeDynamic(foo);
   }
 
@@ -279,7 +279,7 @@
   get foo => throw 0;
 }
 ''');
-    var foo = findElement.getter('foo', of: 'C');
+    var foo = findElement2.getter('foo', of: 'C');
     _assertGetterType(foo, 'int');
   }
 
@@ -295,7 +295,7 @@
   get foo => throw 0;
 }
 ''');
-    var foo = findElement.getter('foo', of: 'C');
+    var foo = findElement2.getter('foo', of: 'C');
     _assertGetterTypeDynamic(foo);
   }
 
@@ -311,7 +311,7 @@
   get foo => throw 0;
 }
 ''');
-    var foo = findElement.getter('foo', of: 'C');
+    var foo = findElement2.getter('foo', of: 'C');
     _assertGetterType(foo, 'int');
   }
 
@@ -330,7 +330,7 @@
   get foo => throw 0;
 }
 ''');
-    var foo = findElement.getter('foo', of: 'X');
+    var foo = findElement2.getter('foo', of: 'X');
     _assertGetterType(foo, 'int');
   }
 
@@ -349,7 +349,7 @@
   get foo => throw 0;
 }
 ''');
-    var foo = findElement.getter('foo', of: 'X');
+    var foo = findElement2.getter('foo', of: 'X');
     _assertGetterTypeDynamic(foo);
   }
 
@@ -365,7 +365,7 @@
   get foo => throw 0;
 }
 ''');
-    var foo = findElement.getter('foo', of: 'C');
+    var foo = findElement2.getter('foo', of: 'C');
     _assertGetterType(foo, 'num');
   }
 
@@ -381,7 +381,7 @@
   get foo => throw 0;
 }
 ''');
-    var foo = findElement.getter('foo', of: 'C');
+    var foo = findElement2.getter('foo', of: 'C');
     _assertGetterTypeDynamic(foo);
   }
 
@@ -395,7 +395,7 @@
   var foo = <String, int>{};
 }
 ''');
-    var foo = findElement.field('foo', of: 'B');
+    var foo = findElement2.field('foo', of: 'B');
     _assertFieldType(foo, 'Map<String, int>');
   }
 
@@ -419,8 +419,8 @@
   void foo({int p}) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
-    _assertParameter(p, type: 'int', isCovariant: true);
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
+    _assertFormalParameter(p, type: 'int', isCovariant: true);
   }
 
   test_method_parameter_covariant_positional() async {
@@ -435,8 +435,8 @@
   void foo([int p]) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
-    _assertParameter(p, type: 'int', isCovariant: true);
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
+    _assertFormalParameter(p, type: 'int', isCovariant: true);
   }
 
   test_method_parameter_covariant_required() async {
@@ -451,8 +451,8 @@
   void foo(int p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
-    _assertParameter(p, type: 'int', isCovariant: true);
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
+    _assertFormalParameter(p, type: 'int', isCovariant: true);
   }
 
   test_method_parameter_named_multiple_combined() async {
@@ -467,7 +467,7 @@
   void foo({p}) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertType(p.type, 'num');
   }
 
@@ -483,7 +483,7 @@
   void foo({p}) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertTypeDynamic(p.type);
   }
 
@@ -499,7 +499,7 @@
   void foo({p}) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertType(p.type, 'int');
   }
 
@@ -515,7 +515,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertTypeDynamic(p.type);
   }
 
@@ -531,7 +531,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertType(p.type, 'num');
   }
 
@@ -549,7 +549,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertType(p.type, 'Object?');
   }
 
@@ -565,7 +565,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertTypeDynamic(p.type);
   }
 
@@ -581,7 +581,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertType(p.type, 'int');
   }
 
@@ -594,7 +594,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertType(p.type, 'T');
   }
 
@@ -610,7 +610,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'C').parameters[0];
+    var p = findElement2.method('foo', of: 'C').formalParameters[0];
     assertType(p.type, 'int');
   }
 
@@ -626,7 +626,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertType(foo.returnType, 'int');
   }
 
@@ -642,7 +642,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertType(foo.returnType, 'int');
   }
 
@@ -658,7 +658,7 @@
   foo() => throw 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertTypeDynamic(foo.returnType);
   }
 
@@ -674,7 +674,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertTypeDynamic(foo.returnType);
   }
 
@@ -692,7 +692,7 @@
   foo() => throw 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertType(foo.returnType, 'Object?');
   }
 
@@ -708,7 +708,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertType(foo.returnType, 'int');
   }
 
@@ -724,7 +724,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertType(foo.returnType, 'T');
   }
 
@@ -740,7 +740,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertType(foo.returnType, 'int');
   }
 
@@ -756,7 +756,7 @@
   foo() {};
 }
 ''');
-    var foo = findElement.method('foo', of: 'C');
+    var foo = findElement2.method('foo', of: 'C');
     assertType(foo.returnType, 'void');
   }
 
@@ -769,7 +769,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'B');
+    var foo = findElement2.method('foo', of: 'B');
     assertType(foo.returnType, 'int');
   }
 
@@ -782,7 +782,7 @@
   foo() => throw 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'B');
+    var foo = findElement2.method('foo', of: 'B');
     assertType(foo.returnType, 'T');
   }
 
@@ -798,7 +798,7 @@
   set foo(int x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'C');
+    var foo = findElement2.setter('foo', of: 'C');
     _assertSetterType(foo, 'int', isCovariant: true);
   }
 
@@ -814,7 +814,7 @@
   set foo(x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'C');
+    var foo = findElement2.setter('foo', of: 'C');
     _assertSetterType(foo, 'int');
   }
 
@@ -830,7 +830,7 @@
   set foo(x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'C');
+    var foo = findElement2.setter('foo', of: 'C');
     _assertSetterTypeDynamic(foo);
   }
 
@@ -849,7 +849,7 @@
   set foo(x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'X');
+    var foo = findElement2.setter('foo', of: 'X');
     _assertSetterType(foo, 'num');
   }
 
@@ -868,7 +868,7 @@
   set foo(x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'X');
+    var foo = findElement2.setter('foo', of: 'X');
     _assertSetterTypeDynamic(foo);
   }
 
@@ -884,7 +884,7 @@
   set foo(x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'C');
+    var foo = findElement2.setter('foo', of: 'C');
     _assertSetterType(foo, 'num');
   }
 
@@ -900,7 +900,7 @@
   set foo(x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'C');
+    var foo = findElement2.setter('foo', of: 'C');
     _assertSetterTypeDynamic(foo);
   }
 
@@ -913,47 +913,37 @@
   set foo(x) {}
 }
 ''');
-    var foo = findElement.setter('foo', of: 'B');
+    var foo = findElement2.setter('foo', of: 'B');
     _assertSetterType(foo, 'dynamic');
   }
 
   void _assertFieldType(
-    FieldElement field,
+    FieldElement2 field,
     String type, {
     bool isCovariant = false,
   }) {
     expect(field.isSynthetic, isFalse);
 
-    _assertGetterType(field.getter, type);
+    _assertGetterType(field.getter2, type);
 
-    var setter = field.setter;
+    var setter = field.setter2;
     if (setter != null) {
       _assertSetterType(setter, type, isCovariant: isCovariant);
     }
   }
 
-  void _assertFieldTypeDynamic(FieldElement field) {
+  void _assertFieldTypeDynamic(FieldElement2 field) {
     expect(field.isSynthetic, isFalse);
 
-    _assertGetterTypeDynamic(field.getter);
+    _assertGetterTypeDynamic(field.getter2);
 
     if (!field.isFinal) {
-      _assertSetterTypeDynamic(field.setter);
+      _assertSetterTypeDynamic(field.setter2);
     }
   }
 
-  void _assertGetterType(PropertyAccessorElement? accessor, String expected) {
-    accessor!;
-    assertType(accessor.returnType, expected);
-  }
-
-  void _assertGetterTypeDynamic(PropertyAccessorElement? accessor) {
-    accessor!;
-    assertTypeDynamic(accessor.returnType);
-  }
-
-  void _assertParameter(
-    ParameterElement element, {
+  void _assertFormalParameter(
+    FormalParameterElement element, {
     String? type,
     bool isCovariant = false,
   }) {
@@ -961,18 +951,28 @@
     expect(element.isCovariant, isCovariant);
   }
 
+  void _assertGetterType(GetterElement? accessor, String expected) {
+    accessor!;
+    assertType(accessor.returnType, expected);
+  }
+
+  void _assertGetterTypeDynamic(GetterElement? accessor) {
+    accessor!;
+    assertTypeDynamic(accessor.returnType);
+  }
+
   void _assertSetterType(
-    PropertyAccessorElement accessor,
+    SetterElement accessor,
     String expected, {
     bool isCovariant = false,
   }) {
-    var parameter = accessor.parameters.single;
+    var parameter = accessor.formalParameters.single;
     assertType(parameter.type, expected);
     expect(parameter.isCovariant, isCovariant);
   }
 
-  void _assertSetterTypeDynamic(PropertyAccessorElement? accessor) {
+  void _assertSetterTypeDynamic(SetterElement? accessor) {
     accessor!;
-    assertTypeDynamic(accessor.parameters.single.type);
+    assertTypeDynamic(accessor.formalParameters.single.type);
   }
 }
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart
index a9a312f..4471a50 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_mixin_test.dart
@@ -34,7 +34,7 @@
   void foo({p}) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertType(p.type, 'num');
   }
 
@@ -50,7 +50,7 @@
   void foo({p}) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertTypeDynamic(p.type);
   }
 
@@ -66,7 +66,7 @@
   void foo({p}) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertType(p.type, 'int');
   }
 
@@ -82,7 +82,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertTypeDynamic(p.type);
   }
 
@@ -98,7 +98,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertType(p.type, 'num');
   }
 
@@ -116,7 +116,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertType(p.type, 'Object?');
   }
 
@@ -132,7 +132,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertTypeDynamic(p.type);
   }
 
@@ -148,7 +148,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertType(p.type, 'int');
   }
 
@@ -161,7 +161,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertType(p.type, 'T');
   }
 
@@ -177,7 +177,7 @@
   void foo(p) {}
 }
 ''');
-    var p = findElement.method('foo', of: 'M').parameters[0];
+    var p = findElement2.method('foo', of: 'M').formalParameters[0];
     assertType(p.type, 'int');
   }
 
@@ -193,7 +193,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertType(foo.returnType, 'int');
   }
 
@@ -209,7 +209,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertType(foo.returnType, 'int');
   }
 
@@ -225,7 +225,7 @@
   foo() => throw 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertTypeDynamic(foo.returnType);
   }
 
@@ -241,7 +241,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertTypeDynamic(foo.returnType);
   }
 
@@ -259,7 +259,7 @@
   foo() => throw 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertType(foo.returnType, 'Object?');
   }
 
@@ -275,7 +275,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertType(foo.returnType, 'int');
   }
 
@@ -291,7 +291,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertType(foo.returnType, 'T');
   }
 
@@ -307,7 +307,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertType(foo.returnType, 'int');
   }
 
@@ -323,7 +323,7 @@
   foo() {};
 }
 ''');
-    var foo = findElement.method('foo', of: 'M');
+    var foo = findElement2.method('foo', of: 'M');
     assertType(foo.returnType, 'void');
   }
 
@@ -336,7 +336,7 @@
   foo() => 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'B');
+    var foo = findElement2.method('foo', of: 'B');
     assertType(foo.returnType, 'int');
   }
 
@@ -349,7 +349,7 @@
   foo() => throw 0;
 }
 ''');
-    var foo = findElement.method('foo', of: 'B');
+    var foo = findElement2.method('foo', of: 'B');
     assertType(foo.returnType, 'T');
   }
 }
diff --git a/pkg/analyzer/test/src/dart/resolution/library_element_test.dart b/pkg/analyzer/test/src/dart/resolution/library_element_test.dart
index 32c5201..175ac53 100644
--- a/pkg/analyzer/test/src/dart/resolution/library_element_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/library_element_test.dart
@@ -155,7 +155,7 @@
   }
 
   void _assertFeatureSet(List<Feature> expected) {
-    var featureSet = result.libraryElement.featureSet;
+    var featureSet = result.libraryElement2.featureSet;
 
     var actual = ExperimentStatus.knownFeatures.values
         .where(featureSet.isEnabled)
@@ -168,7 +168,7 @@
     required Version package,
     required Version? override,
   }) async {
-    var element = result.libraryElement;
+    var element = result.libraryElement2;
     expect(element.languageVersion.package, package);
     expect(element.languageVersion.override, override);
   }
@@ -182,7 +182,7 @@
 ''');
 
     expect(
-      result.libraryElement.toString(),
+      result.libraryElement2.toString(),
       'library package:test/test.dart',
     );
   }
@@ -193,7 +193,7 @@
 ''');
 
     expect(
-      result.libraryElement.toString(),
+      result.libraryElement2.toString(),
       'library package:test/test.dart',
     );
   }
@@ -204,7 +204,7 @@
 ''');
 
     expect(
-      result.libraryElement.toString(),
+      result.libraryElement2.toString(),
       'library package:test/test.dart',
     );
   }
diff --git a/pkg/analyzer/test/src/dart/resolution/library_export_test.dart b/pkg/analyzer/test/src/dart/resolution/library_export_test.dart
index a79c059..0b12ec9 100644
--- a/pkg/analyzer/test/src/dart/resolution/library_export_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/library_export_test.dart
@@ -442,9 +442,9 @@
     await resolveTestCode(r'''
 export 'a.dart';
 ''');
-    var exportNamespace = result.libraryElement.exportNamespace;
-    expect(exportNamespace.get('f'), isNotNull);
-    expect(exportNamespace.get('f='), isNotNull);
+    var exportNamespace = result.libraryElement2.exportNamespace;
+    expect(exportNamespace.get2('f'), isNotNull);
+    expect(exportNamespace.get2('f='), isNotNull);
   }
 
   test_inLibrary_noRelativeUri() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/library_import_prefix_test.dart b/pkg/analyzer/test/src/dart/resolution/library_import_prefix_test.dart
index 82b8d69..06111f4 100644
--- a/pkg/analyzer/test/src/dart/resolution/library_import_prefix_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/library_import_prefix_test.dart
@@ -127,9 +127,14 @@
 }
 ''');
 
-    var pRef = findNode.simple('p.max');
-    assertElement(pRef, findElement.prefix('p'));
-    assertTypeNull(pRef);
+    var node = findNode.simple('p.max');
+    assertResolvedNodeText(node, r'''
+SimpleIdentifier
+  token: p
+  staticElement: <testLibraryFragment>::@prefix::p
+  element: <testLibraryFragment>::@prefix2::p
+  staticType: null
+''');
   }
 
   test_asPrefix_prefixedIdentifier() async {
@@ -141,9 +146,14 @@
 }
 ''');
 
-    var pRef = findNode.simple('p.Future');
-    assertElement(pRef, findElement.prefix('p'));
-    assertTypeNull(pRef);
+    var node = findNode.simple('p.Future');
+    assertResolvedNodeText(node, r'''
+SimpleIdentifier
+  token: p
+  staticElement: <testLibraryFragment>::@prefix::p
+  element: <testLibraryFragment>::@prefix2::p
+  staticType: null
+''');
   }
 
   test_wildcardResolution() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/local_function_test.dart b/pkg/analyzer/test/src/dart/resolution/local_function_test.dart
index 8e434ad..b4ad84e 100644
--- a/pkg/analyzer/test/src/dart/resolution/local_function_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/local_function_test.dart
@@ -23,11 +23,27 @@
   g();
 }
 ''');
-    var element = findElement.localFunction('g');
-    expect(element.name, 'g');
-    expect(element.nameOffset, 8);
 
-    assertElement(findNode.methodInvocation('g();'), element);
+    var element = findElement2.localFunction('g');
+    var fragment = element.firstFragment;
+    expect(fragment.name2, 'g');
+    expect(fragment.nameOffset2, 8);
+    expect(element.name3, 'g');
+
+    var node = findNode.methodInvocation('g();');
+    assertResolvedNodeText(node, r'''
+MethodInvocation
+  methodName: SimpleIdentifier
+    token: g
+    staticElement: g@8
+    element: g@8
+    staticType: Null Function()
+  argumentList: ArgumentList
+    leftParenthesis: (
+    rightParenthesis: )
+  staticInvokeType: Null Function()
+  staticType: Null
+''');
   }
 
   test_element_ifStatement() async {
@@ -40,9 +56,11 @@
       error(WarningCode.UNUSED_ELEMENT, 23, 1),
     ]);
     var node = findNode.functionDeclaration('g() {}');
-    var element = node.declaredElement!;
-    expect(element.name, 'g');
-    expect(element.nameOffset, 23);
+    var fragment = node.declaredFragment!;
+    var element = fragment.element;
+    expect(fragment.name2, 'g');
+    expect(fragment.nameOffset2, 23);
+    expect(element.name3, 'g');
   }
 
   test_element_switchCase() async {
@@ -56,11 +74,27 @@
   }
 }
 ''');
-    var element = findElement.localFunction('g');
-    expect(element.name, 'g');
-    expect(element.nameOffset, 44);
 
-    assertElement(findNode.methodInvocation('g();'), element);
+    var element = findElement2.localFunction('g');
+    var fragment = element.firstFragment;
+    expect(fragment.name2, 'g');
+    expect(fragment.nameOffset2, 44);
+    expect(element.name3, 'g');
+
+    var node = findNode.methodInvocation('g();');
+    assertResolvedNodeText(node, r'''
+MethodInvocation
+  methodName: SimpleIdentifier
+    token: g
+    staticElement: g@44
+    element: g@44
+    staticType: Null Function()
+  argumentList: ArgumentList
+    leftParenthesis: (
+    rightParenthesis: )
+  staticInvokeType: Null Function()
+  staticType: Null
+''');
   }
 
   test_element_switchCase_language219() async {
@@ -75,10 +109,26 @@
   }
 }
 ''');
-    var element = findElement.localFunction('g');
-    expect(element.name, 'g');
-    expect(element.nameOffset, 60);
 
-    assertElement(findNode.methodInvocation('g();'), element);
+    var element = findElement2.localFunction('g');
+    var fragment = element.firstFragment;
+    expect(fragment.name2, 'g');
+    expect(fragment.nameOffset2, 60);
+    expect(element.name3, 'g');
+
+    var node = findNode.methodInvocation('g();');
+    assertResolvedNodeText(node, r'''
+MethodInvocation
+  methodName: SimpleIdentifier
+    token: g
+    staticElement: g@60
+    element: g@60
+    staticType: Null Function()
+  argumentList: ArgumentList
+    leftParenthesis: (
+    rightParenthesis: )
+  staticInvokeType: Null Function()
+  staticType: Null
+''');
   }
 }