[Migrate] error_reporter_test.dart

Change-Id: Iee6e8ec17881bcc514b8cef9039f88e2f5afcde3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/403908
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/analyzer_use_new_elements.txt b/pkg/analyzer/analyzer_use_new_elements.txt
index 20741cc..96fea28 100644
--- a/pkg/analyzer/analyzer_use_new_elements.txt
+++ b/pkg/analyzer/analyzer_use_new_elements.txt
@@ -138,7 +138,6 @@
 lib/src/test_utilities/find_node.dart
 lib/src/test_utilities/mock_sdk_elements.dart
 lib/src/utilities/extensions/element.dart
-test/error/error_reporter_test.dart
 test/generated/elements_types_mixin.dart
 test/generated/non_error_resolver_test.dart
 test/generated/resolver_test_case.dart
diff --git a/pkg/analyzer/lib/src/test_utilities/find_element2.dart b/pkg/analyzer/lib/src/test_utilities/find_element2.dart
index ab76e57..2e484a5 100644
--- a/pkg/analyzer/lib/src/test_utilities/find_element2.dart
+++ b/pkg/analyzer/lib/src/test_utilities/find_element2.dart
@@ -507,6 +507,15 @@
     );
   }
 
+  ExtensionElement2 unnamedExtension() {
+    for (var extension_ in libraryElement.extensions) {
+      if (extension_.name3 == null) {
+        return extension_;
+      }
+    }
+    throw StateError('Not found: an unnamed extension');
+  }
+
   T _findInClassesLike<T extends Element2>({
     required String? className,
     required T? Function(InterfaceElement2 element) fromClass,
diff --git a/pkg/analyzer/test/error/error_reporter_test.dart b/pkg/analyzer/test/error/error_reporter_test.dart
index 2216348..e31475e 100644
--- a/pkg/analyzer/test/error/error_reporter_test.dart
+++ b/pkg/analyzer/test/error/error_reporter_test.dart
@@ -24,34 +24,37 @@
 
   test_atElement_named() async {
     await resolveTestCode('class A {}');
-    var element = findElement.class_('A');
-    var reporter = ErrorReporter(listener, element.source);
-    reporter.atElement(
+    var element = findElement2.class_('A');
+    var firstFragment = element.firstFragment;
+    var reporter =
+        ErrorReporter(listener, firstFragment.libraryFragment.source);
+    reporter.atElement2(
       element,
       CompileTimeErrorCode.CAST_TO_NON_TYPE,
       arguments: ['A'],
     );
 
     var error = listener.errors[0];
-    expect(error.offset, element.nameOffset);
+    expect(error.offset, firstFragment.nameOffset2);
   }
 
   test_atElement_unnamed() async {
     await resolveTestCode(r'''
-import 'dart:async';
-import 'dart:math';
+extension on int {}
 ''');
-    var element = findElement.import('dart:math');
+    var element = findElement2.unnamedExtension();
 
-    var reporter = ErrorReporter(listener, element.source);
-    reporter.atElement(
+    var firstFragment = element.firstFragment;
+    var reporter =
+        ErrorReporter(listener, firstFragment.libraryFragment.source);
+    reporter.atElement2(
       element,
       CompileTimeErrorCode.CAST_TO_NON_TYPE,
       arguments: ['A'],
     );
 
     var error = listener.errors[0];
-    expect(error.offset, element.nameOffset);
+    expect(error.offset, -1);
   }
 
   test_atNode_types_differentNames() async {
@@ -65,8 +68,8 @@
   x;
 }
 ''');
-    var aImport = findElement.importFind('package:test/a.dart');
-    var bImport = findElement.importFind('package:test/b.dart');
+    var aImport = findElement2.importFind('package:test/a.dart');
+    var bImport = findElement2.importFind('package:test/b.dart');
 
     var firstType = aImport.class_('A').instantiate(
       typeArguments: [],
@@ -77,7 +80,8 @@
       nullabilitySuffix: NullabilitySuffix.none,
     );
 
-    var reporter = ErrorReporter(listener, firstType.element.source);
+    var reporter = ErrorReporter(
+        listener, firstType.element3.firstFragment.libraryFragment.source);
 
     reporter.atNode(
       findNode.simple('x'),
@@ -100,8 +104,8 @@
   x;
 }
 ''');
-    var aImport = findElement.importFind('package:test/a.dart');
-    var bImport = findElement.importFind('package:test/b.dart');
+    var aImport = findElement2.importFind('package:test/a.dart');
+    var bImport = findElement2.importFind('package:test/b.dart');
 
     var firstType = aImport.class_('A').instantiate(
       typeArguments: [],
@@ -112,7 +116,8 @@
       nullabilitySuffix: NullabilitySuffix.none,
     );
 
-    var reporter = ErrorReporter(listener, firstType.element.source);
+    var reporter = ErrorReporter(
+        listener, firstType.element3.firstFragment.libraryFragment.source);
     reporter.atNode(
       findNode.simple('x'),
       CompileTimeErrorCode.ARGUMENT_TYPE_NOT_ASSIGNABLE,
@@ -140,7 +145,7 @@
     var fa = findNode.topLevelVariableDeclaration('fa');
     var fb = findNode.topLevelVariableDeclaration('fb');
 
-    var source = result.unit.declaredElement!.source;
+    var source = result.unit.declaredFragment!.libraryFragment!.source;
     var reporter = ErrorReporter(listener, source);
     reporter.atNode(
       findNode.simple('x'),
@@ -171,7 +176,7 @@
     var ba = findNode.topLevelVariableDeclaration('ba');
     var bb = findNode.topLevelVariableDeclaration('bb');
 
-    var source = result.unit.declaredElement!.source;
+    var source = result.unit.declaredFragment!.libraryFragment!.source;
     var reporter = ErrorReporter(listener, source);
     reporter.atNode(
       findNode.simple('x'),