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

Unified Diff: pkg/analyzer/test/generated/static_warning_code_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/static_warning_code_test.dart
diff --git a/pkg/analyzer/test/generated/static_warning_code_test.dart b/pkg/analyzer/test/generated/static_warning_code_test.dart
index a9c6610ab4dc338023255a940e2a5a57d75e08fd..43a385d24de3b9278907d76dd4a4cca970fcd171 100644
--- a/pkg/analyzer/test/generated/static_warning_code_test.dart
+++ b/pkg/analyzer/test/generated/static_warning_code_test.dart
@@ -31,6 +31,7 @@ g(C c) {
print(h('s'));
}
''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -39,6 +40,7 @@ g(C c) {
fail_undefinedGetter() async {
Source source = addSource(r'''
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_GETTER]);
verify([source]);
}
@@ -48,6 +50,7 @@ g(C c) {
/** [m] xxx [new B.c] */
class A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.UNDEFINED_IDENTIFIER,
StaticWarningCode.UNDEFINED_IDENTIFIER
@@ -60,6 +63,7 @@ class C {}
f(var p) {
C.m = 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_SETTER]);
verify([source]);
}
@@ -79,6 +83,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -97,6 +102,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.AMBIGUOUS_IMPORT,
CompileTimeErrorCode.EXTENDS_NON_CLASS
@@ -118,6 +124,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.AMBIGUOUS_IMPORT,
CompileTimeErrorCode.IMPLEMENTS_NON_CLASS
@@ -145,6 +152,8 @@ class N {}''');
r'''
part of lib;
class A extends N {}''');
+ await computeAnalysisResult(source);
+ await computeAnalysisResult(partSource);
await assertNoErrors(source);
await assertErrors(partSource, [
StaticWarningCode.AMBIGUOUS_IMPORT,
@@ -168,6 +177,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -186,6 +196,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -204,6 +215,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -230,6 +242,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.AMBIGUOUS_IMPORT,
StaticWarningCode.AMBIGUOUS_IMPORT,
@@ -257,6 +270,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -276,6 +290,7 @@ class N {}''');
r'''
library lib2;
class N {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -295,6 +310,7 @@ var v;''');
r'''
library lib2;
var v;''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -313,6 +329,7 @@ var v;''');
r'''
library lib2;
var v;''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -334,6 +351,7 @@ f() {}''');
r'''
library lib2;
f() {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.AMBIGUOUS_IMPORT]);
}
@@ -375,6 +393,7 @@ class A {
@A.fromInt('0')
main() {
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -388,6 +407,7 @@ class A {
@A('0')
main() {
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -401,6 +421,7 @@ class A {
f(A a) {
a + '0';
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -420,6 +441,7 @@ main() {
A a = new A();
a.. ma().mb(0);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -433,6 +455,7 @@ class A {
main() {
const A(42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE,
CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH
@@ -448,6 +471,7 @@ class A {
class B extends A {
const B() : super(42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -458,6 +482,7 @@ class B extends A {
main() {
(int x) {} ('');
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -471,6 +496,7 @@ class A {
f(A a) {
a['0'];
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -484,6 +510,7 @@ class A {
f(A a) {
a('0');
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -498,6 +525,7 @@ main() {
A a = new A();
a('0');
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -508,6 +536,7 @@ main() {
a(b(int p)) {
b('0');
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -520,6 +549,7 @@ class A<K, V> {
f(v);
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -532,6 +562,7 @@ void funNumBool(bool b) {}
main() {
acceptFunNumOptBool(funNumBool);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -545,6 +576,7 @@ class A<T> {
f(A<String> a) {
a.m(1);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -556,6 +588,7 @@ f({String p}) {}
main() {
f(p: 42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -567,6 +600,7 @@ f([String p]) {}
main() {
f(42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -578,6 +612,7 @@ f(String p) {}
main() {
f(42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -589,6 +624,7 @@ typedef A<T>(T p);
f(A<int> a) {
a('1');
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -602,6 +638,7 @@ main() {
A a = getA();
a('1');
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -613,6 +650,7 @@ typedef A(int p);
f(A a) {
a('1');
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -626,6 +664,7 @@ class A<T> {
main() {
new A<String>(42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -639,6 +678,7 @@ class A {
main() {
new A(42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -652,6 +692,7 @@ class A {
main() {
new A(42);
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -664,6 +705,7 @@ main() {
C = null;
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_TYPE]);
}
@@ -675,6 +717,7 @@ class A {
f() {
A.v = 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_CONST]);
verify([source]);
}
@@ -687,6 +730,7 @@ class A {
f() {
A.v += 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_CONST]);
verify([source]);
}
@@ -697,6 +741,7 @@ f() {
const x = 0;
x = 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_CONST]);
verify([source]);
}
@@ -707,6 +752,7 @@ f() {
const x = 0;
x += 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_CONST]);
verify([source]);
}
@@ -718,6 +764,7 @@ main() {
E = null;
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_TYPE]);
}
@@ -730,6 +777,7 @@ f() {
A a = new A();
a.v = 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -743,6 +791,7 @@ f() {
A a = new A();
a.v += 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -753,6 +802,7 @@ f() {
final x = 0;
x = 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -763,6 +813,7 @@ f() {
final x = 0;
x += 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -773,6 +824,7 @@ f() {
final x = 0;
x--;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -783,6 +835,7 @@ f() {
final x = 0;
x++;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -793,6 +846,7 @@ f() {
final x = 0;
--x;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -803,6 +857,7 @@ f() {
final x = 0;
++x;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -813,6 +868,7 @@ f() {
final x = 0;
x--;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -823,6 +879,7 @@ f() {
final x = 0;
x++;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -831,6 +888,7 @@ f() {
Source source = addSource(r'''
final x = 0;
f() { x = 1; }''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FINAL]);
verify([source]);
}
@@ -844,6 +902,7 @@ main() {
A a = new A();
a.x = 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ASSIGNMENT_TO_FINAL_NO_SETTER]);
verify([source]);
@@ -860,6 +919,7 @@ class B {
main() {
B.a.x = 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ASSIGNMENT_TO_FINAL_NO_SETTER]);
verify([source]);
@@ -871,6 +931,7 @@ f() {}
main() {
f = null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_FUNCTION]);
verify([source]);
}
@@ -883,6 +944,7 @@ class A {
f(A a) {
a.m = () {};
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_METHOD]);
verify([source]);
}
@@ -894,6 +956,7 @@ main() {
F = null;
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_TYPE]);
}
@@ -905,6 +968,7 @@ class C<T> {
}
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.ASSIGNMENT_TO_TYPE]);
}
@@ -918,6 +982,7 @@ f(int p) {
break;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.CASE_BLOCK_NOT_TERMINATED]);
verify([source]);
}
@@ -926,6 +991,7 @@ f(int p) {
Source source = addSource(r'''
var A = 0;
f(String s) { var x = s as A; }''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.CAST_TO_NON_TYPE]);
verify([source]);
}
@@ -935,6 +1001,7 @@ f(String s) { var x = s as A; }''');
class A {
m();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER]);
verify([source]);
@@ -948,6 +1015,7 @@ class I {
class A implements I {
m();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER]);
verify([source]);
@@ -964,6 +1032,7 @@ Stream s;''');
r'''
library lib;
class Future {}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.CONFLICTING_DART_IMPORT]);
}
@@ -975,6 +1044,7 @@ class A {
class B extends A {
var v;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -988,6 +1058,7 @@ class A {
class B extends A {
get v => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -1001,6 +1072,7 @@ class A {
class B extends A {
get v => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -1014,6 +1086,7 @@ class A {
class B extends A {
get v => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -1028,6 +1101,7 @@ class B extends A {}
class C extends B {
get v => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -1041,6 +1115,7 @@ class M {
class B extends Object with M {
get v => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -1054,6 +1129,7 @@ class A {
class B extends A {
get v => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -1065,6 +1141,7 @@ class A {
foo() {}
set foo(a) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER2]);
verify([source]);
@@ -1076,6 +1153,7 @@ class A {
set foo(a) {}
foo() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER]);
verify([source]);
@@ -1089,6 +1167,7 @@ abstract class A {
abstract class B implements A {
foo() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER]);
verify([source]);
@@ -1102,6 +1181,7 @@ class A {
class B extends A {
foo() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER]);
verify([source]);
@@ -1115,6 +1195,7 @@ class A {
class B extends A {
set v(x) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_INSTANCE_SETTER_AND_SUPERCLASS_MEMBER]);
verify([source]);
@@ -1128,6 +1209,7 @@ class A {
class B extends Object with A {
static get x => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_STATIC_GETTER_AND_INSTANCE_SETTER]);
verify([source]);
@@ -1141,6 +1223,7 @@ class A {
class B extends A {
static get x => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_STATIC_GETTER_AND_INSTANCE_SETTER]);
verify([source]);
@@ -1152,6 +1235,7 @@ class A {
static get x => 0;
set x(int p) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_STATIC_GETTER_AND_INSTANCE_SETTER]);
verify([source]);
@@ -1163,6 +1247,7 @@ class A {
get x => 0;
static set x(int p) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_STATIC_SETTER_AND_INSTANCE_MEMBER]);
verify([source]);
@@ -1174,6 +1259,7 @@ class A {
x() {}
static set x(int p) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.CONFLICTING_STATIC_SETTER_AND_INSTANCE_MEMBER]);
verify([source]);
@@ -1187,12 +1273,14 @@ abstract class A {
void f() {
A a = const A();
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.CONST_WITH_ABSTRACT_CLASS]);
verify([source]);
}
test_equalKeysInMap() async {
Source source = addSource("var m = {'a' : 0, 'b' : 1, 'a' : 2};");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.EQUAL_KEYS_IN_MAP]);
verify([source]);
}
@@ -1203,6 +1291,7 @@ class A<T> {
const A();
}
var m = {const A<int>(): 0, const A<int>(): 1};''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.EQUAL_KEYS_IN_MAP]);
verify([source]);
}
@@ -1215,6 +1304,7 @@ class A<T> {
const A();
}
var m = {const A<int>(): 0, const A<num>(): 1};''');
+ await computeAnalysisResult(source);
await assertNoErrors(source);
verify([source]);
}
@@ -1226,6 +1316,7 @@ export 'lib1.dart';
export 'lib2.dart';''');
addNamedSource("/lib1.dart", "library lib;");
addNamedSource("/lib2.dart", "library lib;");
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.EXPORT_DUPLICATED_LIBRARY_NAMED]);
verify([source]);
@@ -1237,6 +1328,7 @@ f() {}
main() {
f(0, 1, '2');
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.EXTRA_POSITIONAL_ARGUMENTS]);
verify([source]);
}
@@ -1246,6 +1338,7 @@ main() {
main() {
(int x) {} (0, 1);
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.EXTRA_POSITIONAL_ARGUMENTS]);
verify([source]);
}
@@ -1256,6 +1349,7 @@ class A {
final int x = 0;
A() : x = 1 {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION]);
verify([source]);
@@ -1267,6 +1361,7 @@ class A {
int x;
A() : x = '';
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.FIELD_INITIALIZER_NOT_ASSIGNABLE]);
verify([source]);
@@ -1278,6 +1373,7 @@ class A {
int x;
A(String this.x) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.FIELD_INITIALIZING_FORMAL_NOT_ASSIGNABLE]);
verify([source]);
@@ -1298,6 +1394,7 @@ class A {
final x = 0;
A() : x = 0 {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION]);
verify([source]);
@@ -1309,6 +1406,7 @@ class A {
final x = 0;
A(this.x) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.FINAL_INITIALIZED_IN_DECLARATION_AND_CONSTRUCTOR]);
verify([source]);
@@ -1320,6 +1418,7 @@ class A {
final int x;
A() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_1]);
verify([source]);
@@ -1332,6 +1431,7 @@ class A {
final int b;
A() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_2]);
verify([source]);
@@ -1345,6 +1445,7 @@ class A {
final int c;
A() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_3_PLUS]);
verify([source]);
@@ -1355,6 +1456,7 @@ class A {
class A {
final F;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.FINAL_NOT_INITIALIZED]);
verify([source]);
}
@@ -1364,12 +1466,14 @@ class A {
class A {
static final F;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.FINAL_NOT_INITIALIZED]);
verify([source]);
}
test_finalNotInitialized_library_final() async {
Source source = addSource("final F;");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.FINAL_NOT_INITIALIZED]);
verify([source]);
}
@@ -1379,6 +1483,7 @@ class A {
f() {
final int x;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.FINAL_NOT_INITIALIZED]);
verify([source]);
}
@@ -1387,6 +1492,7 @@ f() {
Source source = addSource(r'''
class A implements Function {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.FUNCTION_WITHOUT_CALL]);
verify([source]);
}
@@ -1397,6 +1503,7 @@ abstract class A implements Function {
}
class B extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.FUNCTION_WITHOUT_CALL]);
verify([source]);
}
@@ -1407,6 +1514,7 @@ abstract class A implements Function {
}
class B implements A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.FUNCTION_WITHOUT_CALL]);
verify([source]);
}
@@ -1418,6 +1526,7 @@ import 'lib1.dart';
import 'lib2.dart';''');
addNamedSource("/lib1.dart", "library lib;");
addNamedSource("/lib2.dart", "library lib;");
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.IMPORT_DUPLICATED_LIBRARY_NAMED,
HintCode.UNUSED_IMPORT,
@@ -1450,6 +1559,7 @@ abstract class B {
}
class C implements A, B {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.INCONSISTENT_METHOD_INHERITANCE_GETTER_AND_METHOD]);
verify([source]);
@@ -1463,6 +1573,7 @@ class A {
class B extends A {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1479,6 +1590,7 @@ class B extends A {
class C extends B {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1493,6 +1605,7 @@ class A {
class B extends A {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1509,6 +1622,7 @@ class B extends A {
class C extends B {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1527,6 +1641,7 @@ class C extends Base implements Ifc {
foo() {}
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1541,6 +1656,7 @@ class A {
class B extends A {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1557,6 +1673,7 @@ class B extends A {
class C extends B {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1571,6 +1688,7 @@ class A {
class B extends A {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1587,6 +1705,7 @@ class B extends A {
class C extends B {
void n() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC
]);
@@ -1601,6 +1720,7 @@ class A {
class B extends A {
String get g { return 'a'; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_GETTER_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1614,6 +1734,7 @@ class A {
class B extends A {
int f;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INVALID_GETTER_OVERRIDE_RETURN_TYPE,
StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE
@@ -1634,6 +1755,7 @@ abstract class A implements I, J {}
class B extends A {
String get getter => null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_GETTER_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1650,6 +1772,7 @@ abstract class J<V> {
class B implements I<int>, J<String> {
double get g => null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_GETTER_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1663,6 +1786,7 @@ class A {
class B implements A {
m({String a}) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_NAMED_PARAM_TYPE]);
verify([source]);
@@ -1676,6 +1800,7 @@ class A {
class B implements A {
m(String a) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -1689,6 +1814,7 @@ class A {
class B extends A {
m(String a) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -1705,6 +1831,7 @@ abstract class J<V> {
class B extends I<int> implements J<String> {
m(double d) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -1722,6 +1849,7 @@ abstract class A implements I, J {}
class B extends A {
m(String n) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -1739,6 +1867,7 @@ abstract class J<V> {
class B implements I<int>, J<String> {
m(double d) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -1752,6 +1881,7 @@ class A {
class B implements A {
m([String a]) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.INVALID_METHOD_OVERRIDE_OPTIONAL_PARAM_TYPE]);
verify([source]);
@@ -1769,6 +1899,7 @@ abstract class A implements I, J {}
class B extends A {
m([String n]) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.INVALID_METHOD_OVERRIDE_OPTIONAL_PARAM_TYPE]);
verify([source]);
@@ -1782,6 +1913,7 @@ class A {
class B implements A {
String m() { return 'a'; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1797,6 +1929,7 @@ abstract class B implements A {
class C implements B {
String m() { return 'a'; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1810,6 +1943,7 @@ class A {
class B extends Object with A {
String m() { return 'a'; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1823,6 +1957,7 @@ class A {
class B extends A {
String m() { return 'a'; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1838,6 +1973,7 @@ class B extends A {
class C extends B {
String m() { return 'a'; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1855,6 +1991,7 @@ abstract class A implements I, J {}
class B extends A {
String m() => '';
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1868,6 +2005,7 @@ class A {
class B extends A {
void m() {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE]);
verify([source]);
@@ -1885,6 +2023,7 @@ class B extends A {
foo([x]) {}
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_POSITIONAL
]);
@@ -1903,6 +2042,7 @@ class B extends A {
foo({x}) {}
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_NAMED]);
verify([source]);
@@ -1921,6 +2061,7 @@ class B extends A {
foo([x]) {}
}
''');
+ await computeAnalysisResult(source);
await assertNoErrors(source);
verify([source]);
}
@@ -1938,6 +2079,7 @@ class B extends A {
foo({x}) {}
}
''');
+ await computeAnalysisResult(source);
await assertNoErrors(source);
verify([source]);
}
@@ -1954,6 +2096,7 @@ class B extends A {
foo([x = 1]) {}
}
''');
+ await computeAnalysisResult(source);
await assertNoErrors(source);
verify([source]);
}
@@ -1970,6 +2113,7 @@ class B extends A {
foo({x: 1}) {}
}
''');
+ await computeAnalysisResult(source);
await assertNoErrors(source);
verify([source]);
}
@@ -1982,6 +2126,7 @@ class A {
class B extends A {
m({int p : 1}) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_NAMED]);
verify([source]);
@@ -1995,6 +2140,7 @@ class A {
class B extends A {
m([int p = 1]) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_POSITIONAL
]);
@@ -2009,6 +2155,7 @@ class A {
class B extends A {
m({a}) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.INVALID_OVERRIDE_NAMED]);
verify([source]);
}
@@ -2021,6 +2168,7 @@ class A {
class B extends A {
m({a, c}) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.INVALID_OVERRIDE_NAMED]);
verify([source]);
}
@@ -2033,6 +2181,7 @@ class A {
class B extends A {
m([a]) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_OVERRIDE_POSITIONAL]);
verify([source]);
@@ -2046,6 +2195,7 @@ class A {
class B extends A {
m(a, b, [c]) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_OVERRIDE_POSITIONAL]);
verify([source]);
@@ -2059,6 +2209,7 @@ class A {
class B extends A {
m(a, [c, d]) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_OVERRIDE_POSITIONAL]);
verify([source]);
@@ -2072,6 +2223,7 @@ class A {
class B extends A {
m(a, b) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.INVALID_OVERRIDE_REQUIRED]);
verify([source]);
}
@@ -2084,6 +2236,7 @@ class A {
class B extends A {
void set s(String v) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -2101,6 +2254,7 @@ abstract class A extends I implements J {}
class B extends A {
set setter14(String _) => null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -2119,6 +2273,7 @@ abstract class A implements I, J {}
class B extends A {
set setter14(String _) => null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -2135,6 +2290,7 @@ abstract class J<V> {
class B implements I<int>, J<String> {
set s(double d) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE]);
verify([source]);
@@ -2142,6 +2298,7 @@ class B implements I<int>, J<String> {
test_listElementTypeNotAssignable() async {
Source source = addSource("var v = <String> [42];");
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -2149,6 +2306,7 @@ class B implements I<int>, J<String> {
test_mapKeyTypeNotAssignable() async {
Source source = addSource("var v = <String, int > {1 : 2};");
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.MAP_KEY_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -2156,6 +2314,7 @@ class B implements I<int>, J<String> {
test_mapValueTypeNotAssignable() async {
Source source = addSource("var v = <String, String> {'a' : 2};");
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.MAP_VALUE_TYPE_NOT_ASSIGNABLE]);
verify([source]);
@@ -2167,6 +2326,7 @@ class A {
int get g { return 0; }
set g(String v) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES]);
verify([source]);
@@ -2180,6 +2340,7 @@ class A {
class B extends A {
set g(String v) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES_FROM_SUPERTYPE]);
verify([source]);
@@ -2193,6 +2354,7 @@ class A {
class B extends A {
String get g { return ''; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES_FROM_SUPERTYPE]);
verify([source]);
@@ -2202,6 +2364,7 @@ class B extends A {
Source source = addSource(r'''
int get g { return 0; }
set g(String v) {}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES]);
verify([source]);
@@ -2217,6 +2380,7 @@ bool odd(E e) {
}
return false;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH,
StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH
@@ -2236,6 +2400,7 @@ class C {
};
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.MIXED_RETURN_TYPES,
StaticWarningCode.MIXED_RETURN_TYPES
@@ -2253,6 +2418,7 @@ class C {
return 0;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.MIXED_RETURN_TYPES,
StaticWarningCode.MIXED_RETURN_TYPES
@@ -2268,6 +2434,7 @@ f(int x) {
}
return 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.MIXED_RETURN_TYPES,
StaticWarningCode.MIXED_RETURN_TYPES
@@ -2281,6 +2448,7 @@ abstract class A {}
void f() {
A a = new A();
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.NEW_WITH_ABSTRACT_CLASS]);
verify([source]);
}
@@ -2289,6 +2457,7 @@ void f() {
Source source = addSource(r'''
class A {}
f() { return new A<A>(); }''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NEW_WITH_INVALID_TYPE_PARAMETERS]);
verify([source]);
@@ -2301,6 +2470,7 @@ class C<K, V> {}
f(p) {
return new C<A>();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NEW_WITH_INVALID_TYPE_PARAMETERS]);
verify([source]);
@@ -2313,6 +2483,7 @@ class C<E> {}
f(p) {
return new C<A, A>();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NEW_WITH_INVALID_TYPE_PARAMETERS]);
verify([source]);
@@ -2324,6 +2495,7 @@ var A = 0;
void f() {
var a = new A();
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.NEW_WITH_NON_TYPE]);
verify([source]);
}
@@ -2338,6 +2510,8 @@ void f() {
var a = new lib.A();
}
lib.B b;''');
+ await computeAnalysisResult(source1);
+ await computeAnalysisResult(source2);
await assertErrors(source2, [StaticWarningCode.NEW_WITH_NON_TYPE]);
verify([source1]);
}
@@ -2350,6 +2524,7 @@ class A {
f() {
new A.name();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR]);
// no verify(), 'name' is not resolved
@@ -2363,6 +2538,7 @@ class A {
f() {
new A();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT]);
verify([source]);
@@ -2379,6 +2555,7 @@ abstract class A {
}
class C extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [
StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FIVE_PLUS
]);
@@ -2395,6 +2572,7 @@ abstract class A {
}
class C extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FOUR]);
verify([source]);
@@ -2409,6 +2587,7 @@ abstract class I {
m();
}
class B = A with M implements I;''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2422,6 +2601,7 @@ abstract class M {
}
abstract class A {}
class B = A with M;''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2435,6 +2615,7 @@ abstract class A {
m();
}
class B = A with M;''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2450,6 +2631,7 @@ abstract class D {
foo(x, [y]);
}
class E extends C implements D {}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2462,6 +2644,7 @@ class I {
}
class C implements I {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2474,6 +2657,7 @@ abstract class A {
}
class C extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2486,6 +2670,7 @@ class I {
}
class C implements I {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2498,6 +2683,7 @@ abstract class A {
}
class C extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2514,6 +2700,7 @@ abstract class B {
}
class C implements A, B {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2525,6 +2712,7 @@ class C implements A, B {
abstract class A { get g1; get g2; }
abstract class B implements A { get g1 => 1; }
class C extends Object with B {}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
}
@@ -2535,6 +2723,7 @@ class C extends Object with B {}''');
abstract class A { m1(); m2(); }
abstract class B implements A { m1() => 1; }
class C extends Object with B {}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
}
@@ -2545,6 +2734,7 @@ class C extends Object with B {}''');
abstract class A { set s1(v); set s2(v); }
abstract class B implements A { set s1(v) {} }
class C extends Object with B {}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
}
@@ -2560,6 +2750,7 @@ abstract class A {
}
class B extends A implements I {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2577,6 +2768,7 @@ abstract class I {
class B extends A implements I {
get field => 0;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2589,6 +2781,7 @@ class I {
}
class C implements I {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2601,6 +2794,7 @@ abstract class A {
}
class C extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2617,6 +2811,7 @@ abstract class B implements A {
}
class C extends B {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2631,6 +2826,7 @@ class I {
class C implements I {
set v(_) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2645,6 +2841,7 @@ class I {
class C implements I {
get v => 1;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE]);
verify([source]);
@@ -2659,6 +2856,7 @@ abstract class A {
}
class C extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_THREE]);
verify([source]);
@@ -2672,6 +2870,7 @@ abstract class A {
}
class C extends A {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_TWO]);
verify([source]);
@@ -2685,6 +2884,7 @@ class I {
}
class C implements I {
}''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_TWO]);
verify([source]);
@@ -2700,6 +2900,7 @@ class A {
class B extends A {}
class C extends Object with B {}
''');
+ await computeAnalysisResult(source);
await assertErrors(source,
[StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_TWO]);
verify([source]);
@@ -2712,6 +2913,7 @@ f() {
} on T catch (e) {
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.NON_TYPE_IN_CATCH_CLAUSE]);
verify([source]);
}
@@ -2724,6 +2926,7 @@ f() {
} on T catch (e) {
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.NON_TYPE_IN_CATCH_CLAUSE]);
verify([source]);
}
@@ -2733,6 +2936,7 @@ f() {
class A {
int operator []=(a, b) { return a; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NON_VOID_RETURN_FOR_OPERATOR]);
verify([source]);
@@ -2743,6 +2947,7 @@ class A {
int set x(int v) {
return 42;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.NON_VOID_RETURN_FOR_SETTER]);
verify([source]);
}
@@ -2754,6 +2959,7 @@ class A {
return 42;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.NON_VOID_RETURN_FOR_SETTER]);
verify([source]);
}
@@ -2764,6 +2970,7 @@ f() {}
main() {
f v = null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.NOT_A_TYPE]);
verify([source]);
}
@@ -2774,6 +2981,7 @@ f(int a, String b) {}
main() {
f();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS]);
verify([source]);
@@ -2784,6 +2992,7 @@ main() {
main() {
(int x) {} ();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS]);
verify([source]);
@@ -2796,6 +3005,7 @@ Getter getter = (x) => x;
main() {
getter();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS]);
verify([source]);
@@ -2806,6 +3016,7 @@ main() {
library lib;
part 'part.dart';''');
addNamedSource("/part.dart", "part of lub;");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.PART_OF_DIFFERENT_LIBRARY]);
verify([source]);
}
@@ -2818,6 +3029,7 @@ class A implements B {
class B {
factory B() = A;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.REDIRECT_TO_INVALID_FUNCTION_TYPE]);
verify([source]);
@@ -2831,6 +3043,7 @@ class A {
class B {
factory B() = A;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.REDIRECT_TO_INVALID_RETURN_TYPE]);
verify([source]);
@@ -2844,6 +3057,7 @@ class A implements B{
class B {
factory B() = A.name;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.REDIRECT_TO_MISSING_CONSTRUCTOR]);
}
@@ -2856,6 +3070,7 @@ class A implements B{
class B {
factory B() = A;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.REDIRECT_TO_MISSING_CONSTRUCTOR]);
}
@@ -2866,6 +3081,7 @@ class B {
int A;
factory B() = A;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.REDIRECT_TO_NON_CLASS]);
verify([source]);
}
@@ -2875,6 +3091,7 @@ class B {
class B {
factory B() = A;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.REDIRECT_TO_NON_CLASS]);
verify([source]);
}
@@ -2886,24 +3103,28 @@ Future<int> f() async {
return;
}
''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.RETURN_WITHOUT_VALUE]);
verify([source]);
}
test_returnWithoutValue_factoryConstructor() async {
Source source = addSource("class A { factory A() { return; } }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.RETURN_WITHOUT_VALUE]);
verify([source]);
}
test_returnWithoutValue_function() async {
Source source = addSource("int f() { return; }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.RETURN_WITHOUT_VALUE]);
verify([source]);
}
test_returnWithoutValue_method() async {
Source source = addSource("class A { int m() { return; } }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.RETURN_WITHOUT_VALUE]);
verify([source]);
}
@@ -2918,6 +3139,7 @@ int f(int x) {
}
return;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.RETURN_WITHOUT_VALUE]);
verify([source]);
}
@@ -2930,6 +3152,7 @@ class A {
main() {
A.m();
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER]);
verify([source]);
@@ -2943,6 +3166,7 @@ class A {
main() {
A.m;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER]);
verify([source]);
@@ -2956,6 +3180,7 @@ class A {
main() {
A.f;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER]);
verify([source]);
@@ -2969,6 +3194,7 @@ class A {
main() {
A.f;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER]);
verify([source]);
@@ -2982,6 +3208,7 @@ class A {
main() {
A.f = 42;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER]);
verify([source]);
@@ -2994,6 +3221,7 @@ f(int p) {
case 'a': break;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.SWITCH_EXPRESSION_NOT_ASSIGNABLE]);
verify([source]);
@@ -3192,6 +3420,7 @@ class A {
}
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER]);
verify([source]);
@@ -3204,6 +3433,7 @@ class A {
return (t is T) ? t : null;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER]);
verify([source]);
@@ -3214,6 +3444,7 @@ class A {
T function<T>(Object t) {
return (t is T) ? t : null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER]);
verify([source]);
@@ -3224,6 +3455,7 @@ T function<T>(Object t) {
class A<K> {
static K k;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC]);
verify([source]);
@@ -3234,6 +3466,7 @@ class A<K> {
class A<K> {
static K get k => null;
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC]);
verify([source]);
@@ -3246,6 +3479,7 @@ class A<K> {
K k;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC]);
verify([source]);
@@ -3256,6 +3490,7 @@ class A<K> {
class A<K> {
static m(K k) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC]);
verify([source]);
@@ -3266,6 +3501,7 @@ class A<K> {
class A<K> {
static K m() { return null; }
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC]);
verify([source]);
@@ -3276,6 +3512,7 @@ class A<K> {
class A<K> {
static set s(K k) {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC]);
verify([source]);
@@ -3292,6 +3529,7 @@ main(FuncA f) {
f(new B());
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE]);
}
@@ -3303,6 +3541,7 @@ f(var p) {
if (p is A) {
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.TYPE_TEST_WITH_NON_TYPE]);
verify([source]);
}
@@ -3313,6 +3552,7 @@ f(var p) {
if (p is A) {
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(
source, [StaticWarningCode.TYPE_TEST_WITH_UNDEFINED_NAME]);
verify([source]);
@@ -3320,16 +3560,19 @@ f(var p) {
test_undefinedClass_instanceCreation() async {
Source source = addSource("f() { new C(); }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_CLASS]);
}
test_undefinedClass_variableDeclaration() async {
Source source = addSource("f() { C c; }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_CLASS]);
}
test_undefinedClassBoolean_variableDeclaration() async {
Source source = addSource("f() { boolean v; }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_CLASS_BOOLEAN]);
}
@@ -3342,6 +3585,8 @@ import 'lib.dart' as lib;
void f() {
var g = lib.gg;
}''');
+ await computeAnalysisResult(source1);
+ await computeAnalysisResult(source2);
await assertErrors(source2, [StaticWarningCode.UNDEFINED_GETTER]);
verify([source1]);
}
@@ -3352,11 +3597,13 @@ f(var l) {
for (e in l) {
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
test_undefinedIdentifier_function() async {
Source source = addSource("int a() => b;");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
@@ -3367,16 +3614,19 @@ main() {
List;
String;
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
test_undefinedIdentifier_initializer() async {
Source source = addSource("var a = b;");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
test_undefinedIdentifier_methodInvocation() async {
Source source = addSource("f() { C.m(); }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
@@ -3395,6 +3645,7 @@ class B extends A {
var v = _foo;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
@@ -3413,11 +3664,13 @@ class B extends A {
_foo = 42;
}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER]);
}
test_undefinedIdentifierAwait_function() async {
Source source = addSource("void a() { await; }");
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_IDENTIFIER_AWAIT]);
}
@@ -3427,6 +3680,7 @@ f({a, b}) {}
main() {
f(c: 1);
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.UNDEFINED_NAMED_PARAMETER]);
// no verify(), 'c' is not resolved
}
@@ -3440,6 +3694,7 @@ import 'lib.dart' as lib;
void f() {
lib.gg = null;
}''');
+ await computeAnalysisResult(source2);
await assertErrors(source2, [StaticWarningCode.UNDEFINED_SETTER]);
}
@@ -3449,6 +3704,7 @@ class C {}
f(var p) {
f(C.m);
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticTypeWarningCode.UNDEFINED_GETTER]);
}
@@ -3461,6 +3717,7 @@ class C extends S {}
f(var p) {
f(C.g);
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticTypeWarningCode.UNDEFINED_GETTER]);
}
@@ -3470,6 +3727,7 @@ class C {}
f(var p) {
f(C.m());
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticTypeWarningCode.UNDEFINED_METHOD]);
}
@@ -3482,6 +3740,7 @@ class C extends S {}
f(var p) {
f(C.m());
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticTypeWarningCode.UNDEFINED_METHOD]);
}
@@ -3494,6 +3753,7 @@ class C extends S {}
f(var p) {
f(C.s = 1);
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticTypeWarningCode.UNDEFINED_SETTER]);
}
@@ -3502,6 +3762,7 @@ f(var p) {
class S {
void get value {}
}''');
+ await computeAnalysisResult(source);
await assertErrors(source, [StaticWarningCode.VOID_RETURN_FOR_GETTER]);
}
}

Powered by Google App Engine
This is Rietveld 408576698