| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013, the Dart project authors. | 2 * Copyright (c) 2013, the Dart project authors. |
| 3 * | 3 * |
| 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except | 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except |
| 5 * in compliance with the License. You may obtain a copy of the License at | 5 * in compliance with the License. You may obtain a copy of the License at |
| 6 * | 6 * |
| 7 * http://www.eclipse.org/legal/epl-v10.html | 7 * http://www.eclipse.org/legal/epl-v10.html |
| 8 * | 8 * |
| 9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License | 9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License |
| 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express | 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express |
| (...skipping 1344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1355 addSource("/lib.dart", createSource(// | 1355 addSource("/lib.dart", createSource(// |
| 1356 "library L;", | 1356 "library L;", |
| 1357 "class A {", | 1357 "class A {", |
| 1358 " static _m() {}", | 1358 " static _m() {}", |
| 1359 "}")); | 1359 "}")); |
| 1360 resolve(source); | 1360 resolve(source); |
| 1361 assertErrors(source, HintCode.OVERRIDDING_PRIVATE_MEMBER); | 1361 assertErrors(source, HintCode.OVERRIDDING_PRIVATE_MEMBER); |
| 1362 verify(source); | 1362 verify(source); |
| 1363 } | 1363 } |
| 1364 | 1364 |
| 1365 public void test_invalidAnnotation_constantVariable() throws Exception { | 1365 public void test_invalidAnnotation_constantVariable_field() throws Exception { |
| 1366 Source source = addSource(createSource(// |
| 1367 "@A.C", |
| 1368 "class A {", |
| 1369 " static const C = 0;", |
| 1370 "}")); |
| 1371 resolve(source); |
| 1372 assertNoErrors(source); |
| 1373 verify(source); |
| 1374 } |
| 1375 |
| 1376 public void test_invalidAnnotation_constantVariable_field_importWithPrefix() t
hrows Exception { |
| 1377 addSource("/lib.dart", createSource(// |
| 1378 "library lib;", |
| 1379 "class A {", |
| 1380 " static const C = 0;", |
| 1381 "}")); |
| 1382 Source source = addSource(createSource(// |
| 1383 "import 'lib.dart' as p;", |
| 1384 "@p.A.C", |
| 1385 "main() {", |
| 1386 "}")); |
| 1387 resolve(source); |
| 1388 assertNoErrors(source); |
| 1389 verify(source); |
| 1390 } |
| 1391 |
| 1392 public void test_invalidAnnotation_constantVariable_topLevel() throws Exceptio
n { |
| 1366 Source source = addSource(createSource(// | 1393 Source source = addSource(createSource(// |
| 1367 "const C = 0;", | 1394 "const C = 0;", |
| 1368 "@C", | 1395 "@C", |
| 1369 "main() {", | 1396 "main() {", |
| 1370 "}")); | 1397 "}")); |
| 1371 resolve(source); | 1398 resolve(source); |
| 1372 assertNoErrors(source); | 1399 assertNoErrors(source); |
| 1373 verify(source); | 1400 verify(source); |
| 1374 } | 1401 } |
| 1375 | 1402 |
| 1376 public void test_invalidAnnotation_importWithPrefix_constantVariable() throws
Exception { | 1403 public void test_invalidAnnotation_constantVariable_topLevel_importWithPrefix(
) throws Exception { |
| 1377 addSource("/lib.dart", createSource(// | 1404 addSource("/lib.dart", createSource(// |
| 1378 "library lib;", | 1405 "library lib;", |
| 1379 "const C = 0;")); | 1406 "const C = 0;")); |
| 1380 Source source = addSource(createSource(// | 1407 Source source = addSource(createSource(// |
| 1381 "import 'lib.dart' as p;", | 1408 "import 'lib.dart' as p;", |
| 1382 "@p.C", | 1409 "@p.C", |
| 1383 "main() {", | 1410 "main() {", |
| 1384 "}")); | 1411 "}")); |
| 1385 resolve(source); | 1412 resolve(source); |
| 1386 assertNoErrors(source); | 1413 assertNoErrors(source); |
| 1387 verify(source); | 1414 verify(source); |
| 1388 } | 1415 } |
| 1389 | 1416 |
| 1390 public void test_invalidAnnotation_importWithPrefix_constConstructor() throws
Exception { | 1417 public void test_invalidAnnotation_constConstructor_importWithPrefix() throws
Exception { |
| 1418 addSource("/lib.dart", createSource(// |
| 1419 "library lib;", |
| 1420 "class A {", |
| 1421 " const A(int p);", |
| 1422 "}")); |
| 1423 Source source = addSource(createSource(// |
| 1424 "import 'lib.dart' as p;", |
| 1425 "@p.A(42)", |
| 1426 "main() {", |
| 1427 "}")); |
| 1428 resolve(source); |
| 1429 assertNoErrors(source); |
| 1430 verify(source); |
| 1431 } |
| 1432 |
| 1433 public void test_invalidAnnotation_constConstructor_named_importWithPrefix() t
hrows Exception { |
| 1391 addSource("/lib.dart", createSource(// | 1434 addSource("/lib.dart", createSource(// |
| 1392 "library lib;", | 1435 "library lib;", |
| 1393 "class A {", | 1436 "class A {", |
| 1394 " const A.named(int p);", | 1437 " const A.named(int p);", |
| 1395 "}")); | 1438 "}")); |
| 1396 Source source = addSource(createSource(// | 1439 Source source = addSource(createSource(// |
| 1397 "import 'lib.dart' as p;", | 1440 "import 'lib.dart' as p;", |
| 1398 "@p.A.named(42)", | 1441 "@p.A.named(42)", |
| 1399 "main() {", | 1442 "main() {", |
| 1400 "}")); | 1443 "}")); |
| (...skipping 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2579 " B.named(S p) : super.named(p);", | 2622 " B.named(S p) : super.named(p);", |
| 2580 "}")); | 2623 "}")); |
| 2581 resolve(source); | 2624 resolve(source); |
| 2582 assertNoErrors(source); | 2625 assertNoErrors(source); |
| 2583 verify(source); | 2626 verify(source); |
| 2584 } | 2627 } |
| 2585 | 2628 |
| 2586 public void test_proxy_annotation_prefixed() throws Exception { | 2629 public void test_proxy_annotation_prefixed() throws Exception { |
| 2587 Source source = addSource(createSource(// | 2630 Source source = addSource(createSource(// |
| 2588 "library L;", | 2631 "library L;", |
| 2589 "import 'meta.dart';", | |
| 2590 "@proxy", | 2632 "@proxy", |
| 2591 "class A {}", | 2633 "class A {}", |
| 2592 "f(A a) {", | 2634 "f(A a) {", |
| 2593 " a.m();", | 2635 " a.m();", |
| 2594 " var x = a.g;", | 2636 " var x = a.g;", |
| 2595 " a.s = 1;", | 2637 " a.s = 1;", |
| 2596 " var y = a + a;", | 2638 " var y = a + a;", |
| 2597 " a++;", | 2639 " a++;", |
| 2598 " ++a;", | 2640 " ++a;", |
| 2599 "}")); | 2641 "}")); |
| 2600 addSource("/meta.dart", createSource(// | |
| 2601 "library meta;", | |
| 2602 "const proxy = const _Proxy();", | |
| 2603 "class _Proxy { const _Proxy(); }")); | |
| 2604 resolve(source); | 2642 resolve(source); |
| 2605 assertNoErrors(source); | 2643 assertNoErrors(source); |
| 2606 } | 2644 } |
| 2607 | 2645 |
| 2608 public void test_proxy_annotation_prefixed2() throws Exception { | 2646 public void test_proxy_annotation_prefixed2() throws Exception { |
| 2609 Source source = addSource(createSource(// | 2647 Source source = addSource(createSource(// |
| 2610 "library L;", | 2648 "library L;", |
| 2611 "import 'meta.dart';", | |
| 2612 "@proxy", | 2649 "@proxy", |
| 2613 "class A {}", | 2650 "class A {}", |
| 2614 "class B {", | 2651 "class B {", |
| 2615 " f(A a) {", | 2652 " f(A a) {", |
| 2616 " a.m();", | 2653 " a.m();", |
| 2617 " var x = a.g;", | 2654 " var x = a.g;", |
| 2618 " a.s = 1;", | 2655 " a.s = 1;", |
| 2619 " var y = a + a;", | 2656 " var y = a + a;", |
| 2620 " a++;", | 2657 " a++;", |
| 2621 " ++a;", | 2658 " ++a;", |
| 2622 " }", | 2659 " }", |
| 2623 "}")); | 2660 "}")); |
| 2624 addSource("/meta.dart", createSource(// | |
| 2625 "library meta;", | |
| 2626 "const proxy = const _Proxy();", | |
| 2627 "class _Proxy { const _Proxy(); }")); | |
| 2628 resolve(source); | 2661 resolve(source); |
| 2629 assertNoErrors(source); | 2662 assertNoErrors(source); |
| 2630 } | 2663 } |
| 2631 | 2664 |
| 2632 public void test_proxy_annotation_prefixed3() throws Exception { | 2665 public void test_proxy_annotation_prefixed3() throws Exception { |
| 2633 Source source = addSource(createSource(// | 2666 Source source = addSource(createSource(// |
| 2634 "library L;", | 2667 "library L;", |
| 2635 "import 'meta.dart';", | |
| 2636 "class B {", | 2668 "class B {", |
| 2637 " f(A a) {", | 2669 " f(A a) {", |
| 2638 " a.m();", | 2670 " a.m();", |
| 2639 " var x = a.g;", | 2671 " var x = a.g;", |
| 2640 " a.s = 1;", | 2672 " a.s = 1;", |
| 2641 " var y = a + a;", | 2673 " var y = a + a;", |
| 2642 " a++;", | 2674 " a++;", |
| 2643 " ++a;", | 2675 " ++a;", |
| 2644 " }", | 2676 " }", |
| 2645 "}", | 2677 "}", |
| 2646 "@proxy", | 2678 "@proxy", |
| 2647 "class A {}")); | 2679 "class A {}")); |
| 2648 addSource("/meta.dart", createSource(// | |
| 2649 "library meta;", | |
| 2650 "const proxy = const _Proxy();", | |
| 2651 "class _Proxy { const _Proxy(); }")); | |
| 2652 resolve(source); | 2680 resolve(source); |
| 2653 assertNoErrors(source); | 2681 assertNoErrors(source); |
| 2654 } | 2682 } |
| 2655 | 2683 |
| 2656 public void test_proxy_annotation_simple() throws Exception { | 2684 public void test_proxy_annotation_simple() throws Exception { |
| 2657 Source source = addSource(createSource(// | 2685 Source source = addSource(createSource(// |
| 2658 "library L;", | 2686 "library L;", |
| 2659 "import 'meta.dart';", | |
| 2660 "@proxy", | 2687 "@proxy", |
| 2661 "class B {", | 2688 "class B {", |
| 2662 " m() {", | 2689 " m() {", |
| 2663 " n();", | 2690 " n();", |
| 2664 " var x = g;", | 2691 " var x = g;", |
| 2665 " s = 1;", | 2692 " s = 1;", |
| 2666 " var y = this + this;", | 2693 " var y = this + this;", |
| 2667 " }", | 2694 " }", |
| 2668 "}")); | 2695 "}")); |
| 2669 addSource("/meta.dart", createSource(// | |
| 2670 "library meta;", | |
| 2671 "const proxy = const _Proxy();", | |
| 2672 "class _Proxy { const _Proxy(); }")); | |
| 2673 resolve(source); | 2696 resolve(source); |
| 2674 assertNoErrors(source); | 2697 assertNoErrors(source); |
| 2675 } | 2698 } |
| 2676 | 2699 |
| 2677 public void test_recursiveConstructorRedirect() throws Exception { | 2700 public void test_recursiveConstructorRedirect() throws Exception { |
| 2678 Source source = addSource(createSource(// | 2701 Source source = addSource(createSource(// |
| 2679 "class A {", | 2702 "class A {", |
| 2680 " A.a() : this.b();", | 2703 " A.a() : this.b();", |
| 2681 " A.b() : this.c();", | 2704 " A.b() : this.c();", |
| 2682 " A.c() {}", | 2705 " A.c() {}", |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3274 "main(Object p) {", | 3297 "main(Object p) {", |
| 3275 " if (p is String) {", | 3298 " if (p is String) {", |
| 3276 " p.length;", | 3299 " p.length;", |
| 3277 " }", | 3300 " }", |
| 3278 "}")); | 3301 "}")); |
| 3279 resolve(source); | 3302 resolve(source); |
| 3280 assertNoErrors(source); | 3303 assertNoErrors(source); |
| 3281 verify(source); | 3304 verify(source); |
| 3282 } | 3305 } |
| 3283 | 3306 |
| 3307 public void test_typePromotion_parentheses() throws Exception { |
| 3308 Source source = addSource(createSource(// |
| 3309 "main(Object p) {", |
| 3310 " (p is String) ? p.length : 0;", |
| 3311 " (p) is String ? p.length : 0;", |
| 3312 " ((p)) is String ? p.length : 0;", |
| 3313 " ((p) is String) ? p.length : 0;", |
| 3314 "}")); |
| 3315 resolve(source); |
| 3316 assertNoErrors(source); |
| 3317 verify(source); |
| 3318 } |
| 3319 |
| 3284 public void test_typeType_class() throws Exception { | 3320 public void test_typeType_class() throws Exception { |
| 3285 Source source = addSource(createSource(// | 3321 Source source = addSource(createSource(// |
| 3286 "class C {}", | 3322 "class C {}", |
| 3287 "f(Type t) {}", | 3323 "f(Type t) {}", |
| 3288 "main() {", | 3324 "main() {", |
| 3289 " f(C);", | 3325 " f(C);", |
| 3290 "}")); | 3326 "}")); |
| 3291 resolve(source); | 3327 resolve(source); |
| 3292 assertNoErrors(source); | 3328 assertNoErrors(source); |
| 3293 verify(source); | 3329 verify(source); |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3604 resolve(source); | 3640 resolve(source); |
| 3605 assertNoErrors(source); | 3641 assertNoErrors(source); |
| 3606 verify(source); | 3642 verify(source); |
| 3607 reset(); | 3643 reset(); |
| 3608 } | 3644 } |
| 3609 | 3645 |
| 3610 private void check_wrongNumberOfParametersForOperator1(String name) throws Exc
eption { | 3646 private void check_wrongNumberOfParametersForOperator1(String name) throws Exc
eption { |
| 3611 check_wrongNumberOfParametersForOperator(name, "a"); | 3647 check_wrongNumberOfParametersForOperator(name, "a"); |
| 3612 } | 3648 } |
| 3613 } | 3649 } |
| OLD | NEW |