@@ -15,7 +15,7 @@ main() {
1515
1616@reflectiveTest
1717class ImplicitThisReferenceInInitializerTest extends DriverResolutionTest {
18- test_implicitThisReferenceInInitializer_constructorName () async {
18+ test_constructorName () async {
1919 await assertNoErrorsInCode (r'''
2020class A {
2121 A.named() {}
@@ -27,7 +27,7 @@ class B {
2727''' );
2828 }
2929
30- test_implicitThisReferenceInInitializer_field () async {
30+ test_field () async {
3131 await assertErrorsInCode (r'''
3232class A {
3333 var v;
@@ -39,7 +39,7 @@ class A {
3939 ]);
4040 }
4141
42- test_implicitThisReferenceInInitializer_field2 () async {
42+ test_field2 () async {
4343 await assertErrorsInCode (r'''
4444class A {
4545 final x = 0;
@@ -51,7 +51,7 @@ class A {
5151 ]);
5252 }
5353
54- test_implicitThisReferenceInInitializer_invocation () async {
54+ test_invocation () async {
5555 await assertErrorsInCode (r'''
5656class A {
5757 var v;
@@ -63,7 +63,7 @@ class A {
6363 ]);
6464 }
6565
66- test_implicitThisReferenceInInitializer_invocationInStatic () async {
66+ test_invocationInStatic () async {
6767 await assertErrorsInCode (r'''
6868class A {
6969 static var F = m();
@@ -74,7 +74,29 @@ class A {
7474 ]);
7575 }
7676
77- test_implicitThisReferenceInInitializer_prefixedIdentifier () async {
77+ test_isInInstanceVariableInitializer_restored () async {
78+ // If ErrorVerifier._isInInstanceVariableInitializer is not properly
79+ // restored on exit from visitVariableDeclaration, the error at (1)
80+ // won't be detected.
81+ await assertErrorsInCode (r'''
82+ class Foo {
83+ var bar;
84+ Map foo = {
85+ 'bar': () {
86+ var _bar;
87+ },
88+ 'bop': _foo // (1)
89+ };
90+ _foo() {
91+ }
92+ }
93+ ''' , [
94+ error (HintCode .UNUSED_LOCAL_VARIABLE , 65 , 4 ),
95+ error (CompileTimeErrorCode .IMPLICIT_THIS_REFERENCE_IN_INITIALIZER , 89 , 4 ),
96+ ]);
97+ }
98+
99+ test_prefixedIdentifier () async {
78100 await assertNoErrorsInCode (r'''
79101class A {
80102 var f;
@@ -86,7 +108,7 @@ class B {
86108''' );
87109 }
88110
89- test_implicitThisReferenceInInitializer_qualifiedMethodInvocation () async {
111+ test_qualifiedMethodInvocation () async {
90112 await assertNoErrorsInCode (r'''
91113class A {
92114 f() {}
@@ -98,7 +120,7 @@ class B {
98120''' );
99121 }
100122
101- test_implicitThisReferenceInInitializer_qualifiedPropertyAccess () async {
123+ test_qualifiedPropertyAccess () async {
102124 await assertNoErrorsInCode (r'''
103125class A {
104126 var f;
@@ -110,7 +132,7 @@ class B {
110132''' );
111133 }
112134
113- test_implicitThisReferenceInInitializer_redirectingConstructorInvocation () async {
135+ test_redirectingConstructorInvocation () async {
114136 await assertErrorsInCode (r'''
115137class A {
116138 A(p) {}
@@ -122,7 +144,7 @@ class A {
122144 ]);
123145 }
124146
125- test_implicitThisReferenceInInitializer_staticField_thisClass () async {
147+ test_staticField_thisClass () async {
126148 await assertNoErrorsInCode (r'''
127149class A {
128150 var v;
@@ -132,7 +154,7 @@ class A {
132154''' );
133155 }
134156
135- test_implicitThisReferenceInInitializer_staticGetter () async {
157+ test_staticGetter () async {
136158 await assertNoErrorsInCode (r'''
137159class A {
138160 var v;
@@ -142,7 +164,7 @@ class A {
142164''' );
143165 }
144166
145- test_implicitThisReferenceInInitializer_staticMethod () async {
167+ test_staticMethod () async {
146168 await assertNoErrorsInCode (r'''
147169class A {
148170 var v;
@@ -152,7 +174,7 @@ class A {
152174''' );
153175 }
154176
155- test_implicitThisReferenceInInitializer_superConstructorInvocation () async {
177+ test_superConstructorInvocation () async {
156178 await assertErrorsInCode (r'''
157179class A {
158180 A(p) {}
@@ -166,7 +188,7 @@ class B extends A {
166188 ]);
167189 }
168190
169- test_implicitThisReferenceInInitializer_topLevelField () async {
191+ test_topLevelField () async {
170192 await assertNoErrorsInCode (r'''
171193class A {
172194 var v;
@@ -176,7 +198,7 @@ var f = 42;
176198''' );
177199 }
178200
179- test_implicitThisReferenceInInitializer_topLevelFunction () async {
201+ test_topLevelFunction () async {
180202 await assertNoErrorsInCode (r'''
181203class A {
182204 var v;
@@ -186,7 +208,7 @@ f() => 42;
186208''' );
187209 }
188210
189- test_implicitThisReferenceInInitializer_topLevelGetter () async {
211+ test_topLevelGetter () async {
190212 await assertNoErrorsInCode (r'''
191213class A {
192214 var v;
@@ -196,34 +218,12 @@ get f => 42;
196218''' );
197219 }
198220
199- test_implicitThisReferenceInInitializer_typeParameter () async {
221+ test_typeParameter () async {
200222 await assertNoErrorsInCode (r'''
201223class A<T> {
202224 var v;
203225 A(p) : v = (p is T);
204226}
205227''' );
206228 }
207-
208- test_isInInstanceVariableInitializer_restored () async {
209- // If ErrorVerifier._isInInstanceVariableInitializer is not properly
210- // restored on exit from visitVariableDeclaration, the error at (1)
211- // won't be detected.
212- await assertErrorsInCode (r'''
213- class Foo {
214- var bar;
215- Map foo = {
216- 'bar': () {
217- var _bar;
218- },
219- 'bop': _foo // (1)
220- };
221- _foo() {
222- }
223- }
224- ''' , [
225- error (HintCode .UNUSED_LOCAL_VARIABLE , 65 , 4 ),
226- error (CompileTimeErrorCode .IMPLICIT_THIS_REFERENCE_IN_INITIALIZER , 89 , 4 ),
227- ]);
228- }
229229}
0 commit comments