Skip to content

Commit ff956dc

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate many analyzer resolution tests.
Change-Id: Ied261a783756c5954d4363c4298201b8fc25e560 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/396381 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Phil Quitslund <[email protected]>
1 parent c7d0e32 commit ff956dc

17 files changed

+381
-224
lines changed

pkg/analyzer/analyzer_use_new_elements.txt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -238,25 +238,9 @@ test/src/dart/element/type_references_any_test.dart
238238
test/src/dart/element/type_visitor_test.dart
239239
test/src/dart/element/upper_lower_bound_test.dart
240240
test/src/dart/micro/simple_file_resolver_test.dart
241-
test/src/dart/resolution/ast_rewrite_test.dart
242-
test/src/dart/resolution/class_alias_test.dart
243-
test/src/dart/resolution/class_test.dart
244-
test/src/dart/resolution/comment_test.dart
245241
test/src/dart/resolution/constant_test.dart
246242
test/src/dart/resolution/context_collection_resolution.dart
247-
test/src/dart/resolution/enum_test.dart
248-
test/src/dart/resolution/field_test.dart
249-
test/src/dart/resolution/for_element_test.dart
250-
test/src/dart/resolution/function_body_test.dart
251-
test/src/dart/resolution/function_declaration_test.dart
252-
test/src/dart/resolution/generic_function_type_test.dart
253243
test/src/dart/resolution/generic_type_alias_test.dart
254-
test/src/dart/resolution/instance_member_inference_class_test.dart
255-
test/src/dart/resolution/instance_member_inference_mixin_test.dart
256-
test/src/dart/resolution/library_element_test.dart
257-
test/src/dart/resolution/library_export_test.dart
258-
test/src/dart/resolution/library_import_prefix_test.dart
259-
test/src/dart/resolution/local_function_test.dart
260244
test/src/dart/resolution/local_variable_test.dart
261245
test/src/dart/resolution/metadata_test.dart
262246
test/src/dart/resolution/prefix_element_test.dart

pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -719,8 +719,21 @@ f(A a) {
719719
}
720720
''');
721721

722-
var invocation = findNode.methodInvocation('foo();');
723-
assertElement(invocation, findElement.method('foo'));
722+
var node = findNode.methodInvocation('foo();');
723+
assertResolvedNodeText(node, r'''
724+
MethodInvocation
725+
operator: ..
726+
methodName: SimpleIdentifier
727+
token: foo
728+
staticElement: <testLibraryFragment>::@class::A::@method::foo
729+
element: <testLibraryFragment>::@class::A::@method::foo#element
730+
staticType: void Function()
731+
argumentList: ArgumentList
732+
leftParenthesis: (
733+
rightParenthesis: )
734+
staticInvokeType: void Function()
735+
staticType: void
736+
''');
724737
}
725738

726739
test_targetNull_class() async {
@@ -1427,8 +1440,31 @@ f() {
14271440
}
14281441
''');
14291442

1430-
var invocation = findNode.methodInvocation('foo(0);');
1431-
assertElement(invocation, findElement.method('foo'));
1443+
var node = findNode.methodInvocation('foo(0);');
1444+
assertResolvedNodeText(node, r'''
1445+
MethodInvocation
1446+
target: SimpleIdentifier
1447+
token: A
1448+
staticElement: <testLibraryFragment>::@class::A
1449+
element: <testLibrary>::@class::A
1450+
staticType: null
1451+
operator: .
1452+
methodName: SimpleIdentifier
1453+
token: foo
1454+
staticElement: <testLibraryFragment>::@class::A::@method::foo
1455+
element: <testLibraryFragment>::@class::A::@method::foo#element
1456+
staticType: void Function(int)
1457+
argumentList: ArgumentList
1458+
leftParenthesis: (
1459+
arguments
1460+
IntegerLiteral
1461+
literal: 0
1462+
parameter: <testLibraryFragment>::@class::A::@method::foo::@parameter::a
1463+
staticType: int
1464+
rightParenthesis: )
1465+
staticInvokeType: void Function(int)
1466+
staticType: void
1467+
''');
14321468
}
14331469

