| 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]);
|
| }
|
| }
|
|
|