File tree Expand file tree Collapse file tree 6 files changed +39
-14
lines changed
lib/src/services/refactoring/legacy
test/services/refactoring/legacy Expand file tree Collapse file tree 6 files changed +39
-14
lines changed Original file line number Diff line number Diff line change @@ -32,8 +32,5 @@ test/abstract_single_unit.dart
3232test/plugin/protocol_dart_test.dart
3333test/services/correction/status_test.dart
3434test/services/refactoring/legacy/abstract_rename.dart
35- test/services/refactoring/legacy/rename_class_member_test.dart
36- test/services/refactoring/legacy/rename_constructor_test.dart
3735test/services/refactoring/legacy/rename_import_test.dart
38- test/services/refactoring/legacy/rename_library_test.dart
3936test/services/search/element_visitors_test.dart
Original file line number Diff line number Diff line change @@ -535,6 +535,18 @@ abstract class RenameRefactoring implements Refactoring {
535535 return null ;
536536 }
537537
538+ /// Returns a new [RenameRefactoring] instance for renaming the [element] .
539+ ///
540+ /// Returns `null` if there is no support for renaming elements of the given
541+ /// kind.
542+ static RenameRefactoring ? create2 (
543+ RefactoringWorkspace workspace,
544+ ResolvedUnitResult resolvedUnit,
545+ Element2 ? element,
546+ ) {
547+ return create (workspace, resolvedUnit, element.asElement);
548+ }
549+
538550 /// Given a node/element, finds the best element to rename (for example
539551 /// the class when on the `new` keyword).
540552 static RenameRefactoringElement ? getElementToRename (
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import 'package:analysis_server/src/services/correction/namespace.dart';
66import 'package:analysis_server/src/services/refactoring/legacy/refactoring.dart' ;
77import 'package:analyzer/dart/ast/ast.dart' ;
88import 'package:analyzer/dart/element/element.dart' ;
9+ import 'package:analyzer/dart/element/element2.dart' ;
910import 'package:analyzer/src/dart/ast/element_locator.dart' ;
1011import 'package:analyzer_plugin/protocol/protocol_common.dart' hide Element;
1112import 'package:test/test.dart' ;
@@ -63,6 +64,21 @@ class RenameRefactoringTest extends RefactoringTest {
6364 this .refactoring = refactoring;
6465 }
6566
67+ /// Creates a new [RenameRefactoring] in [refactoring] for [element] .
68+ /// Fails if no [RenameRefactoring] can be created.
69+ void createRenameRefactoringForElement2 (Element2 ? element) {
70+ var workspace = RefactoringWorkspace ([driverFor (testFile)], searchEngine);
71+ var refactoring = RenameRefactoring .create2 (
72+ workspace,
73+ testAnalysisResult,
74+ element,
75+ );
76+ if (refactoring == null ) {
77+ fail ("No refactoring for '$element '." );
78+ }
79+ this .refactoring = refactoring;
80+ }
81+
6682 /// Returns the [Edit] with the given [id] , maybe `null` .
6783 SourceEdit findEditById (String id) {
6884 for (var fileEdit in refactoringChange.edits) {
Original file line number Diff line number Diff line change @@ -1706,8 +1706,8 @@ void f() {
17061706}
17071707''' );
17081708 // configure refactoring
1709- var element = findElement .field ('field' );
1710- createRenameRefactoringForElement (element);
1709+ var element = findElement2 .field ('field' );
1710+ createRenameRefactoringForElement2 (element);
17111711 expect (refactoring.refactoringName, 'Rename Field' );
17121712 expect (refactoring.oldName, 'field' );
17131713 refactoring.newName = '_field' ;
@@ -1736,8 +1736,8 @@ void f() {
17361736}
17371737''' );
17381738 // configure refactoring
1739- var element = findElement .field ('field' );
1740- createRenameRefactoringForElement (element);
1739+ var element = findElement2 .field ('field' );
1740+ createRenameRefactoringForElement2 (element);
17411741 expect (refactoring.refactoringName, 'Rename Field' );
17421742 expect (refactoring.oldName, 'field' );
17431743 refactoring.newName = '_field' ;
Original file line number Diff line number Diff line change @@ -669,8 +669,8 @@ enum E {
669669
670670 void _createEnumConstantRefactoring (String search) {
671671 var enumConstant = findNode.enumConstantDeclaration (search);
672- var element = enumConstant.constructorElement ;
673- createRenameRefactoringForElement (element);
672+ var element = enumConstant.constructorElement2 ;
673+ createRenameRefactoringForElement2 (element);
674674 }
675675}
676676
@@ -937,13 +937,13 @@ void f() {
937937
938938class _RenameConstructorTest extends RenameRefactoringTest {
939939 void _createConstructorDeclarationRefactoring (String search) {
940- var element = findNode.constructor (search).declaredElement ;
941- createRenameRefactoringForElement (element);
940+ var element = findNode.constructor (search).declaredFragment ? .element ;
941+ createRenameRefactoringForElement2 (element);
942942 }
943943
944944 void _createConstructorInvocationRefactoring (String search) {
945945 var instanceCreation = findNode.instanceCreation (search);
946- var element = instanceCreation.constructorName.staticElement ;
947- createRenameRefactoringForElement (element);
946+ var element = instanceCreation.constructorName.element ;
947+ createRenameRefactoringForElement2 (element);
948948 }
949949}
Original file line number Diff line number Diff line change @@ -93,6 +93,6 @@ part of the.new.name;
9393 }
9494
9595 void _createRenameRefactoring () {
96- createRenameRefactoringForElement (testUnitElement.library );
96+ createRenameRefactoringForElement2 (testLibraryElement2 );
9797 }
9898}
You can’t perform that action at this time.
0 commit comments