Skip to content

Commit 1711659

Browse files
scheglovcommit-bot@chromium.org
authored andcommitted
Replace findNodeAtOffset() and findNodeAtString() with FindNode.
[email protected], [email protected] Change-Id: I7058e347d504e7017e6229e520669d45602decd2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179369 Reviewed-by: Brian Wilkerson <[email protected]> Reviewed-by: Phil Quitslund <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent b1196f7 commit 1711659

File tree

7 files changed

+58
-88
lines changed

7 files changed

+58
-88
lines changed

pkg/analysis_server/test/abstract_single_unit.dart

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ import 'package:analyzer/dart/ast/ast.dart';
77
import 'package:analyzer/dart/element/element.dart';
88
import 'package:analyzer/error/error.dart';
99
import 'package:analyzer/file_system/file_system.dart';
10-
import 'package:analyzer/src/dart/ast/utilities.dart';
1110
import 'package:analyzer/src/dart/error/hint_codes.dart';
12-
import 'package:analyzer/src/generated/java_engine.dart';
1311
import 'package:analyzer/src/test_utilities/find_element.dart';
1412
import 'package:analyzer/src/test_utilities/find_node.dart';
1513
import 'package:analyzer/src/test_utilities/platform.dart';
@@ -52,19 +50,6 @@ class AbstractSingleUnitTest extends AbstractContextTest {
5250
return findOffset(search) + search.length;
5351
}
5452

