Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library engine.resolver_test; | 5 library engine.resolver_test; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 import 'package:analyzer/src/generated/java_core.dart'; | 8 import 'package:analyzer/src/generated/java_core.dart'; |
| 9 import 'package:analyzer/src/generated/java_engine.dart'; | 9 import 'package:analyzer/src/generated/java_engine.dart'; |
| 10 import 'package:analyzer/src/generated/java_engine_io.dart'; | 10 import 'package:analyzer/src/generated/java_engine_io.dart'; |
| (...skipping 3322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3333 static m() {} | 3333 static m() {} |
| 3334 } | 3334 } |
| 3335 main() { | 3335 main() { |
| 3336 _A.m(); | 3336 _A.m(); |
| 3337 }'''); | 3337 }'''); |
| 3338 resolve(source); | 3338 resolve(source); |
| 3339 assertNoErrors(source); | 3339 assertNoErrors(source); |
| 3340 verify([source]); | 3340 verify([source]); |
| 3341 } | 3341 } |
| 3342 | 3342 |
| 3343 void test_unusedElement_getter_notUsed_noReference() { | |
| 3344 enableUnusedElement = true; | |
| 3345 Source source = addSource(r''' | |
| 3346 class A { | |
| 3347 get _g => null; | |
| 3348 }'''); | |
| 3349 resolve(source); | |
| 3350 assertErrors(source, [HintCode.UNUSED_ELEMENT]); | |
| 3351 verify([source]); | |
| 3352 } | |
| 3353 | |
| 3354 void test_unusedElement_getter_notUsed_referenceFromItself() { | |
| 3355 enableUnusedElement = true; | |
| 3356 Source source = addSource(r''' | |
| 3357 class A { | |
| 3358 get _g { | |
| 3359 return _g; | |
| 3360 } | |
| 3361 }'''); | |
| 3362 resolve(source); | |
| 3363 assertErrors(source, [HintCode.UNUSED_ELEMENT]); | |
| 3364 verify([source]); | |
| 3365 } | |
| 3366 | |
| 3367 void test_unusedElement_getter_isUsed_invocation_implicitThis() { | |
| 3368 enableUnusedElement = true; | |
| 3369 Source source = addSource(r''' | |
| 3370 class A { | |
| 3371 get _g => null; | |
| 3372 useGetter() { | |
| 3373 var v = _g; | |
|
Brian Wilkerson
2014/11/13 17:12:34
I assume that we will eventually generate a hint f
scheglov
2014/11/13 17:14:43
We have a lot of tests like this, that don't use d
| |
| 3374 } | |
| 3375 }'''); | |
| 3376 resolve(source); | |
| 3377 assertNoErrors(source); | |
| 3378 verify([source]); | |
| 3379 } | |
| 3380 | |
| 3381 void test_unusedElement_getter_isUsed_invocation_PrefixedIdentifier() { | |
| 3382 enableUnusedElement = true; | |
| 3383 Source source = addSource(r''' | |
| 3384 class A { | |
| 3385 get _g => null; | |
| 3386 } | |
| 3387 main(A a) { | |
| 3388 var v = a._g; | |
| 3389 } | |
| 3390 '''); | |
| 3391 resolve(source); | |
| 3392 assertNoErrors(source); | |
| 3393 verify([source]); | |
| 3394 } | |
| 3395 | |
| 3396 void test_unusedElement_getter_isUsed_invocation_PropertyAccess() { | |
| 3397 enableUnusedElement = true; | |
| 3398 Source source = addSource(r''' | |
| 3399 class A { | |
| 3400 get _g => null; | |
| 3401 } | |
| 3402 main() { | |
| 3403 var v = new A()._g; | |
| 3404 } | |
| 3405 '''); | |
| 3406 resolve(source); | |
| 3407 assertNoErrors(source); | |
| 3408 verify([source]); | |
| 3409 } | |
| 3410 | |
| 3411 void test_unusedElement_setter_notUsed_noReference() { | |
| 3412 enableUnusedElement = true; | |
| 3413 Source source = addSource(r''' | |
| 3414 class A { | |
| 3415 set _s(x) {} | |
| 3416 }'''); | |
| 3417 resolve(source); | |
| 3418 assertErrors(source, [HintCode.UNUSED_ELEMENT]); | |
| 3419 verify([source]); | |
| 3420 } | |
| 3421 | |
| 3422 void test_unusedElement_setter_notUsed_referenceFromItself() { | |
| 3423 enableUnusedElement = true; | |
| 3424 Source source = addSource(r''' | |
| 3425 class A { | |
| 3426 set _s(int x) { | |
| 3427 if (x > 5) { | |
| 3428 _s = x - 1; | |
| 3429 } | |
| 3430 } | |
| 3431 }'''); | |
| 3432 resolve(source); | |
| 3433 assertErrors(source, [HintCode.UNUSED_ELEMENT]); | |
| 3434 verify([source]); | |
| 3435 } | |
| 3436 | |
| 3437 void test_unusedElement_setter_isUsed_invocation_implicitThis() { | |
| 3438 enableUnusedElement = true; | |
| 3439 Source source = addSource(r''' | |
| 3440 class A { | |
| 3441 set _s(x) {} | |
| 3442 useSetter() { | |
| 3443 _s = 42; | |
| 3444 } | |
| 3445 }'''); | |
| 3446 resolve(source); | |
| 3447 assertNoErrors(source); | |
| 3448 verify([source]); | |
| 3449 } | |
| 3450 | |
| 3451 void test_unusedElement_setter_isUsed_invocation_PrefixedIdentifier() { | |
| 3452 enableUnusedElement = true; | |
| 3453 Source source = addSource(r''' | |
| 3454 class A { | |
| 3455 set _s(x) {} | |
| 3456 } | |
| 3457 main(A a) { | |
| 3458 a._s = 42; | |
| 3459 } | |
| 3460 '''); | |
| 3461 resolve(source); | |
| 3462 assertNoErrors(source); | |
| 3463 verify([source]); | |
| 3464 } | |
| 3465 | |
| 3466 void test_unusedElement_setter_isUsed_invocation_PropertyAccess() { | |
| 3467 enableUnusedElement = true; | |
| 3468 Source source = addSource(r''' | |
| 3469 class A { | |
| 3470 set _s(x) {} | |
| 3471 } | |
| 3472 main() { | |
| 3473 new A()._s = 42; | |
| 3474 } | |
| 3475 '''); | |
| 3476 resolve(source); | |
| 3477 assertNoErrors(source); | |
| 3478 verify([source]); | |
| 3479 } | |
| 3480 | |
| 3343 void test_unusedElement_method_notUsed_noReference() { | 3481 void test_unusedElement_method_notUsed_noReference() { |
| 3344 enableUnusedElement = true; | 3482 enableUnusedElement = true; |
| 3345 Source source = addSource(r''' | 3483 Source source = addSource(r''' |
| 3346 class A { | 3484 class A { |
| 3347 static _m() {} | 3485 static _m() {} |
| 3348 }'''); | 3486 }'''); |
| 3349 resolve(source); | 3487 resolve(source); |
| 3350 assertErrors(source, [HintCode.UNUSED_ELEMENT]); | 3488 assertErrors(source, [HintCode.UNUSED_ELEMENT]); |
| 3351 verify([source]); | 3489 verify([source]); |
| 3352 } | 3490 } |
| (...skipping 8763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 12116 runReflectiveTests(TypeResolverVisitorTest); | 12254 runReflectiveTests(TypeResolverVisitorTest); |
| 12117 runReflectiveTests(CheckedModeCompileTimeErrorCodeTest); | 12255 runReflectiveTests(CheckedModeCompileTimeErrorCodeTest); |
| 12118 runReflectiveTests(ErrorResolverTest); | 12256 runReflectiveTests(ErrorResolverTest); |
| 12119 runReflectiveTests(HintCodeTest); | 12257 runReflectiveTests(HintCodeTest); |
| 12120 runReflectiveTests(MemberMapTest); | 12258 runReflectiveTests(MemberMapTest); |
| 12121 runReflectiveTests(NonHintCodeTest); | 12259 runReflectiveTests(NonHintCodeTest); |
| 12122 runReflectiveTests(SimpleResolverTest); | 12260 runReflectiveTests(SimpleResolverTest); |
| 12123 runReflectiveTests(StrictModeTest); | 12261 runReflectiveTests(StrictModeTest); |
| 12124 runReflectiveTests(TypePropagationTest); | 12262 runReflectiveTests(TypePropagationTest); |
| 12125 } | 12263 } |
| OLD | NEW |