| Index: pkg/analyzer/test/generated/non_error_resolver_test.dart
|
| diff --git a/pkg/analyzer/test/generated/non_error_resolver_test.dart b/pkg/analyzer/test/generated/non_error_resolver_test.dart
|
| index bf7b82b91d45908833ba577f13ba9dacfcec0259..c341ef444b574e8f995d18c65e10acd02d5414a4 100644
|
| --- a/pkg/analyzer/test/generated/non_error_resolver_test.dart
|
| +++ b/pkg/analyzer/test/generated/non_error_resolver_test.dart
|
| @@ -34,6 +34,7 @@ enum E { ONE }
|
| E e() {
|
| return E.TWO;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -54,6 +55,7 @@ class C extends A with B {
|
| }
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -69,6 +71,7 @@ class B extends A {
|
| int m() => super.m();
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -87,6 +90,7 @@ class C extends B {
|
| int get m => super.m;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -109,6 +113,7 @@ class C extends B {
|
| int m() => super.m();
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -129,6 +134,7 @@ class C extends B {
|
| }
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -148,6 +154,7 @@ class M {}''');
|
| r'''
|
| library lib2;
|
| class N {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -169,6 +176,7 @@ class B {}''');
|
| library L2;
|
| class B {}
|
| class C {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -190,6 +198,7 @@ class B {}''');
|
| library L2;
|
| class B {}
|
| class C {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -204,6 +213,7 @@ export 'lib.dart';''');
|
| r'''
|
| library lib;
|
| class N {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -236,6 +246,7 @@ class N2 {}''');
|
| library lib3;
|
| class N {}
|
| class N3 {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -259,12 +270,14 @@ class N1 {}''');
|
| library lib2;
|
| class N {}
|
| class N2 {}''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source, [HintCode.UNUSED_SHOWN_NAME]);
|
| }
|
|
|
| test_annotated_partOfDeclaration() async {
|
| Source source = addSource('library L; part "part.dart";');
|
| addNamedSource('/part.dart', '@deprecated part of L;');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -282,6 +295,7 @@ class N2 {}''');
|
| main() {
|
| caller(new CallMeBack());
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -297,6 +311,7 @@ class TimestampedObject<E> {
|
| E object2;
|
| TimestampedObject(this.object2);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -308,6 +323,7 @@ class A<K> {
|
| f(v);
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -318,6 +334,7 @@ typedef A<T>(T p);
|
| f(A<int> a) {
|
| a(1);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -328,6 +345,7 @@ main() {
|
| process(() {});
|
| }
|
| process(Object x) {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -340,6 +358,7 @@ f() {
|
| A a = getA();
|
| a(1, '2');
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -350,6 +369,7 @@ typedef A(int p1, String p2);
|
| f(A a) {
|
| a(1, '2');
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -362,6 +382,7 @@ f() async {
|
| }
|
| Future<String> g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -373,6 +394,7 @@ f() {
|
| }
|
| g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -383,6 +405,7 @@ f() {
|
| assert(false, 3);
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -393,6 +416,7 @@ f() {
|
| assert(false, null);
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -403,6 +427,7 @@ f() {
|
| assert(false, 'message');
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -414,6 +439,7 @@ f() {
|
| assert(true, message);
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -430,6 +456,7 @@ main() {
|
| F f2 = (() => f());
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -446,6 +473,7 @@ main() {
|
| F f2 = (() => f());
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -456,6 +484,7 @@ f() {
|
| final x = 0;
|
| -x;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -470,6 +499,7 @@ main() {
|
| A a = new A();
|
| a.x = 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -486,6 +516,7 @@ class B {
|
| main() {
|
| B.a.x = 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -502,6 +533,7 @@ main() {
|
| r'''
|
| library lib1;
|
| bool x = false;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -512,6 +544,7 @@ dynamic f() async {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -522,6 +555,7 @@ dynamic f() async {
|
| return 5;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -530,6 +564,7 @@ dynamic f() async {
|
| Source source = addSource('''
|
| dynamic f() async {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -542,6 +577,7 @@ main() {
|
| F f = (int i) async => i;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -557,6 +593,7 @@ main() {
|
| }
|
| Future<int> f() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -568,6 +605,7 @@ Future<dynamic> f() async {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -579,6 +617,7 @@ Future<dynamic> f() async {
|
| return 5;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -588,6 +627,7 @@ Future<dynamic> f() async {
|
| import 'dart:async';
|
| Future<dynamic> f() async {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -599,6 +639,7 @@ Future<int> f() async {
|
| return new Future<int>.value(5);
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -610,6 +651,7 @@ Future<int> f() async {
|
| return 5;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -621,6 +663,7 @@ Future<Null> f() async {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -630,6 +673,7 @@ Future<Null> f() async {
|
| import 'dart:async';
|
| Future<Null> f() async {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -641,6 +685,7 @@ Future<Object> f() async {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -652,6 +697,7 @@ Future<Object> f() async {
|
| return 5;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -661,6 +707,7 @@ Future<Object> f() async {
|
| import 'dart:async';
|
| Future<Object> f() async {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -672,6 +719,7 @@ Future f() async {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -683,6 +731,7 @@ Future f() async {
|
| return 5;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -692,6 +741,7 @@ Future f() async {
|
| import 'dart:async';
|
| Future f() async {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -704,6 +754,7 @@ Future<int> f() async {
|
| }
|
| Future<Future<int>> g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -714,6 +765,7 @@ f() async {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -724,6 +776,7 @@ f() async {
|
| return 5;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -732,6 +785,7 @@ f() async {
|
| Source source = addSource('''
|
| f() async {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -742,6 +796,7 @@ f(list) async {
|
| await for (var e in list) {
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -752,6 +807,7 @@ f(list) async* {
|
| await for (var e in list) {
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -764,6 +820,7 @@ f() async {
|
| int b = await ffi();
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -776,6 +833,7 @@ f() async {
|
| int a = await fi();
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -785,6 +843,7 @@ f() async {
|
| f(x, y) async {
|
| return await x + await y;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -794,6 +853,7 @@ f(x, y) async {
|
| f(x, y) async* {
|
| yield await x + await y;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -808,6 +868,7 @@ class A {
|
| }
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -820,6 +881,7 @@ class C<T> {
|
|
|
| typedef Foo(param);
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -832,6 +894,7 @@ class C<T> {
|
|
|
| typedef Foo(param);
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -841,6 +904,7 @@ typedef Foo(param);
|
| f() {
|
| dynamic x;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -867,6 +931,7 @@ f(int p) {
|
| }
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -879,6 +944,7 @@ f(int p) {
|
| p = p + 1;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -905,6 +971,7 @@ void doSwitch(c) {
|
| case const C(1): print('Switch: 1'); break;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -917,6 +984,7 @@ f(int i) {
|
| default: return 0;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -934,6 +1002,7 @@ f(IntWrapper intWrapper) {
|
| default: return 0;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -946,6 +1015,7 @@ f(String s) {
|
| default: return 0;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -959,6 +1029,7 @@ class C = D with E;
|
|
|
| class D {}
|
| class E {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -974,6 +1045,7 @@ abstract class A {
|
| A(int p) {}
|
| }''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -994,6 +1066,7 @@ enum Samurai {
|
| WITHOUT_SWORD
|
| }''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1026,6 +1099,7 @@ enum Samurai {
|
| foo(int p) {
|
| }''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1039,6 +1113,7 @@ foo(int p) {
|
| /// [p]
|
| foo(int p) => null;''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1053,6 +1128,7 @@ foo(int p) => null;''';
|
| typedef Foo(int p);
|
| ''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1068,6 +1144,7 @@ abstract class A {
|
| get g => null;
|
| }''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1091,6 +1168,7 @@ abstract class A {
|
| md(int p5, {int p6});
|
| }''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1115,6 +1193,7 @@ class A {
|
| foo() {}
|
| }''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1136,6 +1215,7 @@ class B extends A {
|
| }
|
| ''';
|
| Source source = addSource(code);
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| CompilationUnit unit = await _getResolvedLibraryUnit(source);
|
| @@ -1156,6 +1236,7 @@ class B extends A {
|
| abstract class A {
|
| m();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1168,6 +1249,7 @@ class A {
|
| class B extends A {
|
| m();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1180,6 +1262,7 @@ class A {
|
| class B extends A {
|
| get v => 1;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1190,6 +1273,7 @@ class A {
|
| static get x => 0;
|
| static set x(int p) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1200,6 +1284,7 @@ class A {
|
| static x() {}
|
| static set x(int p) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1211,6 +1296,7 @@ class C<T> {
|
| }
|
| const c = const C(t: 1);
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1219,6 +1305,7 @@ const c = const C(t: 1);
|
| Source source = addSource('''
|
| const Type d = dynamic;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1231,6 +1318,7 @@ class A {
|
| class B extends A {
|
| const B(): super();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1246,6 +1334,7 @@ class B implements C {
|
| class C extends A {
|
| const factory C() = B;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1258,6 +1347,7 @@ class A {
|
| class B extends A {
|
| const B(): super();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source,
|
| [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT]);
|
| verify([source]);
|
| @@ -1269,6 +1359,7 @@ class A {
|
| final int x = 0;
|
| const A();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1281,6 +1372,7 @@ class A {
|
| class B extends Object with A {
|
| const B();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(
|
| source, [CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_MIXIN]);
|
| verify([source]);
|
| @@ -1292,6 +1384,7 @@ class A {
|
| static int x;
|
| const A();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1303,6 +1396,7 @@ class A {
|
| set x(value) {}
|
| get x {return 0;}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1327,6 +1421,7 @@ main() {
|
| Source source = addSource(r'''
|
| typedef F();
|
| const C = F;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1340,6 +1435,7 @@ const PI = 3.14;''');
|
| Source source = addSource(r'''
|
| import 'math.dart' as math;
|
| const C = math.PI;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1351,6 +1447,7 @@ class A {
|
| static m() {}
|
| }
|
| const C = A.m;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1364,6 +1461,7 @@ const PI = 3.14;''');
|
| Source source = addSource(r'''
|
| const C = #foo;
|
| foo() {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1393,6 +1491,7 @@ class B {
|
| const B.n1(num p) : v = p == null;
|
| const B.n2(num p) : v = null == p;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -1421,6 +1520,7 @@ class B {
|
| const B.n1(num p) : v = p != null;
|
| const B.n2(num p) : v = null != p;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1430,6 +1530,7 @@ class B {
|
| const String A = 'a';
|
| const String B = A + 'b';
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1451,6 +1552,7 @@ class C extends B {
|
| Map getMap() {
|
| return const { const C(0): 'Map: 0' };
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1460,6 +1562,7 @@ Map getMap() {
|
| class A {
|
| static const int x = 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1469,6 +1572,7 @@ class A {
|
| main() {
|
| const int x = 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1488,6 +1592,7 @@ class C extends B {
|
| }
|
| const y = const C();
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1498,6 +1603,7 @@ const app = 0;
|
| class A {
|
| A(@app int app) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1510,6 +1616,7 @@ class A {
|
| main() {
|
| const A(double.INFINITY);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1520,6 +1627,7 @@ class A {
|
| const A(a, b, c, d);
|
| }
|
| f() { return const A(true, 0, 1.0, '2'); }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1530,6 +1638,7 @@ class A<T> {
|
| static const V = const A<int>();
|
| const A();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1542,6 +1651,7 @@ class A {
|
| f() {
|
| return const A.name();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1554,24 +1664,28 @@ class A {
|
| f() {
|
| return const A();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_defaultValueInFunctionTypeAlias() async {
|
| Source source = addSource("typedef F([x]);");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_defaultValueInFunctionTypedParameter_named() async {
|
| Source source = addSource("f(g({p})) {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_defaultValueInFunctionTypedParameter_optional() async {
|
| Source source = addSource("f(g([p])) {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1588,6 +1702,7 @@ library lib1;
|
| class A {}
|
| @deprecated
|
| class B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1601,12 +1716,14 @@ Map _globalMap = {
|
| 'a' : () {},
|
| 'b' : () {}
|
| };''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_duplicateDefinition_getter() async {
|
| Source source = addSource("bool get a => true;");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1619,6 +1736,7 @@ library lib;
|
| part 'part1.dart';
|
| part 'part2.dart';
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1628,6 +1746,7 @@ part 'part2.dart';
|
| main() {
|
| var v = dynamic;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1638,6 +1757,7 @@ import 'dart:async';
|
| Stream<int> f() async* {
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1647,6 +1767,7 @@ Stream<int> f() async* {
|
| Iterable<int> f() sync* {
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1656,6 +1777,7 @@ Iterable<int> f() sync* {
|
| main() {
|
| <int> [];
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1665,6 +1787,7 @@ main() {
|
| main() {
|
| <int, int> {};
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1676,6 +1799,7 @@ export 'lib1.dart';
|
| export 'lib2.dart';''');
|
| addNamedSource("/lib1.dart", "");
|
| addNamedSource("/lib2.dart", "");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1685,6 +1809,7 @@ export 'lib2.dart';''');
|
| library L;
|
| export 'lib1.dart';''');
|
| addNamedSource("/lib1.dart", "library lib1;");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1694,6 +1819,7 @@ export 'lib1.dart';''');
|
| library L;
|
| export 'lib1.dart';''');
|
| addNamedSource("/lib1.dart", "");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1704,6 +1830,7 @@ f(p1, p2) {}
|
| main() {
|
| f(1, 2);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1713,6 +1840,7 @@ main() {
|
| f(Function a) {
|
| a(1, 2);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1727,6 +1855,7 @@ class B<E extends num> = A<E> with M;
|
| void main() {
|
| B<int> x = new B<int>(0,0);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1739,6 +1868,7 @@ f() {
|
| A a = getA();
|
| a(1, 2);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1749,6 +1879,7 @@ typedef A(p1, p2);
|
| f(A a) {
|
| a(1, 2);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1760,6 +1891,7 @@ class A {
|
| int y;
|
| A() : x = 0, y = 0 {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1770,6 +1902,7 @@ class A {
|
| int x = 0;
|
| A() : x = 1 {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1780,6 +1913,7 @@ class A {
|
| final int x;
|
| A() : x = 1 {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1790,6 +1924,7 @@ class A {
|
| int x;
|
| A(this.x) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1800,6 +1935,7 @@ class A {
|
| int x;
|
| A([this.x]) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1813,6 +1949,7 @@ class B extends A {
|
| int x;
|
| B(this.x) : super();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1823,6 +1960,7 @@ class A {
|
| final x;
|
| A() : x = 1 {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1833,6 +1971,7 @@ class A {
|
| final x;
|
| A(this.x) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1843,6 +1982,7 @@ class A {
|
| final int x = 0;
|
| A() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1853,6 +1993,7 @@ class A {
|
| final int x = 0;
|
| A() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1863,6 +2004,7 @@ class A {
|
| final Function x;
|
| A(int this.x(int p)) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1873,6 +2015,7 @@ class A native 'something' {
|
| final int x;
|
| A() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(
|
| source, [ParserErrorCode.NATIVE_CLAUSE_IN_NON_SDK_CODE]);
|
| verify([source]);
|
| @@ -1883,6 +2026,7 @@ class A native 'something' {
|
| class A native 'something' {
|
| final int x;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(
|
| source, [ParserErrorCode.NATIVE_CLAUSE_IN_NON_SDK_CODE]);
|
| verify([source]);
|
| @@ -1894,6 +2038,7 @@ class A {
|
| final int x;
|
| A() : x = 0 {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1905,12 +2050,14 @@ class A {
|
| A(this.x);
|
| A.named() : this (42);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_functionDeclaration_scope_returnType() async {
|
| Source source = addSource("int f(int) { return 0; }");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1919,12 +2066,14 @@ class A {
|
| Source source = addSource(r'''
|
| const app = 0;
|
| f(@app int app) {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_functionTypeAlias_scope_returnType() async {
|
| Source source = addSource("typedef int f(int);");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1933,6 +2082,7 @@ f(@app int app) {}''');
|
| Source source = addSource(r'''
|
| const app = 0;
|
| typedef int f(@app int app);''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1949,12 +2099,14 @@ class C extends A {
|
| }
|
| class D extends C {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_functionWithoutCall_doesNotImplementFunction() async {
|
| Source source = addSource("class A {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1966,6 +2118,7 @@ class B extends A {
|
| static call() { }
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1978,6 +2131,7 @@ class A implements Function {
|
| return 42;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -1989,6 +2143,7 @@ class A {
|
| }
|
| class B extends Object with A implements Function {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2000,6 +2155,7 @@ class A {
|
| }
|
| class B extends A implements Function {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2022,6 +2178,7 @@ main() {
|
| new C2(5);
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2035,6 +2192,7 @@ class B {
|
| var v;
|
| B() : v = new A.named();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2045,6 +2203,7 @@ import 'dart:async' as abstract;
|
| class A {
|
| var v = new abstract.Completer();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2058,6 +2217,7 @@ class B {
|
| var v;
|
| B(A a) : v = a.f;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2071,6 +2231,7 @@ class B {
|
| var v;
|
| B() : v = new A().f();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2084,6 +2245,7 @@ class B {
|
| var v;
|
| B() : v = new A().f;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2095,6 +2257,7 @@ class A {
|
| A() : v = f;
|
| static var f;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2106,6 +2269,7 @@ class A {
|
| A() : v = f;
|
| static get f => 42;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2117,6 +2281,7 @@ class A {
|
| A() : v = f();
|
| static f() => 42;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2128,6 +2293,7 @@ class A {
|
| A() : v = f;
|
| }
|
| var f = 42;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2139,6 +2305,7 @@ class A {
|
| A() : v = f();
|
| }
|
| f() => 42;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2150,6 +2317,7 @@ class A {
|
| A() : v = f;
|
| }
|
| get f => 42;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2160,6 +2328,7 @@ class A<T> {
|
| var v;
|
| A(p) : v = (p is T);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2170,6 +2339,7 @@ library test;
|
| import 'lib.dart';
|
| import 'lib.dart';''');
|
| addNamedSource("/lib.dart", "library lib;");
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source, [
|
| HintCode.UNUSED_IMPORT,
|
| HintCode.UNUSED_IMPORT,
|
| @@ -2185,6 +2355,7 @@ import 'lib1.dart';
|
| import 'lib2.dart';''');
|
| addNamedSource("/lib1.dart", "");
|
| addNamedSource("/lib2.dart", "");
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source, [
|
| // No warning on duplicate import (https://github.com/dart-lang/sdk/issues/24156)
|
| HintCode.UNUSED_IMPORT,
|
| @@ -2203,6 +2374,7 @@ A a;''');
|
| r'''
|
| library lib1;
|
| class A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2213,6 +2385,7 @@ library lib;
|
| import 'part.dart';
|
| A a;''');
|
| addNamedSource("/part.dart", "class A {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2236,6 +2409,7 @@ test1() {}''');
|
| r'''
|
| library lib2;
|
| test2() {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2250,6 +2424,7 @@ f(var p) {
|
| break;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2263,6 +2438,7 @@ class B<E> {
|
| E get x {return null;}
|
| }
|
| class C<E> extends A<E> implements B<E> {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2278,6 +2454,7 @@ abstract class B<E> {
|
| class C<E> implements A<E>, B<E> {
|
| E get x => null;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2296,6 +2473,7 @@ abstract class B<E> implements C<E> {
|
| }
|
| class A<E> extends B<E> implements D<E> {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2311,6 +2489,7 @@ class B<E> {
|
| class C<E> extends A<E> implements B<E> {
|
| x(E e) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2326,6 +2505,7 @@ class B<E> {
|
| class C<E> implements A<E>, B<E> {
|
| x(E e) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2342,6 +2522,7 @@ abstract class I<U> {
|
| class C extends B<double> implements I<int> {
|
| num get g => null;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2358,6 +2539,7 @@ abstract class I<U> {
|
| class C extends B<double> implements I<int> {
|
| m(num n) => null;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2374,6 +2556,7 @@ abstract class I<U> {
|
| class C extends B<double> implements I<int> {
|
| set t(num n) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2389,6 +2572,7 @@ abstract class B {
|
| class C implements A, B {
|
| x() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2399,6 +2583,7 @@ class A {
|
| int x;
|
| A(this.x) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2415,6 +2600,7 @@ class D {
|
| @D(const C())
|
| f() {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2427,6 +2613,7 @@ class A {
|
| /// [A.m]
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2437,6 +2624,7 @@ m() {}
|
| main() {
|
| m();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2449,6 +2637,7 @@ class A {
|
| static foo() {
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2466,6 +2655,7 @@ library L;
|
| class A {
|
| static var _m;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2483,6 +2673,7 @@ library L;
|
| class A {
|
| static _m() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2493,6 +2684,7 @@ class A {
|
| class A {
|
| static const C = 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2510,6 +2702,7 @@ import 'lib.dart' as p;
|
| @p.A.C
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2520,6 +2713,7 @@ const C = 0;
|
| @C
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2535,6 +2729,7 @@ import 'lib.dart' as p;
|
| @p.C
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2552,6 +2747,7 @@ import 'lib.dart' as p;
|
| @p.A(42)
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2569,6 +2765,7 @@ import 'lib.dart' as p;
|
| @p.A.named(42)
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2580,6 +2777,7 @@ f() {
|
| var y;
|
| x = y;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2596,6 +2794,7 @@ void main() {
|
| byte b = new byte(52);
|
| b += 3;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2604,6 +2803,7 @@ void main() {
|
| Source source = addSource(r'''
|
| f({String x: '0'}) {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2612,6 +2812,7 @@ f({String x: '0'}) {
|
| Source source = addSource(r'''
|
| f([String x = '0']) {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2623,6 +2824,7 @@ void f(int i) {
|
| n ??= i;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2634,6 +2836,7 @@ void f(int i) {
|
| j ??= i;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2654,6 +2857,7 @@ class C implements I {
|
| }
|
| typedef int IntToInt(int x);
|
| IntToInt f = new I();''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2674,6 +2878,7 @@ class C implements I {
|
| }
|
| typedef int IntToInt(int x);
|
| IntToInt f = new C();''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2692,6 +2897,7 @@ class C implements I {
|
| }
|
| typedef int IntToInt(int x);
|
| Function f = new C();''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2717,6 +2923,7 @@ class C implements I {
|
| }
|
| typedef int VoidToInt();
|
| VoidToInt f = new C();''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2727,6 +2934,7 @@ f() {
|
| var g;
|
| g = () => 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2736,6 +2944,7 @@ f() {
|
| class A {
|
| factory A() => null;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2749,6 +2958,7 @@ class A {
|
| int yield;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2761,6 +2971,7 @@ class A {
|
| class B implements A {
|
| m({int a, int b}) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2773,6 +2984,7 @@ class A {
|
| class B extends A {
|
| m({int p : 0}) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2786,6 +2998,7 @@ class A {
|
| class B extends A {
|
| thing(String a, {orElse : nothing}) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2798,6 +3011,7 @@ class A {
|
| class B extends A {
|
| m([int p = 0]) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2810,6 +3024,7 @@ class A {
|
| class B extends A {
|
| m([int b = 0, String a = '0']) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2823,6 +3038,7 @@ class A {
|
| class B extends A {
|
| thing(String a, [orElse = nothing]) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2835,6 +3051,7 @@ class A {
|
| class B extends A {
|
| m({b, a}) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2847,6 +3064,7 @@ class A {
|
| class B extends A {
|
| m(a, [b]) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2859,6 +3077,7 @@ class A {
|
| class B extends A {
|
| m(a) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2873,6 +3092,7 @@ abstract class A {
|
| class B implements A {
|
| int m() { return 1; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2889,6 +3109,7 @@ abstract class B implements A {
|
| class C implements B {
|
| int m() { return 1; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2903,6 +3124,7 @@ class A {
|
| class B extends Object with A {
|
| int m() { return 1; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2915,6 +3137,7 @@ abstract class A<E> {
|
| class B extends A<dynamic> {
|
| List<dynamic> m() { return new List<dynamic>(); }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2929,6 +3152,7 @@ class A {
|
| class B extends A {
|
| int m() { return 1; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2943,6 +3167,7 @@ class A {
|
| class B extends A {
|
| int m() { return 1; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2959,6 +3184,7 @@ class B extends A {
|
| class C extends B {
|
| int m() { return 1; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2971,6 +3197,7 @@ class A {
|
| class B extends A {
|
| int m() { return 0; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2982,6 +3209,7 @@ class A {
|
| var v = this;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -2993,6 +3221,7 @@ class A {
|
| var v = this;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3004,6 +3233,7 @@ class A {
|
| return const <int, int>{};
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3015,6 +3245,7 @@ class A<E> {
|
| return <E>[];
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3026,6 +3257,7 @@ class A<E> {
|
| return <String, E>{};
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3040,6 +3272,7 @@ class B extends A {
|
| f();
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3056,6 +3289,7 @@ class C<T, U extends Action<T>> {
|
| }
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3069,6 +3303,7 @@ f() {
|
| A a;
|
| a.g();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3079,6 +3314,7 @@ f() {
|
| var g;
|
| g();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3090,6 +3326,7 @@ main() {
|
| var v = f;
|
| v();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3102,6 +3339,7 @@ main() {
|
| v = 1;
|
| v();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3112,6 +3350,7 @@ main() {
|
| Object v = null;
|
| v();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3129,6 +3368,7 @@ main() {
|
| Functor f = new Functor();
|
| f();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3144,6 +3384,7 @@ f(S s) async {
|
| }
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3152,6 +3393,7 @@ f(S s) async {
|
| Source source = addSource(r'''
|
| var v1 = <int> [42];
|
| var v2 = const <int> [42];''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3175,6 +3417,7 @@ f() {
|
| return () async* { yield 0; };
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3185,12 +3428,14 @@ f() {
|
| return () sync* { yield 0; };
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_mapKeyTypeNotAssignable() async {
|
| Source source = addSource("var v = <String, int > {'a' : 1};");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3200,6 +3445,7 @@ f() {
|
| class A {
|
| set A(v) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3210,6 +3456,7 @@ const app = 0;
|
| class A {
|
| foo(@app int app) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3220,6 +3467,7 @@ class C {
|
| int get x => 0;
|
| set x(int v) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3230,6 +3478,7 @@ class C {
|
| get x => 0;
|
| set x(String v) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3240,6 +3489,7 @@ class C {
|
| int get x => 0;
|
| set x(v) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3248,6 +3498,7 @@ class C {
|
| Source source = addSource(r'''
|
| int get x => 0;
|
| set x(int v) {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3256,6 +3507,7 @@ set x(int v) {}''');
|
| Source source = addSource(r'''
|
| get x => 0;
|
| set x(String v) {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3264,6 +3516,7 @@ set x(String v) {}''');
|
| Source source = addSource(r'''
|
| int get x => 0;
|
| set x(v) {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3279,6 +3532,7 @@ f(E e) {
|
| case E.C: break;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3293,6 +3547,7 @@ f(E e) {
|
| default: break;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3308,6 +3563,7 @@ class C {
|
| return 0;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3318,6 +3574,7 @@ f(bool p) {
|
| if (p) return 42;
|
| // implicit 'return;' is ignored
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3332,6 +3589,7 @@ f(bool p) {
|
| }
|
| // implicit 'return;' is ignored
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3346,6 +3604,7 @@ class C {
|
| return 0;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3356,6 +3615,7 @@ class A {
|
| m() {}
|
| }
|
| class B extends Object with A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3366,6 +3626,7 @@ class A {
|
| factory A() => null;
|
| }
|
| class B extends Object with A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3378,6 +3639,7 @@ class B extends Object with A {}''');
|
| class A {}
|
| class B extends A {}
|
| class C extends Object with B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3387,6 +3649,7 @@ class C extends Object with B {}''');
|
| class A {}
|
| class B = Object with A;
|
| class C extends Object with B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3399,6 +3662,7 @@ class C extends Object with B {}''');
|
| class A {}
|
| class B extends Object with A {}
|
| class C extends Object with B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3411,6 +3675,7 @@ class C extends Object with B {}''');
|
| class A {}
|
| class B extends A {}
|
| class C = Object with B;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3423,6 +3688,7 @@ class C = Object with B;''');
|
| class A {}
|
| class B extends Object with A {}
|
| class C = Object with B;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3432,6 +3698,7 @@ class C = Object with B;''');
|
| class A {}
|
| class B = Object with A;
|
| class C = Object with B;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3445,6 +3712,7 @@ class A {
|
| toString() => super.toString();
|
| }
|
| class B extends Object with A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3455,6 +3723,7 @@ class A {}
|
| class B extends A {
|
| B() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3465,6 +3734,7 @@ class A {}
|
| class B extends A {
|
| B() : super() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3476,6 +3746,7 @@ class Foo {
|
| const Foo() native 'Foo_Foo';
|
| const factory Foo.foo() native 'Foo_Foo_foo';
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| // Cannot verify the AST because the import's URI cannot be resolved.
|
| }
|
| @@ -3484,6 +3755,7 @@ class Foo {
|
| Source source = addSource(r'''
|
| import 'dart-ext:x';
|
| int m(a) native 'string';''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| // Cannot verify the AST because the import's URI cannot be resolved.
|
| }
|
| @@ -3499,6 +3771,7 @@ class B implements A {
|
| A f() {
|
| return new A();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3511,6 +3784,7 @@ class A {
|
| f() {
|
| new A.name();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3523,6 +3797,7 @@ class A {
|
| f() {
|
| new A();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3536,6 +3811,7 @@ abstract class B extends A {
|
| int get g;
|
| }
|
| class C extends B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3549,6 +3825,7 @@ abstract class B extends A {
|
| m(p);
|
| }
|
| class C extends B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3562,6 +3839,7 @@ abstract class B extends A {
|
| set s(v);
|
| }
|
| class C extends B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3575,6 +3853,7 @@ abstract class I {
|
| m();
|
| }
|
| abstract class B = A with M implements I;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3587,6 +3866,7 @@ abstract class M {
|
| }
|
| abstract class A {}
|
| abstract class B = A with M;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3599,6 +3879,7 @@ abstract class A {
|
| m();
|
| }
|
| abstract class B = A with M;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3614,6 +3895,7 @@ abstract class M {
|
| }
|
| class B extends A with M {}
|
| class C extends B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3628,6 +3910,7 @@ abstract class M {
|
| }
|
| class B extends A with M {}
|
| class C extends B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3642,6 +3925,7 @@ abstract class M {
|
| }
|
| class B extends A with M {}
|
| class C extends B {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3654,6 +3938,7 @@ abstract class A {
|
| class B extends A {
|
| noSuchMethod(v) => '';
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3666,6 +3951,7 @@ abstract class A {
|
| class B extends A {
|
| noSuchMethod(v) => '';
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3678,6 +3964,7 @@ class A {
|
| class B extends Object with A {
|
| m(p);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3690,6 +3977,7 @@ class A {
|
| class B extends A {
|
| m(p);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3701,6 +3989,7 @@ class A {
|
| }
|
| class C {}
|
| class B extends A with C {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3711,6 +4000,7 @@ bool makeAssertion() => true;
|
| f() {
|
| assert(makeAssertion);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3720,6 +4010,7 @@ f() {
|
| f() {
|
| assert(true);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3732,6 +4023,7 @@ f(bool pb, pd) {
|
| !pb;
|
| !pd;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3746,6 +4038,7 @@ f2() {
|
| !dynamic;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3755,6 +4048,7 @@ f2() {
|
| bool f(bool left, bool right) {
|
| return left && right;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3764,6 +4058,7 @@ bool f(bool left, bool right) {
|
| bool f(left, dynamic right) {
|
| return left && right;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3773,6 +4068,7 @@ bool f(left, dynamic right) {
|
| bool f(bool left, bool right) {
|
| return left || right;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3782,6 +4078,7 @@ bool f(bool left, bool right) {
|
| bool f(dynamic left, right) {
|
| return left || right;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3790,18 +4087,21 @@ bool f(dynamic left, right) {
|
| Source source = addSource(r'''
|
| f([a = double.INFINITY]) {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_nonConstantDefaultValue_function_named() async {
|
| Source source = addSource("f({x : 2 + 3}) {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_nonConstantDefaultValue_function_positional() async {
|
| Source source = addSource("f([x = 2 + 3]) {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3811,6 +4111,7 @@ f([a = double.INFINITY]) {
|
| class A {
|
| A({x : 2 + 3}) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3820,6 +4121,7 @@ class A {
|
| class A {
|
| A([x = 2 + 3]) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3829,6 +4131,7 @@ class A {
|
| class A {
|
| m({x : 2 + 3}) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3838,6 +4141,7 @@ class A {
|
| class A {
|
| m([x = 2 + 3]) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3850,6 +4154,7 @@ class A {
|
| class B extends A {
|
| m([p222 = const <String>[]]) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3863,6 +4168,7 @@ class A {
|
| class B extends A {
|
| const B({b}) : super(a: b);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3877,6 +4183,7 @@ f(double p) {
|
| return false;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(
|
| source, [CompileTimeErrorCode.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]);
|
| verify([source]);
|
| @@ -3893,6 +4200,7 @@ f(Type t) {
|
| return false;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3902,6 +4210,7 @@ f(Type t) {
|
| main() {
|
| const [double.INFINITY];
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3911,6 +4220,7 @@ main() {
|
| f() {
|
| const {'a' : 0, 'b' : 1};
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3920,6 +4230,7 @@ f() {
|
| f() {
|
| var m = {'a' : 0, 'b' : 1};
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3929,6 +4240,7 @@ f() {
|
| f() {
|
| <String, int> {'a' : 0, 'b' : 1};
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3938,6 +4250,7 @@ f() {
|
| main() {
|
| const {double.INFINITY: 0};
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source,
|
| [CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]);
|
| verify([source]);
|
| @@ -3948,6 +4261,7 @@ main() {
|
| main() {
|
| const {0: double.INFINITY};
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -3961,6 +4275,7 @@ class A {
|
| const A.b1(bool p) : v = p || true;
|
| const A.b2(bool p) : v = true || p;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source, [HintCode.DEAD_CODE]);
|
| verify([source]);
|
| }
|
| @@ -3990,6 +4305,7 @@ class A {
|
| const A.j1(p) : v = p % 5;
|
| const A.j2(p) : v = 5 % p;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| // operations on "p" are not resolved
|
| }
|
| @@ -4009,6 +4325,7 @@ class A {
|
| const A.e1(int p) : v = p << 5;
|
| const A.e2(int p) : v = 5 << p;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4038,6 +4355,7 @@ class A {
|
| const A.j1(num p) : v = p % 5;
|
| const A.j2(num p) : v = 5 % p;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4048,6 +4366,7 @@ class A {
|
| final int a;
|
| const A() : a = 5;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4058,6 +4377,7 @@ class A {
|
| const A.named(p);
|
| const A() : this.named(42);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4070,6 +4390,7 @@ class A {
|
| class B extends A {
|
| const B() : super(42);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4082,6 +4403,7 @@ class A {
|
| const A.b(int p) : v = ~p;
|
| const A.c(num p) : v = -p;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4095,6 +4417,7 @@ class A {
|
| class B extends A {
|
| B() : super.named();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4106,6 +4429,7 @@ f() {
|
| } on String catch (e) {
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4118,6 +4442,7 @@ f() {
|
| } on F catch (e) {
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4131,6 +4456,7 @@ class A<T> {
|
| }
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4142,6 +4468,7 @@ f() {
|
| } catch (e) {
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4151,6 +4478,7 @@ f() {
|
| class A {
|
| operator []=(a, b) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4160,18 +4488,21 @@ class A {
|
| class A {
|
| void operator []=(a, b) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_nonVoidReturnForSetter_function_no() async {
|
| Source source = addSource("set x(v) {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_nonVoidReturnForSetter_function_void() async {
|
| Source source = addSource("void set x(v) {}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4181,6 +4512,7 @@ class A {
|
| class A {
|
| set x(v) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4190,6 +4522,7 @@ class A {
|
| class A {
|
| void set x(v) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4199,6 +4532,7 @@ class A {
|
| main() {
|
| null.m();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4209,6 +4543,7 @@ main() {
|
| null == 5;
|
| null[0];
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4217,6 +4552,7 @@ main() {
|
| class A {
|
| operator +(p) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4225,6 +4561,7 @@ class A {
|
| // The final "f" should refer to the toplevel function "f", not to the
|
| // parameter called "f". See dartbug.com/13179.
|
| Source source = addSource('void f([void f([x]) = f]) {}');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4240,6 +4577,7 @@ f() {
|
| }
|
| h(x) {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4255,6 +4593,7 @@ class C {
|
| }
|
| h(x) {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4268,6 +4607,7 @@ g(g) {
|
| }
|
| h(x) {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4285,6 +4625,7 @@ p2() {}
|
| var p3;
|
| class p4 {}
|
| p.A a;''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4295,6 +4636,7 @@ abstract class A<E> {}
|
| abstract class B<F> implements A<F>{}
|
| abstract class C<G, H extends A<G>> {}
|
| class D<I> extends C<I, B<I>> {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4309,6 +4651,7 @@ class B<S> extends A<S> {
|
| B(S p) : super(p);
|
| B.named(S p) : super.named(p);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4326,6 +4669,7 @@ f(A a) {
|
| a++;
|
| ++a;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4344,6 +4688,7 @@ class B {
|
| ++a;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4362,6 +4707,7 @@ class B {
|
| }
|
| @proxy
|
| class A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4374,6 +4720,7 @@ main() {
|
| new PrefixProxy().foo;
|
| new PrefixProxy().foo();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4389,6 +4736,7 @@ class B {
|
| var y = this + this;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4405,6 +4753,7 @@ class B extends A {
|
| }
|
| @proxy
|
| class A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4421,6 +4770,7 @@ class B extends Object with A {
|
| }
|
| @proxy
|
| class A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4437,6 +4787,7 @@ class B implements A {
|
| }
|
| @proxy
|
| class A {}''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -4464,6 +4815,7 @@ class A {
|
| A.b() : this.c();
|
| A.c() {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4479,6 +4831,7 @@ class B implements A {
|
| class C implements B {
|
| factory C() => null;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4491,6 +4844,7 @@ class A implements B {
|
| class B {
|
| factory B(int p) = A;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4503,6 +4857,7 @@ class A {
|
| class B extends A {
|
| factory B() = A;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4513,6 +4868,7 @@ class A {
|
| const A.a();
|
| const factory A.b() = A.a;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4528,6 +4884,7 @@ main() {
|
| var stream = 123;
|
| print(stream);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4540,6 +4897,7 @@ class A {
|
| f() {
|
| var x = new A.x();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4552,6 +4910,7 @@ class A {
|
| f(A a) {
|
| var x = a.x();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4564,6 +4923,7 @@ class A {
|
| f(A a) {
|
| var x = a.x;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4575,6 +4935,7 @@ class A {
|
| try {} catch (e) {rethrow;}
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4586,6 +4947,7 @@ Stream<int> f() async* {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4596,6 +4958,7 @@ Iterable<int> f() sync* {
|
| return;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4605,6 +4968,7 @@ Iterable<int> f() sync* {
|
| class A {
|
| A() { return; }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4614,6 +4978,7 @@ class A {
|
| f() async {
|
| return 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4623,6 +4988,7 @@ f() async {
|
| f() {
|
| return 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4635,6 +5001,7 @@ class A {
|
| return 0;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4653,6 +5020,7 @@ class A {
|
| }
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4664,6 +5032,7 @@ class I<T> {
|
| }
|
| class A<T> implements I {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4673,6 +5042,7 @@ class A<T> implements I {
|
| class A {}
|
| class B extends A {}
|
| A f(B b) { return b; }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4682,6 +5052,7 @@ A f(B b) { return b; }''');
|
| class A {}
|
| class B extends A {}
|
| B f(A a) { return a; }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4701,6 +5072,7 @@ B f(A a) { return a; }''');
|
| class Foo<T> {
|
| Type get t => T;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4715,18 +5087,21 @@ void f5() { return g2(); }
|
| g1() {}
|
| void g2() {}
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_returnWithoutValue_noReturnType() async {
|
| Source source = addSource("f() { return; }");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_returnWithoutValue_void() async {
|
| Source source = addSource("void f() { return; }");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4739,6 +5114,7 @@ class Codec<S1, T1> {
|
| class _InvertedCodec<T2, S2> extends Codec<T2, S2> {
|
| _InvertedCodec(Codec<S2, T2> codec);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4771,6 +5147,7 @@ class A {
|
| @A.name()
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4784,6 +5161,7 @@ main() {
|
| A.m;
|
| A.m();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4797,6 +5175,7 @@ main() {
|
| A.f;
|
| A.f = 1;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4811,6 +5190,7 @@ main() {
|
| A.f;
|
| A.f = 1;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4828,6 +5208,7 @@ class B extends A {
|
| var v = super.m();
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4838,6 +5219,7 @@ typedef B A();
|
| class B {
|
| A a;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4850,6 +5232,7 @@ class G<E extends A> {
|
| const G();
|
| }
|
| f() { return const G<B>(); }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4860,6 +5243,7 @@ class A {}
|
| class B extends A {}
|
| class G<E extends A> {}
|
| f() { return new G<B>(); }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4872,6 +5256,7 @@ typedef F<T extends A>();
|
| F<A> fa;
|
| F<B> fb;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4884,6 +5269,7 @@ class A<T, P extends MyClass<T>> {
|
| MyFunction<T, P> f;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4894,18 +5280,21 @@ typedef F<T>();
|
| F<int> f1;
|
| F<String> f2;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_typeArgumentNotMatchingBounds_typeArgumentList_0() async {
|
| Source source = addSource("abstract class A<T extends A>{}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
|
|
| test_typeArgumentNotMatchingBounds_typeArgumentList_1() async {
|
| Source source = addSource("abstract class A<T extends A<A>>{}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4913,6 +5302,7 @@ F<String> f2;
|
| test_typeArgumentNotMatchingBounds_typeArgumentList_20() async {
|
| Source source = addSource(
|
| "abstract class A<T extends A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A>>>>>>>>>>>>>>>>>>>>>{}");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4922,6 +5312,7 @@ F<String> f2;
|
| main(Object p) {
|
| p is String && p.length != 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4932,6 +5323,7 @@ callMe(f()) { f(); }
|
| main(Object p) {
|
| (p is String) && callMe(() { p.length; });
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4947,6 +5339,7 @@ print(_) {}
|
| main(A p) {
|
| (p is C) && (print(() => p) && (p is B)) ? p.mc() : p = null;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4956,6 +5349,7 @@ main(A p) {
|
| main(Object p) {
|
| p is String ? p.length : 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4966,6 +5360,7 @@ callMe(f()) { f(); }
|
| main(Object p) {
|
| p is String ? callMe(() { p.length; }) : 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4981,6 +5376,7 @@ main(FuncA f) {
|
| f(new A());
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -4995,6 +5391,7 @@ main(FuncAtoDyn f) {
|
| A a = f(new A());
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5009,6 +5406,7 @@ main(FuncDynToVoid f) {
|
| A a = f(null);
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5023,6 +5421,7 @@ main(Object p) {
|
| });
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5041,6 +5440,7 @@ main(A<V> p) {
|
| p.b;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5053,6 +5453,7 @@ main(Object p) {
|
| }
|
| p = 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5065,6 +5466,7 @@ main(Object p, Object p2) {
|
| p.length;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5083,6 +5485,7 @@ main(A<V> p) {
|
| p.b;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5097,6 +5500,7 @@ main() {
|
| p = 0;
|
| };
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5109,6 +5513,7 @@ main(Object p) {
|
| p.length;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5121,6 +5526,7 @@ main(Object p) {
|
| p.length;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5139,6 +5545,7 @@ main(Object p) {
|
| p.b;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5150,6 +5557,7 @@ main(Object p) {
|
| p.length;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5161,6 +5569,7 @@ main(Object p) {
|
| p.length;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5173,6 +5582,7 @@ main(Object p) {
|
| ((p)) is String ? p.length : 0;
|
| ((p) is String) ? p.length : 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5184,6 +5594,7 @@ f(Type t) {}
|
| main() {
|
| f(C);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5200,6 +5611,7 @@ f(Type t) {}
|
| main() {
|
| f(p.C);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5211,6 +5623,7 @@ f(Type t) {}
|
| main() {
|
| f(F);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5227,6 +5640,7 @@ f(Type t) {}
|
| main() {
|
| f(p.F);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5239,6 +5653,7 @@ class A {
|
| class B extends A {
|
| B() : super.named();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5251,6 +5666,7 @@ class A {
|
| class B extends A {
|
| B() : super();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5263,6 +5679,7 @@ class A {
|
| class B extends A {
|
| B();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5275,6 +5692,7 @@ class A {
|
| class B extends A {
|
| B();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5286,6 +5704,7 @@ class A = Object with M;
|
| class B extends A {
|
| B();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5299,6 +5718,7 @@ class Bar extends Foo {
|
| Bar() : this.ctor();
|
| Bar.ctor() : super.ctor();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5312,6 +5732,7 @@ class A {
|
| }
|
| var a = A?.x;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5326,6 +5747,7 @@ class B extends A<List> {
|
| element.last;
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5336,6 +5758,7 @@ print(x) {}
|
| main() {
|
| print(is String);
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source, [ParserErrorCode.MISSING_IDENTIFIER]);
|
| }
|
|
|
| @@ -5345,6 +5768,7 @@ print(x) {}
|
| main(int p) {
|
| p.();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source, [ParserErrorCode.MISSING_IDENTIFIER]);
|
| }
|
|
|
| @@ -5353,6 +5777,7 @@ main(int p) {
|
| main() {
|
| (() => null).call();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| // A call to verify(source) fails as '.call()' isn't resolved.
|
| }
|
| @@ -5362,6 +5787,7 @@ main() {
|
| main() {
|
| (() => null)();
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| // A call to verify(source) fails as '(() => null)()' isn't resolved.
|
| }
|
| @@ -5375,6 +5801,7 @@ class A {
|
| }
|
| f() { A?.m(); }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5389,6 +5816,7 @@ f(A a) {
|
| a[0];
|
| a[0] = 1;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5397,6 +5825,7 @@ f(A a) {
|
| Source source = addSource(r'''
|
| const A = 3;
|
| const B = ~((1 << A) - 1);''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5412,6 +5841,7 @@ import 'lib.dart' as x;
|
| main() {
|
| x.y = 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5425,6 +5855,7 @@ class A {
|
| }
|
| f() { A?.x = 1; }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5439,6 +5870,7 @@ class B extends A {
|
| super.m();
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5453,6 +5885,7 @@ class B extends A {
|
| super.m();
|
| }
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5466,6 +5899,7 @@ class A {
|
| /// [new A] or [new A.named]
|
| main() {
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5477,24 +5911,28 @@ main() {
|
| print(max(1, 2));
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertErrors(source, [HintCode.UNDEFINED_SHOWN_NAME]);
|
| }
|
|
|
| test_uriDoesNotExist_dll() async {
|
| addNamedSource("/lib.dll", "");
|
| Source source = addSource("import 'dart-ext:lib';");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| test_uriDoesNotExist_dylib() async {
|
| addNamedSource("/lib.dylib", "");
|
| Source source = addSource("import 'dart-ext:lib';");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| test_uriDoesNotExist_so() async {
|
| addNamedSource("/lib.so", "");
|
| Source source = addSource("import 'dart-ext:lib';");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| }
|
|
|
| @@ -5521,6 +5959,7 @@ main() {
|
| class A {
|
| operator []=(a, b) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5535,6 +5974,7 @@ class A {
|
| class A {
|
| set x(a) {}
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5545,6 +5985,7 @@ dynamic f() async* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5556,6 +5997,7 @@ Stream f() async* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5567,6 +6009,7 @@ Stream<int> f() async* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5577,6 +6020,7 @@ f() async* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5588,6 +6032,7 @@ f() async* {
|
| }
|
| g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5600,6 +6045,7 @@ Stream f() async* {
|
| }
|
| g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5612,6 +6058,7 @@ Stream<int> f() async* {
|
| }
|
| g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5624,6 +6071,7 @@ f() async* {
|
| }
|
| Stream g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5636,6 +6084,7 @@ f() async* {
|
| }
|
| Stream<int> g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5648,6 +6097,7 @@ Stream<int> f() async* {
|
| }
|
| Stream<int> g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5659,6 +6109,7 @@ f() sync* {
|
| }
|
| g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5670,6 +6121,7 @@ Iterable f() sync* {
|
| }
|
| g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5681,6 +6133,7 @@ Iterable<int> f() sync* {
|
| }
|
| g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5692,6 +6145,7 @@ f() sync* {
|
| }
|
| Iterable g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5703,6 +6157,7 @@ f() sync* {
|
| }
|
| Iterable<int> g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5714,6 +6169,7 @@ Iterable<int> f() sync* {
|
| }
|
| Iterable<int> g() => null;
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5724,6 +6180,7 @@ dynamic f() sync* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5734,6 +6191,7 @@ Iterable f() sync* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5744,6 +6202,7 @@ Iterable<int> f() sync* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5754,6 +6213,7 @@ f() sync* {
|
| yield 3;
|
| }
|
| ''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5763,6 +6223,7 @@ f() sync* {
|
| f() async* {
|
| yield 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5772,6 +6233,7 @@ f() async* {
|
| f() sync* {
|
| yield 0;
|
| }''');
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| }
|
| @@ -5782,6 +6244,7 @@ f() sync* {
|
| class A {
|
| operator $name($parameters) {}
|
| }""");
|
| + await computeAnalysisResult(source);
|
| await assertNoErrors(source);
|
| verify([source]);
|
| reset();
|
|
|