55-
AstNode findNodeAtOffset(int offset, [Predicate<AstNode> predicate]) {
56-
var result = NodeLocator(offset).searchWithin(testUnit);
57-
if (result != null && predicate != null) {
58-
result = result.thisOrAncestorMatching(predicate);
59-
}
60-
return result;
61-
}
62-
63-
AstNode findNodeAtString(String search, [Predicate<AstNode> predicate]) {
64-
var offset = findOffset(search);
65-
return findNodeAtOffset(offset, predicate);
66-
}
67-
6853
int findOffset(String search) {
6954
var offset = testCode.indexOf(search);
7055
expect(offset, isNonNegative, reason: "Not found '$search' in\n$testCode");

pkg/analysis_server/test/services/correction/name_suggestion_test.dart

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analysis_server/src/services/correction/name_suggestion.dart';
6-
import 'package:analyzer/dart/ast/ast.dart';
76
import 'package:test/test.dart';
87
import 'package:test_reflective_loader/test_reflective_loader.dart';
98

@@ -25,7 +24,7 @@ main() {
2524
}
2625
''');
2726
var excluded = <String>{};
28-
var expr = findNodeAtString('as String', (node) => node is AsExpression);
27+
var expr = findNode.as_('as String');
2928
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
3029
unorderedEquals(['sortedNodes', 'nodes']));
3130
}
@@ -39,8 +38,7 @@ main() {
3938
''');
4039
var excluded = <String>{};
4140
var expectedType = findElement.localVar('node').type;
42-
Expression assignedExpression =
43-
findNodeAtString('null;', (node) => node is NullLiteral);
41+
var assignedExpression = findNode.nullLiteral('null;');
4442
var suggestions = getVariableNameSuggestionsForExpression(
4543
expectedType, assignedExpression, excluded);
4644
expect(suggestions, unorderedEquals(['treeNode', 'node']));
@@ -53,7 +51,7 @@ main() {
5351
}
5452
''');
5553
var expectedType = findElement.localVar('res').type;
56-
Expression assignedExpression = findNodeAtString('0.0;');
54+
var assignedExpression = findNode.doubleLiteral('0.0;');
5755
// first choice for "double" is "d"
5856
expect(
5957
getVariableNameSuggestionsForExpression(
@@ -73,7 +71,7 @@ main() {
7371
}
7472
''');
7573
var expectedType = findElement.localVar('res').type;
76-
Expression assignedExpression = findNodeAtString('0;');
74+
var assignedExpression = findNode.integerLiteral('0;');
7775
// first choice for "int" is "i"
7876
expect(
7977
getVariableNameSuggestionsForExpression(
@@ -93,7 +91,7 @@ main() {
9391
}
9492
''');
9593
var expectedType = findElement.localVar('res').type;
96-
Expression assignedExpression = findNodeAtString("'abc';");
94+
var assignedExpression = findNode.stringLiteral("'abc';");
9795
// first choice for "String" is "s"
9896
expect(
9997
getVariableNameSuggestionsForExpression(
@@ -110,7 +108,7 @@ class A {
110108
}
111109
''');
112110
var excluded = <String>{};
113-
var expr = findNodeAtString('new List');
111+
var expr = findNode.instanceCreation('new List');
114112
expect(
115113
getVariableNameSuggestionsForExpression(null, expr, excluded,
116114
isMethod: false),
@@ -129,7 +127,7 @@ main() {
129127
}
130128
''');
131129
var excluded = <String>{};
132-
var expr = findNodeAtString('topNodes[0]').parent;
130+
var expr = findNode.index('topNodes[0]');
133131
var names = getVariableNameSuggestionsForExpression(null, expr, excluded);
134132
expect(names, unorderedEquals(['topNode', 'node', 'object']));
135133
}
@@ -147,11 +145,11 @@ main(p) {
147145
var excluded = <String>{};
148146
expect(
149147
getVariableNameSuggestionsForExpression(
150-
null, findNodeAtString('new NoSuchClass()'), excluded),
148+
null, findNode.instanceCreation('new NoSuchClass()'), excluded),
151149
unorderedEquals(['noSuchClass', 'suchClass', 'class']));
152150
expect(
153-
getVariableNameSuggestionsForExpression(
154-
null, findNodeAtString('new NoSuchClass.named()'), excluded),
151+
getVariableNameSuggestionsForExpression(null,
152+
findNode.instanceCreation('new NoSuchClass.named()'), excluded),
155153
unorderedEquals(['noSuchClass', 'suchClass', 'class']));
156154
// TODO(scheglov) This test does not work.
157155
// In "p.NoSuchClass" the identifier "p" is not resolved to a PrefixElement.
@@ -172,17 +170,17 @@ main() {
172170
''');
173171
var excluded = <String>{};
174172
{
175-
var expr = findNodeAtString('111');
173+
var expr = findNode.integerLiteral('111');
176174
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
177175
unorderedEquals(['a']));
178176
}
179177
{
180-
var expr = findNodeAtString('222');
178+
var expr = findNode.integerLiteral('222');
181179
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
182180
unorderedEquals(['b']));
183181
}
184182
{
185-
var expr = findNodeAtString('333');
183+
var expr = findNode.integerLiteral('333');
186184
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
187185
unorderedEquals(['c']));
188186
}
@@ -197,17 +195,17 @@ main() {
197195
''');
198196
var excluded = <String>{};
199197
{
200-
var expr = findNodeAtString('111');
198+
var expr = findNode.integerLiteral('111');
201199
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
202200
unorderedEquals(['a']));
203201
}
204202
{
205-
var expr = findNodeAtString('222');
203+
var expr = findNode.integerLiteral('222');
206204
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
207205
unorderedEquals(['b']));
208206
}
209207
{
210-
var expr = findNodeAtString('333');
208+
var expr = findNode.integerLiteral('333');
211209
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
212210
unorderedEquals(['c']));
213211
}
@@ -222,12 +220,12 @@ main() {
222220
''');
223221
var excluded = <String>{};
224222
{
225-
var expr = findNodeAtString('111');
223+
var expr = findNode.integerLiteral('111');
226224
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
227225
unorderedEquals(['a']));
228226
}
229227
{
230-
var expr = findNodeAtString('222');
228+
var expr = findNode.integerLiteral('222');
231229
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
232230
unorderedEquals(['b']));
233231
}
@@ -240,7 +238,7 @@ main(p) {
240238
}
241239
''');
242240
var excluded = <String>{};
243-
var expr = findNodeAtString('p.get', (node) => node is MethodInvocation);
241+
var expr = findNode.methodInvocation('p.get');
244242
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
245243
unorderedEquals(['sortedNodes', 'nodes']));
246244
}
@@ -252,7 +250,7 @@ main(p) {
252250
}
253251
''');
254252
var excluded = <String>{};
255-
var expr = findNodeAtString('p.sorted', (node) => node is MethodInvocation);
253+
var expr = findNode.methodInvocation('p.sorted');
256254
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
257255
unorderedEquals(['sortedNodes', 'nodes']));
258256
}
@@ -264,7 +262,7 @@ main(p) {
264262
}
265263
''');
266264
var excluded = <String>{};
267-
var expr = findNodeAtString('p.get', (node) => node is MethodInvocation);
265+
var expr = findNode.methodInvocation('p.get');
268266
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
269267
unorderedEquals([]));
270268
}
@@ -278,9 +276,7 @@ main(p) {
278276
var excluded = <String>{};
279277
expect(
280278
getVariableNameSuggestionsForExpression(
281-
null,
282-
findNodeAtString('p.sorted', (node) => node is PrefixedIdentifier),
283-
excluded),
279+
null, findNode.prefixed('p.sorted'), excluded),
284280
unorderedEquals(['sortedNodes', 'nodes']));
285281
}
286282

@@ -294,15 +290,11 @@ main(p) {
294290
var excluded = <String>{};
295291
expect(
296292
getVariableNameSuggestionsForExpression(
297-
null,
298-
findNodeAtString('p._name', (node) => node is PrefixedIdentifier),
299-
excluded),
293+
null, findNode.prefixed('p._name'), excluded),
300294
unorderedEquals(['name']));
301295
expect(
302296
getVariableNameSuggestionsForExpression(
303-
null,
304-
findNodeAtString('p._compute', (node) => node is MethodInvocation),
305-
excluded),
297+
null, findNode.methodInvocation('p._compute'), excluded),
306298
unorderedEquals(['computeSuffix', 'suffix']));
307299
}
308300

@@ -313,8 +305,7 @@ main(p) {
313305
}
314306
''');
315307
var excluded = <String>{};
316-
PropertyAccess expression =
317-
findNodeAtString('p.q.sorted', (node) => node is PropertyAccess);
308+
var expression = findNode.propertyAccess('.sorted');
318309
expect(getVariableNameSuggestionsForExpression(null, expression, excluded),
319310
unorderedEquals(['sortedNodes', 'nodes']));
320311
}
@@ -327,7 +318,7 @@ main(p) {
327318
}
328319
''');
329320
var excluded = <String>{};
330-
var expr = findNodeAtString('sortedNodes;');
321+
var expr = findNode.simple('sortedNodes;');
331322
expect(getVariableNameSuggestionsForExpression(null, expr, excluded),
332323
unorderedEquals(['sortedNodes', 'nodes']));
333324
}
@@ -342,10 +333,7 @@ main(p) {
342333
var excluded = <String>{};
343334
expect(
344335
getVariableNameSuggestionsForExpression(
345-
null,
346-
findNodeAtString(
347-
'getSortedNodes();', (node) => node is MethodInvocation),
348-
excluded),
336+
null, findNode.methodInvocation('getSortedNodes();'), excluded),
349337
unorderedEquals(['sortedNodes', 'nodes']));
350338
}
351339

pkg/analysis_server/test/services/correction/status_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class RefactoringLocationTest extends AbstractSingleUnitTest {
6060
main() {
6161
}
6262
''');
63-
var node = findNodeAtString('main');
63+
var node = findNode.simple('main');
6464
// check
6565
var location = newLocation_fromNode(node);
6666
expect(location.file, testFile);