14341470
test_targetSimpleIdentifier_prefix_class() async {
@@ -1686,8 +1722,26 @@ void g() {
16861722
}
16871723
''');
16881724

1689-
var identifier = findNode.constructorReference('C.new');
1690-
assertElement(identifier, findElement.unnamedConstructor('C'));
1725+
var node = findNode.constructorReference('C.new');
1726+
assertResolvedNodeText(node, r'''
1727+
ConstructorReference
1728+
constructorName: ConstructorName
1729+
type: NamedType
1730+
name: C
1731+
element: <testLibraryFragment>::@class::C
1732+
element2: <testLibrary>::@class::C
1733+
type: null
1734+
period: .
1735+
name: SimpleIdentifier
1736+
token: new
1737+
staticElement: <testLibraryFragment>::@class::C::@constructor::new
1738+
element: <testLibraryFragment>::@class::C::@constructor::new#element
1739+
staticType: null
1740+
staticElement: <testLibraryFragment>::@class::C::@constructor::new
1741+
element: <testLibraryFragment>::@class::C::@constructor::new#element
1742+
parameter: <testLibraryFragment>::@setter::f::@parameter::_f
1743+
staticType: C Function()
1744+
''');
16911745
}
16921746

16931747
// TODO(srawlins): Complete tests of all cases of rewriting (or not) a

pkg/analyzer/test/src/dart/resolution/class_alias_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class X = Function with A;
7373
error(
7474
CompileTimeErrorCode.FINAL_CLASS_EXTENDED_OUTSIDE_OF_LIBRARY, 27, 8),
7575
]);
76-
var x = findElement.class_('X');
76+
var x = findElement2.class_('X');
7777
assertType(x.supertype, 'Object');
7878
}
7979

@@ -86,7 +86,7 @@ class X = Object with A implements A, Function, B;
8686
error(CompileTimeErrorCode.FINAL_CLASS_IMPLEMENTED_OUTSIDE_OF_LIBRARY, 66,
8787
8),
8888
]);
89-
var x = findElement.class_('X');
89+
var x = findElement2.class_('X');
9090
assertElementTypes(x.interfaces, ['A', 'B']);
9191
}
9292

@@ -98,7 +98,7 @@ class X = Object with A, Function, B;
9898
''', [
9999
error(CompileTimeErrorCode.CLASS_USED_AS_MIXIN, 59, 8),
100100
]);
101-
var x = findElement.class_('X');
101+
var x = findElement2.class_('X');
102102
assertElementTypes(x.mixins, ['A', 'B']);
103103
}
104104

pkg/analyzer/test/src/dart/resolution/class_test.dart

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,23 @@ class X5 extends A with B, C implements D, E {}
3131
''');
3232

3333
assertElementTypes(
34-
findElement.class_('X1').allSupertypes,
34+
findElement2.class_('X1').allSupertypes,
3535
['Object', 'A'],
3636
);
3737
assertElementTypes(
38-
findElement.class_('X2').allSupertypes,
38+
findElement2.class_('X2').allSupertypes,
3939
['Object', 'B'],
4040
);
4141
assertElementTypes(
42-
findElement.class_('X3').allSupertypes,
42+
findElement2.class_('X3').allSupertypes,
4343
['Object', 'A', 'B'],
4444
);
4545
assertElementTypes(
46-
findElement.class_('X4').allSupertypes,
46+
findElement2.class_('X4').allSupertypes,
4747
['Object', 'A', 'B', 'C'],
4848
);
4949
assertElementTypes(
50-
findElement.class_('X5').allSupertypes,
50+
findElement2.class_('X5').allSupertypes,
5151
['Object', 'A', 'B', 'C', 'D', 'E'],
5252
);
5353
}
@@ -64,15 +64,15 @@ class X3 extends C<double> {}
6464
''');
6565

6666
assertElementTypes(
67-
findElement.class_('X1').allSupertypes,
67+
findElement2.class_('X1').allSupertypes,
6868
['Object', 'A<String>'],
6969
);
7070
assertElementTypes(
71-
findElement.class_('X2').allSupertypes,
71+
findElement2.class_('X2').allSupertypes,
7272
['Object', 'B<String, List<int>>'],
7373
);
7474
assertElementTypes(
75-
findElement.class_('X3').allSupertypes,
75+
findElement2.class_('X3').allSupertypes,
7676
['Object', 'B<int, double>', 'C<double>'],
7777
);
7878
}
@@ -91,7 +91,7 @@ class X extends A {}
9191
]);
9292

9393
assertElementTypes(
94-
findElement.class_('X').allSupertypes,
94+
findElement2.class_('X').allSupertypes,
9595
['A', 'B', 'C'],
9696
);
9797
}
@@ -103,7 +103,7 @@ class A extends Function {}
103103
error(
104104
CompileTimeErrorCode.FINAL_CLASS_EXTENDED_OUTSIDE_OF_LIBRARY, 16, 8),
105105
]);
106-
var a = findElement.class_('A');
106+
var a = findElement2.class_('A');
107107
assertType(a.supertype, 'Object');
108108
}
109109

