Skip to content

Commit de9f149

Browse files
bwilkersonCommit Queue
authored andcommitted
Migrate inline_local
Change-Id: Id743d49f0691cb9f9b4415b234fdccad69a72c8f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/397102 Commit-Queue: Brian Wilkerson <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]>
1 parent 132ad35 commit de9f149

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

pkg/analysis_server/analyzer_use_new_elements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ lib/src/services/kythe/kythe_visitors.dart
5050
lib/src/services/refactoring/agnostic/change_method_signature.dart
5151
lib/src/services/refactoring/framework/formal_parameter.dart
5252
lib/src/services/refactoring/legacy/extract_method.dart
53-
lib/src/services/refactoring/legacy/inline_local.dart
5453
lib/src/services/refactoring/legacy/move_file.dart
5554
lib/src/services/refactoring/legacy/refactoring.dart
5655
lib/src/services/refactoring/legacy/refactoring_internal.dart

pkg/analysis_server/lib/src/services/refactoring/legacy/inline_local.dart

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import 'package:analysis_server_plugin/edit/correction_utils.dart';
1212
import 'package:analyzer/dart/analysis/results.dart';
1313
import 'package:analyzer/dart/ast/ast.dart';
1414
import 'package:analyzer/dart/ast/token.dart';
15-
import 'package:analyzer/dart/element/element.dart';
15+
import 'package:analyzer/dart/element/element2.dart';
1616
import 'package:analyzer/src/dart/analysis/session_helper.dart';
1717
import 'package:analyzer/src/dart/ast/utilities.dart';
1818
import 'package:analyzer/src/generated/java_core.dart';
@@ -41,7 +41,7 @@ class InlineLocalRefactoringImpl extends RefactoringImpl
4141

4242
@override
4343
String? get variableName {
44-
return _initialState?.element.name;
44+
return _initialState?.element.name3;
4545
}
4646

4747
@override
@@ -53,20 +53,22 @@ class InlineLocalRefactoringImpl extends RefactoringImpl
5353
@override
5454
Future<RefactoringStatus> checkInitialConditions() async {
5555
// prepare variable
56-
Element? element;
56+
Element2? element;
5757
var offsetNode = NodeLocator(offset).searchWithin(resolveResult.unit);
5858
if (offsetNode is SimpleIdentifier) {
59-
element = offsetNode.staticElement;
59+
element = offsetNode.element;
6060
} else if (offsetNode is VariableDeclaration) {
61-
element = offsetNode.declaredElement;
61+
element = offsetNode.declaredFragment?.element;
6262
}
6363

64-
if (element is! LocalVariableElement) {
64+
if (element is! LocalVariableElement2) {
6565
return _noLocalVariableStatus();
6666
}
6767

6868
var helper = AnalysisSessionHelper(resolveResult.session);
69-
var declarationResult = await helper.getElementDeclaration(element);
69+
var declarationResult = await helper.getElementDeclaration2(
70+
element.firstFragment,
71+
);
7072
var node = declarationResult?.node;
7173
if (node is! VariableDeclaration) {
7274
return _noLocalVariableStatus();
@@ -86,7 +88,7 @@ class InlineLocalRefactoringImpl extends RefactoringImpl
8688
return RefactoringStatus.fatal(message, newLocation_fromNode(node));
8789
}
8890
// prepare references
89-
var references = await searchEngine.searchReferences(element);
91+
var references = await searchEngine.searchReferences2(element);
9092
// should not have assignments
9193
for (var reference in references) {
9294
if (reference.kind != MatchKind.READ) {
@@ -114,14 +116,14 @@ class InlineLocalRefactoringImpl extends RefactoringImpl
114116
@override
115117
Future<SourceChange> createChange() {
116118
var change = SourceChange(refactoringName);
117-
var unitElement = resolveResult.unit.declaredElement!;
119+
var libraryFragment = resolveResult.unit.declaredFragment!;
118120
var state = _initialState!;
119121
// remove declaration
120122
{
121123
var range = utils.getLinesRangeStatements([state.declarationStatement]);
122-
doSourceChange_addElementEdit(
124+
doSourceChange_addFragmentEdit(
123125
change,
124-
unitElement,
126+
libraryFragment,
125127
newSourceEdit_range(range, ''),
126128
);
127129
}
@@ -160,9 +162,9 @@ class InlineLocalRefactoringImpl extends RefactoringImpl
160162
codeForReference = initializerCode;
161163
}
162164
// do replace
163-
doSourceChange_addElementEdit(
165+
doSourceChange_addFragmentEdit(
164166
change,
165-
unitElement,
167+
libraryFragment,
166168
newSourceEdit_range(editRange, codeForReference),
167169
);
168170
}
@@ -177,15 +179,15 @@ class InlineLocalRefactoringImpl extends RefactoringImpl
177179

178180
/// Checks if [offset] is a variable that can be inlined.
179181
RefactoringStatus _checkOffset() {
180-
Element? element;
182+
Element2? element;
181183
var offsetNode = NodeLocator(offset).searchWithin(resolveResult.unit);
182184
if (offsetNode is SimpleIdentifier) {
183-
element = offsetNode.staticElement;
185+
element = offsetNode.element;
184186
} else if (offsetNode is VariableDeclaration) {
185-
element = offsetNode.declaredElement;
187+
element = offsetNode.declaredFragment?.element;
186188
}
187189

188-
if (element is! LocalVariableElement) {
190+
if (element is! LocalVariableElement2) {
189191
return _noLocalVariableStatus();
190192
}
191193

@@ -256,7 +258,7 @@ class InlineLocalRefactoringImpl extends RefactoringImpl
256258
}
257259

258260
class _InitialState {
259-
final LocalVariableElement element;
261+
final LocalVariableElement2 element;
260262
final VariableDeclaration node;
261263
final Expression initializer;
262264
final VariableDeclarationStatement declarationStatement;

0 commit comments

Comments
 (0)