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

Unified Diff: pkg/analyzer/test/generated/non_error_resolver_test.dart

Issue 2625783002: Explicitly compute analysis results for sources to check errors. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698