@@ -114,7 +114,7 @@ class A extends Function {}
114114
''', [
115115
error(WarningCode.DEPRECATED_EXTENDS_FUNCTION, 32, 8),
116116
]);
117-
var a = findElement.class_('A');
117+
var a = findElement2.class_('A');
118118
assertType(a.supertype, 'Object');
119119
}
120120

@@ -128,7 +128,7 @@ class C extends Object with A, Function, B {}
128128
]);
129129

130130
assertElementTypes(
131-
findElement.class_('C').mixins,
131+
findElement2.class_('C').mixins,
132132
['A', 'B'],
133133
);
134134
}
@@ -144,7 +144,7 @@ class C extends Object with A, Function, B {}
144144
]);
145145

146146
assertElementTypes(
147-
findElement.class_('C').mixins,
147+
findElement2.class_('C').mixins,
148148
['A', 'B'],
149149
);
150150
}

pkg/analyzer/test/src/dart/resolution/comment_test.dart

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1639,10 +1639,14 @@ CommentReference
16391639
foo(int p) {}
16401640
''');
16411641

1642-
assertElement(
1643-
findNode.simple('p]'),
1644-
findElement.parameter('p'),
1645-
);
1642+
var node = findNode.simple('p]');
1643+
assertResolvedNodeText(node, r'''
1644+
SimpleIdentifier
1645+
token: p
1646+
staticElement: <testLibraryFragment>::@function::foo::@parameter::p
1647+
element: <testLibraryFragment>::@function::foo::@parameter::p#element
1648+
staticType: null
1649+
''');
16461650
}
16471651

16481652
test_beforeFunction_expressionBody() async {
@@ -1717,7 +1721,14 @@ CommentReference
17171721
get g => null;
17181722
''');
17191723

1720-
assertElement(findNode.simple('int]'), intElement);
1724+
var node = findNode.simple('int]');
1725+
assertResolvedNodeText(node, r'''
1726+
SimpleIdentifier
1727+
token: int
1728+
staticElement: dart:core::<fragment>::@class::int
1729+
element: dart:core::@class::int
1730+
staticType: null
1731+
''');
17211732
}
17221733

17231734
test_beforeMethod() async {

pkg/analyzer/test/src/dart/resolution/enum_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ enum E2 {a, b}
398398
var v = [E1.a, E2.b];
399399
''');
400400

401-
var v = findElement.topVar('v');
401+
var v = findElement2.topVar('v');
402402
assertType(v.type, 'List<Enum>');
403403
}
404404

@@ -430,10 +430,10 @@ enum E {
430430
}
431431
''');
432432

433-
expect(findElement.field('a').isEnumConstant, isTrue);
434-
expect(findElement.field('b').isEnumConstant, isTrue);
433+
expect(findElement2.field('a').isEnumConstant, isTrue);
434+
expect(findElement2.field('b').isEnumConstant, isTrue);
435435

436-
expect(findElement.field('values').isEnumConstant, isFalse);
436+
expect(findElement2.field('values').isEnumConstant, isFalse);
437437
}
438438

439439
test_method() async {

pkg/analyzer/test/src/dart/resolution/field_test.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,10 @@ class A {
223223
var f = 0;
224224
}
225225
''');
226-
var getter = findElement.getter('f');
226+
var getter = findElement2.getter('f');
227227
expect(getter.session, result.session);
228228

229-
var setter = findElement.setter('f');
229+
var setter = findElement2.setter('f');
230230
expect(setter.session, result.session);
231231
}
232232

@@ -236,7 +236,7 @@ class A {
236236
var f = 0;
237237
}
238238
''');
239-
assertType(findElement.field('f').type, 'int');
239+
assertType(findElement2.field('f').type, 'int');
240240
}
241241

242242
test_type_inferred_Never() async {
@@ -245,7 +245,7 @@ class A {
245245
var f = throw 42;
246246
}
247247
''');
248-
assertType(findElement.field('f').type, 'Never');
248+
assertType(findElement2.field('f').type, 'Never');
249249
}
250250

251251
test_type_inferred_noInitializer() async {
@@ -254,7 +254,7 @@ class A {
254254
var f;
255255
}
256256
''');
257-
assertType(findElement.field('f').type, 'dynamic');
257+
assertType(findElement2.field('f').type, 'dynamic');
258258
}
259259

260260
test_type_inferred_null() async {
@@ -263,7 +263,7 @@ class A {
263263
var f = null;
264264
}
265265
''');
266-
assertType(findElement.field('f').type, 'dynamic');
266+
assertType(findElement2.field('f').type, 'dynamic');
267267
}
268268

269269
test_type_scope() async {

0 commit comments

Comments
 (0)