Migrate 3 rename refactor tests

Change-Id: I3c7943d4219ae5a228e0cb022d319ef3ec38803c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/400001
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/analyzer_use_new_elements.txt b/pkg/analysis_server/analyzer_use_new_elements.txt
index 57834b6..469a871 100644
--- a/pkg/analysis_server/analyzer_use_new_elements.txt
+++ b/pkg/analysis_server/analyzer_use_new_elements.txt
@@ -32,8 +32,5 @@
 test/plugin/protocol_dart_test.dart
 test/services/correction/status_test.dart
 test/services/refactoring/legacy/abstract_rename.dart
-test/services/refactoring/legacy/rename_class_member_test.dart
-test/services/refactoring/legacy/rename_constructor_test.dart
 test/services/refactoring/legacy/rename_import_test.dart
-test/services/refactoring/legacy/rename_library_test.dart
 test/services/search/element_visitors_test.dart
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 829b05b..0ee171b8 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/legacy/refactoring.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/legacy/refactoring.dart
@@ -535,6 +535,18 @@
     return null;
   }
 
+  /// Returns a new [RenameRefactoring] instance for renaming the [element].
+  ///
+  /// Returns `null` if there is no support for renaming elements of the given
+  /// kind.
+  static RenameRefactoring? create2(
+    RefactoringWorkspace workspace,
+    ResolvedUnitResult resolvedUnit,
+    Element2? element,
+  ) {
+    return create(workspace, resolvedUnit, element.asElement);
+  }
+
   /// Given a node/element, finds the best element to rename (for example
   /// the class when on the `new` keyword).
   static RenameRefactoringElement? getElementToRename(
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 7532878..10fac2c 100644
--- a/pkg/analysis_server/test/services/refactoring/legacy/abstract_rename.dart
+++ b/pkg/analysis_server/test/services/refactoring/legacy/abstract_rename.dart
@@ -6,6 +6,7 @@
 import 'package:analysis_server/src/services/refactoring/legacy/refactoring.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_plugin/protocol/protocol_common.dart' hide Element;
 import 'package:test/test.dart';
@@ -63,6 +64,21 @@
     this.refactoring = refactoring;
   }
 
+  /// Creates a new [RenameRefactoring] in [refactoring] for [element].
+  /// Fails if no [RenameRefactoring] can be created.
+  void createRenameRefactoringForElement2(Element2? element) {
+    var workspace = RefactoringWorkspace([driverFor(testFile)], searchEngine);
+    var refactoring = RenameRefactoring.create2(
+      workspace,
+      testAnalysisResult,
+      element,
+    );
+    if (refactoring == null) {
+      fail("No refactoring for '$element'.");
+    }
+    this.refactoring = refactoring;
+  }
+
   /// Returns the [Edit] with the given [id], maybe `null`.
   SourceEdit findEditById(String id) {
     for (var fileEdit in refactoringChange.edits) {
diff --git a/pkg/analysis_server/test/services/refactoring/legacy/rename_class_member_test.dart b/pkg/analysis_server/test/services/refactoring/legacy/rename_class_member_test.dart
index 88f33b1..7e742cb 100644
--- a/pkg/analysis_server/test/services/refactoring/legacy/rename_class_member_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/legacy/rename_class_member_test.dart
@@ -1706,8 +1706,8 @@
 }
 ''');
     // configure refactoring
-    var element = findElement.field('field');
-    createRenameRefactoringForElement(element);
+    var element = findElement2.field('field');
+    createRenameRefactoringForElement2(element);
     expect(refactoring.refactoringName, 'Rename Field');
     expect(refactoring.oldName, 'field');
     refactoring.newName = '_field';
@@ -1736,8 +1736,8 @@
 }
 ''');
     // configure refactoring
-    var element = findElement.field('field');
-    createRenameRefactoringForElement(element);
+    var element = findElement2.field('field');
+    createRenameRefactoringForElement2(element);
     expect(refactoring.refactoringName, 'Rename Field');
     expect(refactoring.oldName, 'field');
     refactoring.newName = '_field';
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 bbb5de5..3a9e63e 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,8 +669,8 @@
 
   void _createEnumConstantRefactoring(String search) {
     var enumConstant = findNode.enumConstantDeclaration(search);
-    var element = enumConstant.constructorElement;
-    createRenameRefactoringForElement(element);
+    var element = enumConstant.constructorElement2;
+    createRenameRefactoringForElement2(element);
   }
 }
 
@@ -937,13 +937,13 @@
 
 class _RenameConstructorTest extends RenameRefactoringTest {
   void _createConstructorDeclarationRefactoring(String search) {
-    var element = findNode.constructor(search).declaredElement;
-    createRenameRefactoringForElement(element);
+    var element = findNode.constructor(search).declaredFragment?.element;
+    createRenameRefactoringForElement2(element);
   }
 
   void _createConstructorInvocationRefactoring(String search) {
     var instanceCreation = findNode.instanceCreation(search);
-    var element = instanceCreation.constructorName.staticElement;
-    createRenameRefactoringForElement(element);
+    var element = instanceCreation.constructorName.element;
+    createRenameRefactoringForElement2(element);
   }
 }
diff --git a/pkg/analysis_server/test/services/refactoring/legacy/rename_library_test.dart b/pkg/analysis_server/test/services/refactoring/legacy/rename_library_test.dart
index 20f086b..d8c440b 100644
--- a/pkg/analysis_server/test/services/refactoring/legacy/rename_library_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/legacy/rename_library_test.dart
@@ -93,6 +93,6 @@
   }
 
   void _createRenameRefactoring() {
-    createRenameRefactoringForElement(testUnitElement.library);
+    createRenameRefactoringForElement2(testLibraryElement2);
   }
 }