Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: pkg/analyzer/test/generated/compile_time_error_code_test.dart

Issue 1266923004: More fixes for failures on the Windows bot (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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.compile_time_error_code_test; 5 library engine.compile_time_error_code_test;
6 6
7 import 'package:analyzer/src/generated/error.dart'; 7 import 'package:analyzer/src/generated/error.dart';
8 import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode; 8 import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
9 import 'package:analyzer/src/generated/source_io.dart'; 9 import 'package:analyzer/src/generated/source_io.dart';
10 import 'package:unittest/unittest.dart' as _ut;
11 10
12 import '../reflective_tests.dart'; 11 import '../reflective_tests.dart';
12 import '../utils.dart';
13 import 'resolver_test.dart'; 13 import 'resolver_test.dart';
14 14
15 main() { 15 main() {
16 _ut.groupSep = ' | '; 16 initializeTestEnvironment();
17 runReflectiveTests(CompileTimeErrorCodeTest); 17 runReflectiveTests(CompileTimeErrorCodeTest);
18 } 18 }
19 19
20 @reflectiveTest 20 @reflectiveTest
21 class CompileTimeErrorCodeTest extends ResolverTestCase { 21 class CompileTimeErrorCodeTest extends ResolverTestCase {
22 void fail_awaitInWrongContext_sync() { 22 void fail_awaitInWrongContext_sync() {
23 // This test requires better error recovery than we currently have. In 23 // This test requires better error recovery than we currently have. In
24 // particular, we need to be able to distinguish between an await expression 24 // particular, we need to be able to distinguish between an await expression
25 // in the wrong context, and the use of 'await' as an identifier. 25 // in the wrong context, and the use of 'await' as an identifier.
26 Source source = addSource(r''' 26 Source source = addSource(r'''
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 computeLibrarySourceErrors(source); 200 computeLibrarySourceErrors(source);
201 assertErrors(source, [CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD]); 201 assertErrors(source, [CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD]);
202 // Cannot verify because "_name" cannot be resolved. 202 // Cannot verify because "_name" cannot be resolved.
203 } 203 }
204 204
205 void test_ambiguousExport() { 205 void test_ambiguousExport() {
206 Source source = addSource(r''' 206 Source source = addSource(r'''
207 library L; 207 library L;
208 export 'lib1.dart'; 208 export 'lib1.dart';
209 export 'lib2.dart';'''); 209 export 'lib2.dart';''');
210 addNamedSource("/lib1.dart", r''' 210 addNamedSource(
211 "/lib1.dart",
212 r'''
211 library lib1; 213 library lib1;
212 class N {}'''); 214 class N {}''');
213 addNamedSource("/lib2.dart", r''' 215 addNamedSource(
216 "/lib2.dart",
217 r'''
214 library lib2; 218 library lib2;
215 class N {}'''); 219 class N {}''');
216 computeLibrarySourceErrors(source); 220 computeLibrarySourceErrors(source);
217 assertErrors(source, [CompileTimeErrorCode.AMBIGUOUS_EXPORT]); 221 assertErrors(source, [CompileTimeErrorCode.AMBIGUOUS_EXPORT]);
218 verify([source]); 222 verify([source]);
219 } 223 }
220 224
221 void test_async_used_as_identifier_in_annotation() { 225 void test_async_used_as_identifier_in_annotation() {
222 Source source = addSource(''' 226 Source source = addSource('''
223 const int async = 0; 227 const int async = 0;
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 f() async { 468 f() async {
465 return "$async"; 469 return "$async";
466 } 470 }
467 '''); 471 ''');
468 computeLibrarySourceErrors(source); 472 computeLibrarySourceErrors(source);
469 assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); 473 assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]);
470 verify([source]); 474 verify([source]);
471 } 475 }
472 476
473 void test_async_used_as_identifier_in_suffix() { 477 void test_async_used_as_identifier_in_suffix() {
474 addNamedSource("/lib1.dart", r''' 478 addNamedSource(
479 "/lib1.dart",
480 r'''
475 library lib1; 481 library lib1;
476 int async; 482 int async;
477 '''); 483 ''');
478 Source source = addSource(''' 484 Source source = addSource('''
479 import 'lib1.dart' as l; 485 import 'lib1.dart' as l;
480 f() async { 486 f() async {
481 return l.async; 487 return l.async;
482 } 488 }
483 '''); 489 ''');
484 computeLibrarySourceErrors(source); 490 computeLibrarySourceErrors(source);
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
948 library lib1; 954 library lib1;
949 class A { 955 class A {
950 const A(); 956 const A();
951 }''', 957 }''',
952 r''' 958 r'''
953 library root; 959 library root;
954 import 'lib1.dart' deferred as a; 960 import 'lib1.dart' deferred as a;
955 main() { 961 main() {
956 const a.A(); 962 const a.A();
957 }''' 963 }'''
958 ], <ErrorCode>[CompileTimeErrorCode.CONST_DEFERRED_CLASS]); 964 ], <ErrorCode>[
965 CompileTimeErrorCode.CONST_DEFERRED_CLASS
966 ]);
959 } 967 }
960 968
961 void test_constDeferredClass_namedConstructor() { 969 void test_constDeferredClass_namedConstructor() {
962 resolveWithErrors(<String>[ 970 resolveWithErrors(<String>[
963 r''' 971 r'''
964 library lib1; 972 library lib1;
965 class A { 973 class A {
966 const A.b(); 974 const A.b();
967 }''', 975 }''',
968 r''' 976 r'''
969 library root; 977 library root;
970 import 'lib1.dart' deferred as a; 978 import 'lib1.dart' deferred as a;
971 main() { 979 main() {
972 const a.A.b(); 980 const a.A.b();
973 }''' 981 }'''
974 ], <ErrorCode>[CompileTimeErrorCode.CONST_DEFERRED_CLASS]); 982 ], <ErrorCode>[
983 CompileTimeErrorCode.CONST_DEFERRED_CLASS
984 ]);
975 } 985 }
976 986
977 void test_constEval_newInstance_constConstructor() { 987 void test_constEval_newInstance_constConstructor() {
978 Source source = addSource(r''' 988 Source source = addSource(r'''
979 class A { 989 class A {
980 const A(); 990 const A();
981 } 991 }
982 const a = new A();'''); 992 const a = new A();''');
983 computeLibrarySourceErrors(source); 993 computeLibrarySourceErrors(source);
984 assertErrors(source, 994 assertErrors(source,
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
1404 int A; 1414 int A;
1405 f() { 1415 f() {
1406 return const A(); 1416 return const A();
1407 }'''); 1417 }''');
1408 computeLibrarySourceErrors(source); 1418 computeLibrarySourceErrors(source);
1409 assertErrors(source, [CompileTimeErrorCode.CONST_WITH_NON_TYPE]); 1419 assertErrors(source, [CompileTimeErrorCode.CONST_WITH_NON_TYPE]);
1410 verify([source]); 1420 verify([source]);
1411 } 1421 }
1412 1422
1413 void test_constWithNonType_fromLibrary() { 1423 void test_constWithNonType_fromLibrary() {
1414 Source source1 = addNamedSource("lib.dart", ""); 1424 Source source1 = addNamedSource("/lib.dart", "");
1415 Source source2 = addNamedSource("lib2.dart", r''' 1425 Source source2 = addNamedSource(
1426 "/lib2.dart",
1427 r'''
1416 import 'lib.dart' as lib; 1428 import 'lib.dart' as lib;
1417 void f() { 1429 void f() {
1418 const lib.A(); 1430 const lib.A();
1419 }'''); 1431 }''');
1420 computeLibrarySourceErrors(source1); 1432 computeLibrarySourceErrors(source1);
1421 computeLibrarySourceErrors(source2); 1433 computeLibrarySourceErrors(source2);
1422 assertErrors(source2, [CompileTimeErrorCode.CONST_WITH_NON_TYPE]); 1434 assertErrors(source2, [CompileTimeErrorCode.CONST_WITH_NON_TYPE]);
1423 verify([source1]); 1435 verify([source1]);
1424 } 1436 }
1425 1437
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
1541 }'''); 1553 }''');
1542 computeLibrarySourceErrors(source); 1554 computeLibrarySourceErrors(source);
1543 assertErrors(source, [ 1555 assertErrors(source, [
1544 CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT, 1556 CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT,
1545 CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT 1557 CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT
1546 ]); 1558 ]);
1547 verify([source]); 1559 verify([source]);
1548 } 1560 }
1549 1561
1550 void test_duplicateDefinition_acrossLibraries() { 1562 void test_duplicateDefinition_acrossLibraries() {
1551 Source librarySource = addNamedSource("/lib.dart", r''' 1563 Source librarySource = addNamedSource(
1564 "/lib.dart",
1565 r'''
1552 library lib; 1566 library lib;
1553 1567
1554 part 'a.dart'; 1568 part 'a.dart';
1555 part 'b.dart';'''); 1569 part 'b.dart';''');
1556 Source sourceA = addNamedSource("/a.dart", r''' 1570 Source sourceA = addNamedSource(
1571 "/a.dart",
1572 r'''
1557 part of lib; 1573 part of lib;
1558 1574
1559 class A {}'''); 1575 class A {}''');
1560 Source sourceB = addNamedSource("/b.dart", r''' 1576 Source sourceB = addNamedSource(
1577 "/b.dart",
1578 r'''
1561 part of lib; 1579 part of lib;
1562 1580
1563 class A {}'''); 1581 class A {}''');
1564 computeLibrarySourceErrors(librarySource); 1582 computeLibrarySourceErrors(librarySource);
1565 assertErrors(sourceB, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); 1583 assertErrors(sourceB, [CompileTimeErrorCode.DUPLICATE_DEFINITION]);
1566 verify([librarySource, sourceA, sourceB]); 1584 verify([librarySource, sourceA, sourceB]);
1567 } 1585 }
1568 1586
1569 void test_duplicateDefinition_catch() { 1587 void test_duplicateDefinition_catch() {
1570 Source source = addSource(r''' 1588 Source source = addSource(r'''
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
1823 1841
1824 void test_extendsDeferredClass() { 1842 void test_extendsDeferredClass() {
1825 resolveWithErrors(<String>[ 1843 resolveWithErrors(<String>[
1826 r''' 1844 r'''
1827 library lib1; 1845 library lib1;
1828 class A {}''', 1846 class A {}''',
1829 r''' 1847 r'''
1830 library root; 1848 library root;
1831 import 'lib1.dart' deferred as a; 1849 import 'lib1.dart' deferred as a;
1832 class B extends a.A {}''' 1850 class B extends a.A {}'''
1833 ], <ErrorCode>[CompileTimeErrorCode.EXTENDS_DEFERRED_CLASS]); 1851 ], <ErrorCode>[
1852 CompileTimeErrorCode.EXTENDS_DEFERRED_CLASS
1853 ]);
1834 } 1854 }
1835 1855
1836 void test_extendsDeferredClass_classTypeAlias() { 1856 void test_extendsDeferredClass_classTypeAlias() {
1837 resolveWithErrors(<String>[ 1857 resolveWithErrors(<String>[
1838 r''' 1858 r'''
1839 library lib1; 1859 library lib1;
1840 class A {}''', 1860 class A {}''',
1841 r''' 1861 r'''
1842 library root; 1862 library root;
1843 import 'lib1.dart' deferred as a; 1863 import 'lib1.dart' deferred as a;
1844 class M {} 1864 class M {}
1845 class C = a.A with M;''' 1865 class C = a.A with M;'''
1846 ], <ErrorCode>[CompileTimeErrorCode.EXTENDS_DEFERRED_CLASS]); 1866 ], <ErrorCode>[
1867 CompileTimeErrorCode.EXTENDS_DEFERRED_CLASS
1868 ]);
1847 } 1869 }
1848 1870
1849 void test_extendsDisallowedClass_class_bool() { 1871 void test_extendsDisallowedClass_class_bool() {
1850 Source source = addSource("class A extends bool {}"); 1872 Source source = addSource("class A extends bool {}");
1851 computeLibrarySourceErrors(source); 1873 computeLibrarySourceErrors(source);
1852 assertErrors(source, [ 1874 assertErrors(source, [
1853 CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, 1875 CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS,
1854 CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT 1876 CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT
1855 ]); 1877 ]);
1856 verify([source]); 1878 verify([source]);
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
2255 2277
2256 void test_implementsDeferredClass() { 2278 void test_implementsDeferredClass() {
2257 resolveWithErrors(<String>[ 2279 resolveWithErrors(<String>[
2258 r''' 2280 r'''
2259 library lib1; 2281 library lib1;
2260 class A {}''', 2282 class A {}''',
2261 r''' 2283 r'''
2262 library root; 2284 library root;
2263 import 'lib1.dart' deferred as a; 2285 import 'lib1.dart' deferred as a;
2264 class B implements a.A {}''' 2286 class B implements a.A {}'''
2265 ], <ErrorCode>[CompileTimeErrorCode.IMPLEMENTS_DEFERRED_CLASS]); 2287 ], <ErrorCode>[
2288 CompileTimeErrorCode.IMPLEMENTS_DEFERRED_CLASS
2289 ]);
2266 } 2290 }
2267 2291
2268 void test_implementsDeferredClass_classTypeAlias() { 2292 void test_implementsDeferredClass_classTypeAlias() {
2269 resolveWithErrors(<String>[ 2293 resolveWithErrors(<String>[
2270 r''' 2294 r'''
2271 library lib1; 2295 library lib1;
2272 class A {}''', 2296 class A {}''',
2273 r''' 2297 r'''
2274 library root; 2298 library root;
2275 import 'lib1.dart' deferred as a; 2299 import 'lib1.dart' deferred as a;
2276 class B {} 2300 class B {}
2277 class M {} 2301 class M {}
2278 class C = B with M implements a.A;''' 2302 class C = B with M implements a.A;'''
2279 ], <ErrorCode>[CompileTimeErrorCode.IMPLEMENTS_DEFERRED_CLASS]); 2303 ], <ErrorCode>[
2304 CompileTimeErrorCode.IMPLEMENTS_DEFERRED_CLASS
2305 ]);
2280 } 2306 }
2281 2307
2282 void test_implementsDisallowedClass_class_bool() { 2308 void test_implementsDisallowedClass_class_bool() {
2283 Source source = addSource("class A implements bool {}"); 2309 Source source = addSource("class A implements bool {}");
2284 computeLibrarySourceErrors(source); 2310 computeLibrarySourceErrors(source);
2285 assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); 2311 assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]);
2286 verify([source]); 2312 verify([source]);
2287 } 2313 }
2288 2314
2289 void test_implementsDisallowedClass_class_double() { 2315 void test_implementsDisallowedClass_class_double() {
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
2557 } 2583 }
2558 2584
2559 void test_importInternalLibrary() { 2585 void test_importInternalLibrary() {
2560 Source source = addSource("import 'dart:_interceptors';"); 2586 Source source = addSource("import 'dart:_interceptors';");
2561 computeLibrarySourceErrors(source); 2587 computeLibrarySourceErrors(source);
2562 // Note, in these error cases we may generate an UNUSED_IMPORT hint, while 2588 // Note, in these error cases we may generate an UNUSED_IMPORT hint, while
2563 // we could prevent the hint from being generated by testing the import 2589 // we could prevent the hint from being generated by testing the import
2564 // directive for the error, this is such a minor corner case that we don't 2590 // directive for the error, this is such a minor corner case that we don't
2565 // think we should add the additional computation time to figure out such 2591 // think we should add the additional computation time to figure out such
2566 // cases. 2592 // cases.
2567 assertErrors(source, [ 2593 assertErrors(source,
2568 CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY, 2594 [CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY, HintCode.UNUSED_IMPORT]);
2569 HintCode.UNUSED_IMPORT
2570 ]);
2571 verify([source]); 2595 verify([source]);
2572 } 2596 }
2573 2597
2574 void test_importInternalLibrary_js_helper() { 2598 void test_importInternalLibrary_js_helper() {
2575 Source source = addSource("import 'dart:_js_helper';"); 2599 Source source = addSource("import 'dart:_js_helper';");
2576 computeLibrarySourceErrors(source); 2600 computeLibrarySourceErrors(source);
2577 // Note, in these error cases we may generate an UNUSED_IMPORT hint, while 2601 // Note, in these error cases we may generate an UNUSED_IMPORT hint, while
2578 // we could prevent the hint from being generated by testing the import 2602 // we could prevent the hint from being generated by testing the import
2579 // directive for the error, this is such a minor corner case that we don't 2603 // directive for the error, this is such a minor corner case that we don't
2580 // think we should add the additional computation time to figure out such 2604 // think we should add the additional computation time to figure out such
2581 // cases. 2605 // cases.
2582 assertErrors(source, [ 2606 assertErrors(source,
2583 CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY, 2607 [CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY, HintCode.UNUSED_IMPORT]);
2584 HintCode.UNUSED_IMPORT
2585 ]);
2586 verify([source]); 2608 verify([source]);
2587 } 2609 }
2588 2610
2589 void test_importOfNonLibrary() { 2611 void test_importOfNonLibrary() {
2590 Source source = addSource(r''' 2612 Source source = addSource(r'''
2591 library lib; 2613 library lib;
2592 import 'part.dart'; 2614 import 'part.dart';
2593 A a;'''); 2615 A a;''');
2594 addNamedSource("/part.dart", r''' 2616 addNamedSource(
2617 "/part.dart",
2618 r'''
2595 part of lib; 2619 part of lib;
2596 class A{}'''); 2620 class A{}''');
2597 computeLibrarySourceErrors(source); 2621 computeLibrarySourceErrors(source);
2598 assertErrors(source, [CompileTimeErrorCode.IMPORT_OF_NON_LIBRARY]); 2622 assertErrors(source, [CompileTimeErrorCode.IMPORT_OF_NON_LIBRARY]);
2599 verify([source]); 2623 verify([source]);
2600 } 2624 }
2601 2625
2602 void test_inconsistentCaseExpressionTypes() { 2626 void test_inconsistentCaseExpressionTypes() {
2603 Source source = addSource(r''' 2627 Source source = addSource(r'''
2604 f(var p) { 2628 f(var p) {
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
2858 get V => 0; 2882 get V => 0;
2859 @V 2883 @V
2860 main() { 2884 main() {
2861 }'''); 2885 }''');
2862 computeLibrarySourceErrors(source); 2886 computeLibrarySourceErrors(source);
2863 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); 2887 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]);
2864 verify([source]); 2888 verify([source]);
2865 } 2889 }
2866 2890
2867 void test_invalidAnnotation_importWithPrefix_getter() { 2891 void test_invalidAnnotation_importWithPrefix_getter() {
2868 addNamedSource("/lib.dart", r''' 2892 addNamedSource(
2893 "/lib.dart",
2894 r'''
2869 library lib; 2895 library lib;
2870 get V => 0;'''); 2896 get V => 0;''');
2871 Source source = addSource(r''' 2897 Source source = addSource(r'''
2872 import 'lib.dart' as p; 2898 import 'lib.dart' as p;
2873 @p.V 2899 @p.V
2874 main() { 2900 main() {
2875 }'''); 2901 }''');
2876 computeLibrarySourceErrors(source); 2902 computeLibrarySourceErrors(source);
2877 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); 2903 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]);
2878 verify([source]); 2904 verify([source]);
2879 } 2905 }
2880 2906
2881 void test_invalidAnnotation_importWithPrefix_notConstantVariable() { 2907 void test_invalidAnnotation_importWithPrefix_notConstantVariable() {
2882 addNamedSource("/lib.dart", r''' 2908 addNamedSource(
2909 "/lib.dart",
2910 r'''
2883 library lib; 2911 library lib;
2884 final V = 0;'''); 2912 final V = 0;''');
2885 Source source = addSource(r''' 2913 Source source = addSource(r'''
2886 import 'lib.dart' as p; 2914 import 'lib.dart' as p;
2887 @p.V 2915 @p.V
2888 main() { 2916 main() {
2889 }'''); 2917 }''');
2890 computeLibrarySourceErrors(source); 2918 computeLibrarySourceErrors(source);
2891 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); 2919 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]);
2892 verify([source]); 2920 verify([source]);
2893 } 2921 }
2894 2922
2895 void test_invalidAnnotation_importWithPrefix_notVariableOrConstructorInvocatio n() { 2923 void test_invalidAnnotation_importWithPrefix_notVariableOrConstructorInvocatio n() {
2896 addNamedSource("/lib.dart", r''' 2924 addNamedSource(
2925 "/lib.dart",
2926 r'''
2897 library lib; 2927 library lib;
2898 typedef V();'''); 2928 typedef V();''');
2899 Source source = addSource(r''' 2929 Source source = addSource(r'''
2900 import 'lib.dart' as p; 2930 import 'lib.dart' as p;
2901 @p.V 2931 @p.V
2902 main() { 2932 main() {
2903 }'''); 2933 }''');
2904 computeLibrarySourceErrors(source); 2934 computeLibrarySourceErrors(source);
2905 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); 2935 assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]);
2906 verify([source]); 2936 verify([source]);
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
3457 3487
3458 void test_mixinDeferredClass() { 3488 void test_mixinDeferredClass() {
3459 resolveWithErrors(<String>[ 3489 resolveWithErrors(<String>[
3460 r''' 3490 r'''
3461 library lib1; 3491 library lib1;
3462 class A {}''', 3492 class A {}''',
3463 r''' 3493 r'''
3464 library root; 3494 library root;
3465 import 'lib1.dart' deferred as a; 3495 import 'lib1.dart' deferred as a;
3466 class B extends Object with a.A {}''' 3496 class B extends Object with a.A {}'''
3467 ], <ErrorCode>[CompileTimeErrorCode.MIXIN_DEFERRED_CLASS]); 3497 ], <ErrorCode>[
3498 CompileTimeErrorCode.MIXIN_DEFERRED_CLASS
3499 ]);
3468 } 3500 }
3469 3501
3470 void test_mixinDeferredClass_classTypeAlias() { 3502 void test_mixinDeferredClass_classTypeAlias() {
3471 resolveWithErrors(<String>[ 3503 resolveWithErrors(<String>[
3472 r''' 3504 r'''
3473 library lib1; 3505 library lib1;
3474 class A {}''', 3506 class A {}''',
3475 r''' 3507 r'''
3476 library root; 3508 library root;
3477 import 'lib1.dart' deferred as a; 3509 import 'lib1.dart' deferred as a;
3478 class B {} 3510 class B {}
3479 class C = B with a.A;''' 3511 class C = B with a.A;'''
3480 ], <ErrorCode>[CompileTimeErrorCode.MIXIN_DEFERRED_CLASS]); 3512 ], <ErrorCode>[
3513 CompileTimeErrorCode.MIXIN_DEFERRED_CLASS
3514 ]);
3481 } 3515 }
3482 3516
3483 void test_mixinHasNoConstructors_mixinApp() { 3517 void test_mixinHasNoConstructors_mixinApp() {
3484 Source source = addSource(r''' 3518 Source source = addSource(r'''
3485 class B { 3519 class B {
3486 B({x}); 3520 B({x});
3487 } 3521 }
3488 class M {} 3522 class M {}
3489 class C = B with M; 3523 class C = B with M;
3490 '''); 3524 ''');
(...skipping 1258 matching lines...) Expand 10 before | Expand all | Expand 10 after
4749 p = 1; 4783 p = 1;
4750 } 4784 }
4751 '''); 4785 ''');
4752 computeLibrarySourceErrors(source); 4786 computeLibrarySourceErrors(source);
4753 assertErrors( 4787 assertErrors(
4754 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 4788 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4755 verify([source]); 4789 verify([source]);
4756 } 4790 }
4757 4791
4758 void test_prefix_conditionalPropertyAccess_call() { 4792 void test_prefix_conditionalPropertyAccess_call() {
4759 addNamedSource('/lib.dart', ''' 4793 addNamedSource(
4794 '/lib.dart',
4795 '''
4760 library lib; 4796 library lib;
4761 g() {} 4797 g() {}
4762 '''); 4798 ''');
4763 Source source = addSource(''' 4799 Source source = addSource('''
4764 import 'lib.dart' as p; 4800 import 'lib.dart' as p;
4765 f() { 4801 f() {
4766 p?.g(); 4802 p?.g();
4767 } 4803 }
4768 '''); 4804 ''');
4769 computeLibrarySourceErrors(source); 4805 computeLibrarySourceErrors(source);
4770 assertErrors( 4806 assertErrors(
4771 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 4807 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4772 verify([source]); 4808 verify([source]);
4773 } 4809 }
4774 4810
4775 void test_prefix_conditionalPropertyAccess_call_loadLibrary() { 4811 void test_prefix_conditionalPropertyAccess_call_loadLibrary() {
4776 addNamedSource('/lib.dart', ''' 4812 addNamedSource(
4813 '/lib.dart',
4814 '''
4777 library lib; 4815 library lib;
4778 '''); 4816 ''');
4779 Source source = addSource(''' 4817 Source source = addSource('''
4780 import 'lib.dart' deferred as p; 4818 import 'lib.dart' deferred as p;
4781 f() { 4819 f() {
4782 p?.loadLibrary(); 4820 p?.loadLibrary();
4783 } 4821 }
4784 '''); 4822 ''');
4785 computeLibrarySourceErrors(source); 4823 computeLibrarySourceErrors(source);
4786 assertErrors( 4824 assertErrors(
4787 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 4825 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4788 verify([source]); 4826 verify([source]);
4789 } 4827 }
4790 4828
4791 void test_prefix_conditionalPropertyAccess_get() { 4829 void test_prefix_conditionalPropertyAccess_get() {
4792 addNamedSource('/lib.dart', ''' 4830 addNamedSource(
4831 '/lib.dart',
4832 '''
4793 library lib; 4833 library lib;
4794 var x; 4834 var x;
4795 '''); 4835 ''');
4796 Source source = addSource(''' 4836 Source source = addSource('''
4797 import 'lib.dart' as p; 4837 import 'lib.dart' as p;
4798 f() { 4838 f() {
4799 return p?.x; 4839 return p?.x;
4800 } 4840 }
4801 '''); 4841 ''');
4802 computeLibrarySourceErrors(source); 4842 computeLibrarySourceErrors(source);
4803 assertErrors( 4843 assertErrors(
4804 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 4844 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4805 verify([source]); 4845 verify([source]);
4806 } 4846 }
4807 4847
4808 void test_prefix_conditionalPropertyAccess_get_loadLibrary() { 4848 void test_prefix_conditionalPropertyAccess_get_loadLibrary() {
4809 addNamedSource('/lib.dart', ''' 4849 addNamedSource(
4850 '/lib.dart',
4851 '''
4810 library lib; 4852 library lib;
4811 '''); 4853 ''');
4812 Source source = addSource(''' 4854 Source source = addSource('''
4813 import 'lib.dart' deferred as p; 4855 import 'lib.dart' deferred as p;
4814 f() { 4856 f() {
4815 return p?.loadLibrary; 4857 return p?.loadLibrary;
4816 } 4858 }
4817 '''); 4859 ''');
4818 computeLibrarySourceErrors(source); 4860 computeLibrarySourceErrors(source);
4819 assertErrors( 4861 assertErrors(
4820 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 4862 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4821 verify([source]); 4863 verify([source]);
4822 } 4864 }
4823 4865
4824 void test_prefix_conditionalPropertyAccess_set() { 4866 void test_prefix_conditionalPropertyAccess_set() {
4825 addNamedSource('/lib.dart', ''' 4867 addNamedSource(
4868 '/lib.dart',
4869 '''
4826 library lib; 4870 library lib;
4827 var x; 4871 var x;
4828 '''); 4872 ''');
4829 Source source = addSource(''' 4873 Source source = addSource('''
4830 import 'lib.dart' as p; 4874 import 'lib.dart' as p;
4831 f() { 4875 f() {
4832 p?.x = null; 4876 p?.x = null;
4833 } 4877 }
4834 '''); 4878 ''');
4835 computeLibrarySourceErrors(source); 4879 computeLibrarySourceErrors(source);
4836 assertErrors( 4880 assertErrors(
4837 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 4881 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4838 verify([source]); 4882 verify([source]);
4839 } 4883 }
4840 4884
4841 void test_prefix_conditionalPropertyAccess_set_loadLibrary() { 4885 void test_prefix_conditionalPropertyAccess_set_loadLibrary() {
4842 addNamedSource('/lib.dart', ''' 4886 addNamedSource(
4887 '/lib.dart',
4888 '''
4843 library lib; 4889 library lib;
4844 '''); 4890 ''');
4845 Source source = addSource(''' 4891 Source source = addSource('''
4846 import 'lib.dart' deferred as p; 4892 import 'lib.dart' deferred as p;
4847 f() { 4893 f() {
4848 p?.loadLibrary = null; 4894 p?.loadLibrary = null;
4849 } 4895 }
4850 '''); 4896 ''');
4851 computeLibrarySourceErrors(source); 4897 computeLibrarySourceErrors(source);
4852 assertErrors( 4898 assertErrors(
(...skipping 25 matching lines...) Expand all
4878 p(); 4924 p();
4879 } 4925 }
4880 '''); 4926 ''');
4881 computeLibrarySourceErrors(source); 4927 computeLibrarySourceErrors(source);
4882 assertErrors( 4928 assertErrors(
4883 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 4929 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4884 verify([source]); 4930 verify([source]);
4885 } 4931 }
4886 4932
4887 void test_prefixCollidesWithTopLevelMembers_functionTypeAlias() { 4933 void test_prefixCollidesWithTopLevelMembers_functionTypeAlias() {
4888 addNamedSource("/lib.dart", r''' 4934 addNamedSource(
4935 "/lib.dart",
4936 r'''
4889 library lib; 4937 library lib;
4890 class A{}'''); 4938 class A{}''');
4891 Source source = addSource(r''' 4939 Source source = addSource(r'''
4892 import 'lib.dart' as p; 4940 import 'lib.dart' as p;
4893 typedef p(); 4941 typedef p();
4894 p.A a;'''); 4942 p.A a;''');
4895 computeLibrarySourceErrors(source); 4943 computeLibrarySourceErrors(source);
4896 assertErrors( 4944 assertErrors(
4897 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); 4945 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]);
4898 verify([source]); 4946 verify([source]);
4899 } 4947 }
4900 4948
4901 void test_prefixCollidesWithTopLevelMembers_topLevelFunction() { 4949 void test_prefixCollidesWithTopLevelMembers_topLevelFunction() {
4902 addNamedSource("/lib.dart", r''' 4950 addNamedSource(
4951 "/lib.dart",
4952 r'''
4903 library lib; 4953 library lib;
4904 class A{}'''); 4954 class A{}''');
4905 Source source = addSource(r''' 4955 Source source = addSource(r'''
4906 import 'lib.dart' as p; 4956 import 'lib.dart' as p;
4907 p() {} 4957 p() {}
4908 p.A a;'''); 4958 p.A a;''');
4909 computeLibrarySourceErrors(source); 4959 computeLibrarySourceErrors(source);
4910 assertErrors( 4960 assertErrors(
4911 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); 4961 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]);
4912 verify([source]); 4962 verify([source]);
4913 } 4963 }
4914 4964
4915 void test_prefixCollidesWithTopLevelMembers_topLevelVariable() { 4965 void test_prefixCollidesWithTopLevelMembers_topLevelVariable() {
4916 addNamedSource("/lib.dart", r''' 4966 addNamedSource(
4967 "/lib.dart",
4968 r'''
4917 library lib; 4969 library lib;
4918 class A{}'''); 4970 class A{}''');
4919 Source source = addSource(r''' 4971 Source source = addSource(r'''
4920 import 'lib.dart' as p; 4972 import 'lib.dart' as p;
4921 var p = null; 4973 var p = null;
4922 p.A a;'''); 4974 p.A a;''');
4923 computeLibrarySourceErrors(source); 4975 computeLibrarySourceErrors(source);
4924 assertErrors( 4976 assertErrors(
4925 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); 4977 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]);
4926 verify([source]); 4978 verify([source]);
4927 } 4979 }
4928 4980
4929 void test_prefixCollidesWithTopLevelMembers_type() { 4981 void test_prefixCollidesWithTopLevelMembers_type() {
4930 addNamedSource("/lib.dart", r''' 4982 addNamedSource(
4983 "/lib.dart",
4984 r'''
4931 library lib; 4985 library lib;
4932 class A{}'''); 4986 class A{}''');
4933 Source source = addSource(r''' 4987 Source source = addSource(r'''
4934 import 'lib.dart' as p; 4988 import 'lib.dart' as p;
4935 class p {} 4989 class p {}
4936 p.A a;'''); 4990 p.A a;''');
4937 computeLibrarySourceErrors(source); 4991 computeLibrarySourceErrors(source);
4938 assertErrors( 4992 assertErrors(
4939 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); 4993 source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]);
4940 verify([source]); 4994 verify([source]);
(...skipping 21 matching lines...) Expand all
4962 p += 1; 5016 p += 1;
4963 } 5017 }
4964 '''); 5018 ''');
4965 computeLibrarySourceErrors(source); 5019 computeLibrarySourceErrors(source);
4966 assertErrors( 5020 assertErrors(
4967 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]); 5021 source, [CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT]);
4968 verify([source]); 5022 verify([source]);
4969 } 5023 }
4970 5024
4971 void test_prefixNotFollowedByDot_conditionalMethodInvocation() { 5025 void test_prefixNotFollowedByDot_conditionalMethodInvocation() {
4972 addNamedSource('/lib.dart', ''' 5026 addNamedSource(
5027 '/lib.dart',
5028 '''
4973 library lib; 5029 library lib;
4974 g() {} 5030 g() {}
4975 '''); 5031 ''');
4976 Source source = addSource(''' 5032 Source source = addSource('''
4977 import 'lib.dart' as p; 5033 import 'lib.dart' as p;
4978 f() { 5034 f() {
4979 p?.g(); 5035 p?.g();
4980 } 5036 }
4981 '''); 5037 ''');
4982 computeLibrarySourceErrors(source); 5038 computeLibrarySourceErrors(source);
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
5540 library lib1; 5596 library lib1;
5541 f1() {}''', 5597 f1() {}''',
5542 r''' 5598 r'''
5543 library lib2; 5599 library lib2;
5544 f2() {}''', 5600 f2() {}''',
5545 r''' 5601 r'''
5546 library root; 5602 library root;
5547 import 'lib1.dart' deferred as lib; 5603 import 'lib1.dart' deferred as lib;
5548 import 'lib2.dart' as lib; 5604 import 'lib2.dart' as lib;
5549 main() { lib.f1(); lib.f2(); }''' 5605 main() { lib.f1(); lib.f2(); }'''
5550 ], <ErrorCode>[CompileTimeErrorCode.SHARED_DEFERRED_PREFIX]); 5606 ], <ErrorCode>[
5607 CompileTimeErrorCode.SHARED_DEFERRED_PREFIX
5608 ]);
5551 } 5609 }
5552 5610
5553 void test_superInInvalidContext_binaryExpression() { 5611 void test_superInInvalidContext_binaryExpression() {
5554 Source source = addSource("var v = super + 0;"); 5612 Source source = addSource("var v = super + 0;");
5555 computeLibrarySourceErrors(source); 5613 computeLibrarySourceErrors(source);
5556 assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); 5614 assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]);
5557 // no verify(), 'super.v' is not resolved 5615 // no verify(), 'super.v' is not resolved
5558 } 5616 }
5559 5617
5560 void test_superInInvalidContext_constructorFieldInitializer() { 5618 void test_superInInvalidContext_constructorFieldInitializer() {
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
6121 source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR]); 6179 source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR]);
6122 verify([source]); 6180 verify([source]);
6123 reset(); 6181 reset();
6124 } 6182 }
6125 6183
6126 void _check_wrongNumberOfParametersForOperator1(String name) { 6184 void _check_wrongNumberOfParametersForOperator1(String name) {
6127 _check_wrongNumberOfParametersForOperator(name, ""); 6185 _check_wrongNumberOfParametersForOperator(name, "");
6128 _check_wrongNumberOfParametersForOperator(name, "a, b"); 6186 _check_wrongNumberOfParametersForOperator(name, "a, b");
6129 } 6187 }
6130 } 6188 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/generated/ast_test.dart ('k') | pkg/analyzer/test/generated/element_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698