Skip to content

Commit dc2b368

Browse files
FMorschelCommit Queue
authored andcommitted
[DAS] Fixes refactor rename wrong conflict error
Fixes: #60315 Change-Id: I1974580be8805dd83c9d2895860fb6eed825ccca Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415941 Auto-Submit: Felipe Morschel <[email protected]> Commit-Queue: Brian Wilkerson <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Reviewed-by: Phil Quitslund <[email protected]>
1 parent 22c14cd commit dc2b368

File tree

2 files changed

+27
-9
lines changed

2 files changed

+27
-9
lines changed

pkg/analysis_server/lib/src/services/search/hierarchy.dart

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import 'package:analyzer/src/util/performance/operation_performance.dart';
1111
List<Element2> getChildren(Element2 parent, [String? name]) {
1212
var children = <Element2>[];
1313
visitChildren(parent, (element) {
14-
if (name == null || _getBaseName(element) == name) {
14+
if (name == null || element.name3 == name) {
1515
children.add(element);
1616
}
1717
return false;
@@ -278,14 +278,6 @@ Element2 getSyntheticAccessorVariable(Element2 element) {
278278
return element;
279279
}
280280

281-
String? _getBaseName(Element2 element) {
282-
if (element is SetterElement) {
283-
var name = element.name3;
284-
return name?.substring(0, name.length - 1);
285-
}
286-
return element.name3;
287-
}
288-
289281
extension on MethodElement2 {
290282
int? parameterIndex(FormalParameterElement parameter) {
291283
var index = 0;

pkg/analysis_server/test/services/refactoring/legacy/rename_class_member_test.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1590,6 +1590,32 @@ class Sub2 extends Base {
15901590
}
15911591
''');
15921592
}
1593+
1594+
Future<void> test_trailingNumber_add() async {
1595+
await indexTestUnit('''
1596+
class A {
1597+
int? foo;
1598+
}
1599+
''');
1600+
createRenameRefactoringAtString('foo');
1601+
// check status
1602+
refactoring.newName = 'foo2';
1603+
var status = await refactoring.checkFinalConditions();
1604+
assertRefactoringStatusOK(status);
1605+
}
1606+
1607+
Future<void> test_trailingNumber_remove() async {
1608+
await indexTestUnit('''
1609+
class A {
1610+
int? foo2;
1611+
}
1612+
''');
1613+
createRenameRefactoringAtString('foo2');
1614+
// check status
1615+
refactoring.newName = 'foo';
1616+
var status = await refactoring.checkFinalConditions();
1617+
assertRefactoringStatusOK(status);
1618+
}
15931619
}
15941620

15951621
@reflectiveTest

0 commit comments

Comments
 (0)