pkg/analysis_server/test/services/correction/util_test.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analysis_server/src/services/correction/util.dart';
6-
import 'package:analyzer/dart/ast/ast.dart';
76
import 'package:analyzer/src/generated/source.dart';
87
import 'package:analyzer_plugin/protocol/protocol_common.dart';
98
import 'package:analyzer_plugin/src/utilities/string_utilities.dart';
@@ -33,7 +32,7 @@ main() {
3332
}
3433
}
3534
''');
36-
IfStatement ifStatement = findNodeAtString('if (');
35+
var ifStatement = findNode.ifStatement('if (');
3736
var condition = ifStatement.condition;
3837
var result = CorrectionUtils(testAnalysisResult).invertCondition(condition);
3938
expect(result, expected);

pkg/analysis_server/test/services/refactoring/rename_import_test.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5-
import 'package:analyzer/dart/ast/ast.dart';
65
import 'package:analyzer_plugin/protocol/protocol_common.dart';
76
import 'package:test/test.dart';
87
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -225,8 +224,7 @@ main() {
225224
}
226225

227226
void _createRefactoring(String search) {
228-
ImportDirective directive =
229-
findNodeAtString(search, (node) => node is ImportDirective);
227+
var directive = findNode.import(search);
230228
createRenameRefactoringForElement(directive.element);
231229
}
232230
}

0 commit comments

Comments
 (0)