diff --git a/pkg/dev_compiler/lib/src/info.dart b/pkg/dev_compiler/lib/src/info.dart index 8093026b665c..d1a079d223c6 100644 --- a/pkg/dev_compiler/lib/src/info.dart +++ b/pkg/dev_compiler/lib/src/info.dart @@ -332,7 +332,7 @@ class DownCastImplicit extends DownCast { DownCastImplicit(TypeRules rules, Expression expression, Cast cast) : super._internal(rules, expression, cast); - toErrorCode() => new StaticTypeWarningCode(name, message); + toErrorCode() => new HintCode(name, message); } // An inferred type for the wrapped expression, which may need to be diff --git a/pkg/dev_compiler/test/checker/checker_test.dart b/pkg/dev_compiler/test/checker/checker_test.dart index 82173c4fe50c..cc66130ae8ce 100644 --- a/pkg/dev_compiler/test/checker/checker_test.dart +++ b/pkg/dev_compiler/test/checker/checker_test.dart @@ -43,7 +43,7 @@ void main() { // Check the boolean conversion of the condition. print((/*severe:StaticTypeError*/i) ? false : true); - print((/*warning:DownCastImplicit*/obj) ? false : true); + print((/*info:DownCastImplicit*/obj) ? false : true); print((/*info:DynamicCast*/dyn) ? false : true); } ''' @@ -59,22 +59,22 @@ void main() { if (b) {} if (/*info:DynamicCast*/dyn) {} - if (/*warning:DownCastImplicit*/obj) {} + if (/*info:DownCastImplicit*/obj) {} if (/*severe:StaticTypeError*/i) {} while (b) {} while (/*info:DynamicCast*/dyn) {} - while (/*warning:DownCastImplicit*/obj) {} + while (/*info:DownCastImplicit*/obj) {} while (/*severe:StaticTypeError*/i) {} do {} while (b); do {} while (/*info:DynamicCast*/dyn); - do {} while (/*warning:DownCastImplicit*/obj); + do {} while (/*info:DownCastImplicit*/obj); do {} while (/*severe:StaticTypeError*/i); for (;b;) {} for (;/*info:DynamicCast*/dyn;) {} - for (;/*warning:DownCastImplicit*/obj;) {} + for (;/*info:DownCastImplicit*/obj;) {} for (;/*severe:StaticTypeError*/i;) {} } ''' @@ -238,13 +238,13 @@ void main() { // int is non-nullable x = /*severe:StaticTypeError*/null; x = 42; - x = /*warning:DownCastImplicit*/z; + x = /*info:DownCastImplicit*/z; // double is non-nullable y = /*severe:StaticTypeError*/null; y = /*severe:StaticTypeError*/42; y = 42.0; - y = /*warning:DownCastImplicit*/z; + y = /*info:DownCastImplicit*/z; // num is nullable z = null; @@ -269,7 +269,7 @@ void main() { T x; // TODO(vsm): Should this be a different type of DownCast? - T foo() => /*warning:DownCastImplicit*/null; + T foo() => /*info:DownCastImplicit*/null; void bar() { int /*severe:InvalidVariableDeclaration*/x; @@ -279,7 +279,7 @@ void main() { T /*severe:InvalidVariableDeclaration*/z; } - void baz(T x, [T /*severe:InvalidVariableDeclaration*/y, T z = /*warning:DownCastImplicit*/null]) { + void baz(T x, [T /*severe:InvalidVariableDeclaration*/y, T z = /*info:DownCastImplicit*/null]) { } } @@ -296,7 +296,7 @@ void main() { T x; // TODO(vsm): Should this be a different type of DownCast? - T foo() => /*warning:DownCastImplicit*/null; + T foo() => /*info:DownCastImplicit*/null; } ''' }, nonnullableTypes: [ @@ -315,7 +315,7 @@ void main() { A(this.x) : this.y = /*severe:StaticTypeError*/42; - A.c1(p): this.x = /*warning:DownCastImplicit*/z, this.y = /*info:DynamicCast*/p; + A.c1(p): this.x = /*info:DownCastImplicit*/z, this.y = /*info:DynamicCast*/p; A.c2(this.x, this.y); @@ -328,12 +328,12 @@ void main() { B.c2(int x, String y) : super.c2(/*severe:StaticTypeError*/y, /*severe:StaticTypeError*/x); - B.c3(num x, Object y) : super.c3(x, /*warning:DownCastImplicit*/y); + B.c3(num x, Object y) : super.c3(x, /*info:DownCastImplicit*/y); } void main() { - A a = new A.c2(/*warning:DownCastImplicit*/z, /*severe:StaticTypeError*/z); - var b = new B.c2(/*severe:StaticTypeError*/"hello", /*warning:DownCastImplicit*/obj); + A a = new A.c2(/*info:DownCastImplicit*/z, /*severe:StaticTypeError*/z); + var b = new B.c2(/*severe:StaticTypeError*/"hello", /*info:DownCastImplicit*/obj); } ''' }); @@ -422,7 +422,7 @@ void main() { d = /*severe:StaticTypeError*/a; n = /*severe:StaticTypeError*/a; a = a; - b = /*warning:DownCastImplicit*/a; + b = /*info:DownCastImplicit*/a; } ''' }); @@ -475,21 +475,21 @@ void main() { top = bot; } { - left = /*warning:DownCastImplicit*/top; + left = /*info:DownCastImplicit*/top; left = left; left = /*severe:StaticTypeError*/right; left = bot; } { - right = /*warning:DownCastImplicit*/top; + right = /*info:DownCastImplicit*/top; right = /*severe:StaticTypeError*/left; right = right; right = bot; } { - bot = /*warning:DownCastImplicit*/top; - bot = /*warning:DownCastImplicit*/left; - bot = /*warning:DownCastImplicit*/right; + bot = /*info:DownCastImplicit*/top; + bot = /*info:DownCastImplicit*/left; + bot = /*info:DownCastImplicit*/right; bot = bot; } } @@ -508,7 +508,7 @@ void main() { Object top(int x) => x; int left(int x) => x; Object right(Object x) => x; - int _bot(Object x) => /*warning:DownCastImplicit*/x; + int _bot(Object x) => /*info:DownCastImplicit*/x; int bot(Object x) => x as int; void main() { @@ -561,7 +561,7 @@ void main() { typedef B Bot(A x); // Bottom of the lattice B left(B x) => x; - B _bot(A x) => /*warning:DownCastImplicit*/x; + B _bot(A x) => /*info:DownCastImplicit*/x; B bot(A x) => x as B; A top(B x) => x; A right(A x) => x; @@ -998,8 +998,8 @@ void main() { f = /*severe:StaticTypeError*/new B(); f = /*severe:StaticTypeError*/i2i; f = /*severe:StaticTypeError*/n2n; - f = /*warning:DownCastImplicit*/i2i as Object; - f = /*warning:DownCastImplicit*/n2n as Function; + f = /*info:DownCastImplicit*/i2i as Object; + f = /*info:DownCastImplicit*/n2n as Function; } { B f; @@ -1007,8 +1007,8 @@ void main() { f = new B(); f = /*severe:StaticTypeError*/i2i; f = /*severe:StaticTypeError*/n2n; - f = /*warning:DownCastImplicit*/i2i as Object; - f = /*warning:DownCastImplicit*/n2n as Function; + f = /*info:DownCastImplicit*/i2i as Object; + f = /*info:DownCastImplicit*/n2n as Function; } { Function f; @@ -1016,7 +1016,7 @@ void main() { f = new B(); f = i2i; f = n2n; - f = /*warning:DownCastImplicit*/i2i as Object; + f = /*info:DownCastImplicit*/i2i as Object; f = (n2n as Function); } } @@ -1136,10 +1136,10 @@ void main() { mOfCs = /*severe:StaticTypeError*/ns; // Concrete subclass subtyping - ns = /*warning:DownCastImplicit*/lOfAs; + ns = /*info:DownCastImplicit*/lOfAs; ns = /*severe:StaticTypeError*/lOfBs; ns = /*severe:StaticTypeError*/lOfCs; - ns = /*warning:DownCastImplicit*/mOfAs; + ns = /*info:DownCastImplicit*/mOfAs; ns = /*severe:StaticTypeError*/mOfBs; ns = /*severe:StaticTypeError*/mOfCs; ns = ns; @@ -1203,16 +1203,16 @@ void main() { mOfDs = mOfDs; mOfDs = mOfOs; mOfDs = mOfAs; - mOfDs = /*warning:DownCastImplicit*/lOfDs; - mOfDs = /*warning:DownCastImplicit*/lOfOs; - mOfDs = /*warning:DownCastImplicit*/lOfAs; + mOfDs = /*info:DownCastImplicit*/lOfDs; + mOfDs = /*info:DownCastImplicit*/lOfOs; + mOfDs = /*info:DownCastImplicit*/lOfAs; } { mOfOs = mOfDs; mOfOs = mOfOs; mOfOs = mOfAs; - mOfOs = /*warning:DownCastImplicit*/lOfDs; - mOfOs = /*warning:DownCastImplicit*/lOfOs; + mOfOs = /*info:DownCastImplicit*/lOfDs; + mOfOs = /*info:DownCastImplicit*/lOfOs; mOfOs = /*severe:StaticTypeError*/lOfAs; } { @@ -1265,8 +1265,8 @@ void main() { { List l = [i]; l = [/*severe:StaticTypeError*/s]; - l = [/*warning:DownCastImplicit*/n]; - l = [i, /*warning:DownCastImplicit*/n, /*severe:StaticTypeError*/s]; + l = [/*info:DownCastImplicit*/n]; + l = [i, /*info:DownCastImplicit*/n, /*severe:StaticTypeError*/s]; } { List l = [i]; @@ -1277,9 +1277,9 @@ void main() { { Map m = {s: i}; m = {s: /*severe:StaticTypeError*/s}; - m = {s: /*warning:DownCastImplicit*/n}; + m = {s: /*info:DownCastImplicit*/n}; m = {s: i, - s: /*warning:DownCastImplicit*/n, + s: /*info:DownCastImplicit*/n, s: /*severe:StaticTypeError*/s}; } // TODO(leafp): We can't currently test for key errors since the @@ -1305,13 +1305,13 @@ void main() { static const num n = 3.0; static const int i = /*info:AssignmentCast*/n; final int fi; - const A(num a) : this.fi = /*warning:DownCastImplicit*/a; + const A(num a) : this.fi = /*info:DownCastImplicit*/a; } class B extends A { - const B(Object a) : super(/*warning:DownCastImplicit*/a); + const B(Object a) : super(/*info:DownCastImplicit*/a); } void foo(Object o) { - var a = const A(/*warning:DownCastImplicit*/o); + var a = const A(/*info:DownCastImplicit*/o); } ''' }); @@ -1696,10 +1696,10 @@ void main() { z += 5; z += 3.14; - x = /*warning:DownCastImplicit*/x + z; - x += /*warning:DownCastImplicit*/z; - y = /*warning:DownCastImplicit*/y + z; - y += /*warning:DownCastImplicit*/z; + x = /*info:DownCastImplicit*/x + z; + x += /*info:DownCastImplicit*/z; + y = /*info:DownCastImplicit*/y + z; + y += /*info:DownCastImplicit*/z; dynamic w = 42; x += /*info:DynamicCast*/w; @@ -2653,18 +2653,18 @@ void main() { printDouble(min(1.0, 2.0)); // No help for user-defined functions from num->num->num. - printInt(/*warning:DownCastImplicit*/myMax(1, 2)); + printInt(/*info:DownCastImplicit*/myMax(1, 2)); printInt(myMax(1, 2) as int); // Mixing int and double means return type is num. - printInt(/*warning:DownCastImplicit*/max(1, 2.0)); - printInt(/*warning:DownCastImplicit*/min(1, 2.0)); - printDouble(/*warning:DownCastImplicit*/max(1, 2.0)); - printDouble(/*warning:DownCastImplicit*/min(1, 2.0)); + printInt(/*info:DownCastImplicit*/max(1, 2.0)); + printInt(/*info:DownCastImplicit*/min(1, 2.0)); + printDouble(/*info:DownCastImplicit*/max(1, 2.0)); + printDouble(/*info:DownCastImplicit*/min(1, 2.0)); // Types other than int and double are not accepted. printInt( - /*warning:DownCastImplicit*/min( + /*info:DownCastImplicit*/min( /*severe:StaticTypeError*/"hi", /*severe:StaticTypeError*/"there")); } diff --git a/pkg/dev_compiler/test/codegen/expect/methods.txt b/pkg/dev_compiler/test/codegen/expect/methods.txt index 153e60b854df..8f451d850286 100644 --- a/pkg/dev_compiler/test/codegen/expect/methods.txt +++ b/pkg/dev_compiler/test/codegen/expect/methods.txt @@ -1,5 +1,5 @@ // Messages from compiling methods.dart -warning: [DownCastImplicit] b (num) will need runtime check to cast to type int (test/codegen/methods.dart, line 14, col 21) -warning: [DownCastImplicit] a + b (num) will need runtime check to cast to type int (test/codegen/methods.dart, line 19, col 12) +info: [DownCastImplicit] b (num) will need runtime check to cast to type int (test/codegen/methods.dart, line 14, col 21) +info: [DownCastImplicit] a + b (num) will need runtime check to cast to type int (test/codegen/methods.dart, line 19, col 12) info: [DynamicInvoke] f.bar("Bar's call method!") requires dynamic invoke (test/codegen/methods.dart, line 49, col 3) info: [DynamicInvoke] aa.x requires dynamic invoke (test/codegen/methods.dart, line 57, col 11) diff --git a/pkg/dev_compiler/tool/sdk_expected_errors.txt b/pkg/dev_compiler/tool/sdk_expected_errors.txt index 26168c3220ef..6af1a26cfe7f 100644 --- a/pkg/dev_compiler/tool/sdk_expected_errors.txt +++ b/pkg/dev_compiler/tool/sdk_expected_errors.txt @@ -2,24 +2,24 @@ severe: [AnalyzerMessage] Classes cannot implement 'bool' (dart:_interceptors, l severe: [AnalyzerMessage] Classes cannot implement 'num' (dart:_interceptors/js_number.dart, line 16, col 47) severe: [AnalyzerMessage] The return type 'JSNumber' is not a 'double', as defined by the method 'toDouble' (dart:_interceptors/js_number.dart, line 110, col 17) severe: [StaticTypeError] Type check failed: this (JSNumber) is not of type double (dart:_interceptors/js_number.dart, line 110, col 17) -severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.sign (() → num) is not a subtype of int.sign (() → int). (dart:_interceptors/js_number.dart, line 349, col 13) -severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.& ((num) → num) is not a subtype of int.& ((int) → int). (dart:_interceptors/js_number.dart, line 349, col 13) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.abs (() → num) is not a subtype of int.abs (() → int). (dart:_interceptors/js_number.dart, line 349, col 13) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.unary- (() → num) is not a subtype of int.unary- (() → int). (dart:_interceptors/js_number.dart, line 349, col 13) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.<< ((num) → num) is not a subtype of int.<< ((int) → int). (dart:_interceptors/js_number.dart, line 349, col 13) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.>> ((num) → num) is not a subtype of int.>> ((int) → int). (dart:_interceptors/js_number.dart, line 349, col 13) +severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.& ((num) → num) is not a subtype of int.& ((int) → int). (dart:_interceptors/js_number.dart, line 349, col 13) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.| ((num) → num) is not a subtype of int.| ((int) → int). (dart:_interceptors/js_number.dart, line 349, col 13) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.^ ((num) → num) is not a subtype of int.^ ((int) → int). (dart:_interceptors/js_number.dart, line 349, col 13) +severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.sign (() → num) is not a subtype of int.sign (() → int). (dart:_interceptors/js_number.dart, line 349, col 13) severe: [AnalyzerMessage] Classes cannot implement 'int' (dart:_interceptors/js_number.dart, line 349, col 41) severe: [AnalyzerMessage] Classes cannot implement 'double' (dart:_interceptors/js_number.dart, line 349, col 46) -severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.unary- (() → num) is not a subtype of double.unary- (() → double). (dart:_interceptors/js_number.dart, line 420, col 16) -severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.sign (() → num) is not a subtype of double.sign (() → double). (dart:_interceptors/js_number.dart, line 420, col 16) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.remainder ((num) → num) is not a subtype of double.remainder ((num) → double). (dart:_interceptors/js_number.dart, line 420, col 16) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.abs (() → num) is not a subtype of double.abs (() → double). (dart:_interceptors/js_number.dart, line 420, col 16) +severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.unary- (() → num) is not a subtype of double.unary- (() → double). (dart:_interceptors/js_number.dart, line 420, col 16) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.+ ((num) → num) is not a subtype of double.+ ((num) → double). (dart:_interceptors/js_number.dart, line 420, col 16) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.- ((num) → num) is not a subtype of double.- ((num) → double). (dart:_interceptors/js_number.dart, line 420, col 16) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.* ((num) → num) is not a subtype of double.* ((num) → double). (dart:_interceptors/js_number.dart, line 420, col 16) severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.% ((num) → num) is not a subtype of double.% ((num) → double). (dart:_interceptors/js_number.dart, line 420, col 16) +severe: [InvalidMethodOverride] Base class introduces an invalid override. The type of JSNumber.sign (() → num) is not a subtype of double.sign (() → double). (dart:_interceptors/js_number.dart, line 420, col 16) severe: [AnalyzerMessage] Classes cannot implement 'double' (dart:_interceptors/js_number.dart, line 420, col 44) severe: [AnalyzerMessage] Classes cannot implement 'String' (dart:_interceptors/js_string.dart, line 14, col 47) severe: [StaticTypeError] Type check failed: s += s (String) is not of type JSString (dart:_interceptors/js_string.dart, line 346, col 7) @@ -42,15 +42,6 @@ severe: [AnalyzerMessage] The getter '_validKey' is not defined for the class '_ warning: [DownCastComposite] doneHandlers (dynamic) will need runtime check to cast to type Iterable (dart:_isolate_helper, line 574, col 29) warning: [DownCastComposite] args (dynamic) will need runtime check to cast to type List (dart:_isolate_helper, line 839, col 37) warning: [DownCastComposite] msg['args'] (dynamic) will need runtime check to cast to type List (dart:_isolate_helper, line 886, col 11) -warning: [DownCastImplicit] indexable (JSIndexable) will need runtime check to cast to type JSArray (dart:_isolate_helper/isolate_serialization.dart, line 89, col 38) -warning: [DownCastImplicit] serializeTearOff (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:_isolate_helper/isolate_serialization.dart, line 120, col 24) -warning: [DownCastImplicit] serializeTearOff (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:_isolate_helper/isolate_serialization.dart, line 121, col 26) -warning: [DownCastImplicit] fields (List) will need runtime check to cast to type JSArray (dart:_isolate_helper/isolate_serialization.dart, line 172, col 52) -warning: [DownCastImplicit] result (List) will need runtime check to cast to type JSArray (dart:_isolate_helper/isolate_serialization.dart, line 250, col 58) -warning: [DownCastImplicit] result (List) will need runtime check to cast to type JSArray (dart:_isolate_helper/isolate_serialization.dart, line 258, col 61) -warning: [DownCastImplicit] result (List) will need runtime check to cast to type JSArray (dart:_isolate_helper/isolate_serialization.dart, line 266, col 36) -warning: [DownCastImplicit] result (List) will need runtime check to cast to type JSArray (dart:_isolate_helper/isolate_serialization.dart, line 275, col 58) -warning: [DownCastImplicit] fields (List) will need runtime check to cast to type JSArray (dart:_isolate_helper/isolate_serialization.dart, line 357, col 29) warning: [DownCastComposite] JS('var', r'#.pop()', this) (dynamic) will need runtime check to cast to type E (dart:_interceptors/js_array.dart, line 80, col 12) warning: [DownCastComposite] JS('', '#[#]', this, i) (dynamic) will need runtime check to cast to type E (dart:_interceptors/js_array.dart, line 125, col 9) warning: [DownCastComposite] IterableMixinWorkaround.reduce(this, combine) (dynamic) will need runtime check to cast to type E (dart:_interceptors/js_array.dart, line 161, col 12) @@ -58,33 +49,14 @@ warning: [DownCastComposite] IterableMixinWorkaround.firstWhere(this, test, orEl warning: [DownCastComposite] IterableMixinWorkaround.lastWhereList(this, test, orElse) (dynamic) will need runtime check to cast to type E (dart:_interceptors/js_array.dart, line 173, col 12) warning: [DownCastComposite] IterableMixinWorkaround.singleWhere(this, test) (dynamic) will need runtime check to cast to type E (dart:_interceptors/js_array.dart, line 177, col 12) warning: [DownCastComposite] JS('var', '#[#]', this, index) (dynamic) will need runtime check to cast to type E (dart:_interceptors/js_array.dart, line 313, col 12) -warning: [DownCastImplicit] JS('num', r'parseInt(#, 16)', source) (num) will need runtime check to cast to type int (dart:_js_helper, line 87, col 18) -warning: [DownCastImplicit] JS('num', r'parseInt(#, 10)', source) (num) will need runtime check to cast to type int (dart:_js_helper, line 91, col 18) -warning: [DownCastImplicit] JS('num', r'parseInt(#, 10)', source) (num) will need runtime check to cast to type int (dart:_js_helper, line 103, col 18) -warning: [DownCastImplicit] JS('num', r'parseInt(#, #)', source, radix) (num) will need runtime check to cast to type int (dart:_js_helper, line 135, col 12) -warning: [DownCastImplicit] result (num) will need runtime check to cast to type double (dart:_js_helper, line 159, col 16) -warning: [DownCastImplicit] result (num) will need runtime check to cast to type double (dart:_js_helper, line 163, col 12) -warning: [DownCastImplicit] 0xd800 + ((((i - 0x10000) >> 10) & 0x3ff)) (num) will need runtime check to cast to type int (dart:_js_helper, line 250, col 15) -warning: [DownCastImplicit] 0xdc00 + (i & 0x3ff) (num) will need runtime check to cast to type int (dart:_js_helper, line 251, col 15) warning: [DownCastComposite] charCodes (dynamic) will need runtime check to cast to type List (dart:_js_helper, line 265, col 31) warning: [DownCastComposite] JS('', '#.value', ret) (dynamic) will need runtime check to cast to type E (dart:_js_helper, line 780, col 16) -warning: [DownCastImplicit] JS('num', r'Math.ceil(#)', this) (num) will need runtime check to cast to type double (dart:_interceptors/js_number.dart, line 83, col 28) -warning: [DownCastImplicit] JS('num', r'Math.floor(#)', this) (num) will need runtime check to cast to type double (dart:_interceptors/js_number.dart, line 85, col 29) -warning: [DownCastImplicit] JS('num', r'-Math.round(-#)', this) (num) will need runtime check to cast to type double (dart:_interceptors/js_number.dart, line 89, col 14) -warning: [DownCastImplicit] JS('num', r'Math.round(#)', this) (num) will need runtime check to cast to type double (dart:_interceptors/js_number.dart, line 91, col 14) -warning: [DownCastImplicit] this & ((1 << width) - 1) (num) will need runtime check to cast to type int (dart:_interceptors/js_number.dart, line 357, col 12) -warning: [DownCastImplicit] (this & (signMask - 1)) - (this & signMask) (num) will need runtime check to cast to type int (dart:_interceptors/js_number.dart, line 362, col 12) warning: [DownCastComposite] JS('JSExtendableArray', r'#.split(#)', this, pattern) (dynamic) will need runtime check to cast to type List (dart:_interceptors/js_string.dart, line 86, col 14) warning: [DownCastComposite] JS('JSExtendableArray', r'#.split(#)', this, re) (dynamic) will need runtime check to cast to type List (dart:_interceptors/js_string.dart, line 89, col 14) -warning: [DownCastImplicit] _storage.sublist(start * 4, end * 4) (List) will need runtime check to cast to type NativeFloat32List (dart:_native_typed_data, line 201, col 9) -warning: [DownCastImplicit] _storage.sublist(start * 4, end * 4) (List) will need runtime check to cast to type Int32List (dart:_native_typed_data, line 311, col 9) -warning: [DownCastImplicit] _storage.sublist(start * 2, end * 2) (List) will need runtime check to cast to type NativeFloat64List (dart:_native_typed_data, line 415, col 9) -warning: [DownCastImplicit] length == null ? _create2(buffer, offsetInBytes) : _create3(buffer, offsetInBytes, length) (Int8List) will need runtime check to cast to type NativeInt8List (dart:_native_typed_data, line 1106, col 12) warning: [DownCastComposite] JS('JSExtendableArray|Null', r'#.exec(#)', _nativeRegExp, checkString(string)) (dynamic) will need runtime check to cast to type List (dart:_js_helper/regexp_helper.dart, line 108, col 22) warning: [DownCastComposite] match (List) will need runtime check to cast to type List (dart:_js_helper/regexp_helper.dart, line 140, col 43) warning: [DownCastComposite] match (List) will need runtime check to cast to type List (dart:_js_helper/regexp_helper.dart, line 152, col 43) warning: [DownCastComposite] pattern.allMatches(receiver) (dynamic) will need runtime check to cast to type Iterable (dart:_js_helper/string_helper.dart, line 137, col 23) -warning: [DownCastImplicit] errorHandler (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:async/async_error.dart, line 20, col 39) warning: [DownCastComposite] controller (_StreamControllerLifecycle) will need runtime check to cast to type _StreamControllerLifecycle (dart:async/broadcast_stream_controller.dart, line 8, col 67) warning: [DownCastComposite] controller (_StreamControllerLifecycle) will need runtime check to cast to type _StreamControllerLifecycle (dart:async/broadcast_stream_controller.dart, line 36, col 15) warning: [DownCastComposite] super._controller (_StreamControllerLifecycle) will need runtime check to cast to type _BroadcastStreamController (dart:async/broadcast_stream_controller.dart, line 40, col 52) @@ -99,9 +71,7 @@ warning: [DownCastComposite] link (_BroadcastSubscriptionLink) will need runtime warning: [DownCastComposite] result (_Future) will need runtime check to cast to type Future (dart:async/future.dart, line 123, col 12) warning: [DownCastComposite] result (_Future) will need runtime check to cast to type Future (dart:async/future.dart, line 149, col 12) warning: [DownCastComposite] result (_Future) will need runtime check to cast to type Future (dart:async/future.dart, line 233, col 12) -warning: [DownCastImplicit] callback (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:async/future_impl.dart, line 112, col 12) warning: [DownCastComposite] callback (Function) will need runtime check to cast to type (dynamic) → bool (dart:async/future_impl.dart, line 117, col 12) -warning: [DownCastImplicit] callback (Function) will need runtime check to cast to type () → dynamic (dart:async/future_impl.dart, line 121, col 12) warning: [DownCastComposite] result._zone.registerUnaryCallback(f) ((dynamic) → dynamic) will need runtime check to cast to type (T) → dynamic (dart:async/future_impl.dart, line 208, col 11) warning: [DownCastComposite] result._zone.registerUnaryCallback(test) ((dynamic) → dynamic) will need runtime check to cast to type (dynamic) → bool (dart:async/future_impl.dart, line 221, col 32) warning: [DownCastComposite] result (_Future) will need runtime check to cast to type Future (dart:async/future_impl.dart, line 233, col 12) @@ -111,7 +81,6 @@ warning: [DownCastComposite] value (dynamic) will need runtime check to cast to warning: [DownCastComposite] value (dynamic) will need runtime check to cast to type Future (dart:async/future_impl.dart, line 386, col 31) warning: [DownCastComposite] typedFuture (Future) will need runtime check to cast to type _Future (dart:async/future_impl.dart, line 388, col 33) warning: [DownCastComposite] value (dynamic) will need runtime check to cast to type T (dart:async/future_impl.dart, line 407, col 22) -warning: [DownCastImplicit] errorCallback (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:async/future_impl.dart, line 515, col 54) warning: [DownCastComposite] callback (dynamic) will need runtime check to cast to type () → void (dart:async/schedule_microtask.dart, line 66, col 61) warning: [DownCastComposite] callback (dynamic) will need runtime check to cast to type () → void (dart:async/schedule_microtask.dart, line 71, col 60) warning: [DownCastComposite] callback (dynamic) will need runtime check to cast to type () → void (dart:async/schedule_microtask.dart, line 84, col 55) @@ -138,8 +107,6 @@ warning: [DownCastComposite] subscription (_ControllerSubscription) wil warning: [DownCastComposite] controller (_StreamController) will need runtime check to cast to type _EventSink (dart:async/stream_controller.dart, line 798, col 15) warning: [DownCastComposite] _nullDataHandler ((dynamic) → void) will need runtime check to cast to type (T) → void (dart:async/stream_impl.dart, line 153, col 42) warning: [DownCastComposite] _zone.registerUnaryCallback(handleData) ((dynamic) → dynamic) will need runtime check to cast to type (T) → void (dart:async/stream_impl.dart, line 154, col 15) -warning: [DownCastImplicit] _onError (Function) will need runtime check to cast to type (dynamic, dynamic) → dynamic (dart:async/stream_impl.dart, line 358, col 32) -warning: [DownCastImplicit] _onError (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:async/stream_impl.dart, line 360, col 31) warning: [DownCastComposite] subscription (StreamSubscription) will need runtime check to cast to type StreamSubscription (dart:async/stream_impl.dart, line 476, col 12) warning: [DownCastComposite] new _BufferingStreamSubscription(onData, onError, onDone, cancelOnError).._setPendingEvents(_pending()) (_BufferingStreamSubscription) will need runtime check to cast to type StreamSubscription (dart:async/stream_impl.dart, line 515, col 12) warning: [DownCastComposite] Zone.current.registerUnaryCallback(onListenHandler) ((dynamic) → dynamic) will need runtime check to cast to type (StreamSubscription) → void (dart:async/stream_impl.dart, line 813, col 28) @@ -158,10 +125,7 @@ warning: [UninferredClosure] (EventSink outputSink) {if (handleData == null) warning: [DownCastComposite] _defaultHandleData ((dynamic, EventSink) → void) will need runtime check to cast to type (S, EventSink) → void (dart:async/stream_transformers.dart, line 234, col 48) warning: [DownCastComposite] _defaultHandleError ((dynamic, StackTrace, EventSink) → void) will need runtime check to cast to type (Object, StackTrace, EventSink) → void (dart:async/stream_transformers.dart, line 235, col 50) warning: [DownCastComposite] Zone.current.bindUnaryCallback(callback, runGuarded: true) ((dynamic) → dynamic) will need runtime check to cast to type (Timer) → void (dart:async/timer.dart, line 80, col 19) -warning: [DownCastImplicit] implementationZone (Zone) will need runtime check to cast to type _Zone (dart:async/zone.dart, line 845, col 57) warning: [DownCastComposite] zone.bindUnaryCallback(callback) ((dynamic) → dynamic) will need runtime check to cast to type (Timer) → void (dart:async/zone.dart, line 962, col 16) -warning: [DownCastImplicit] zone (Zone) will need runtime check to cast to type _Zone (dart:async/zone.dart, line 999, col 26) -warning: [DownCastImplicit] onError (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:async/zone.dart, line 1228, col 37) warning: [DownCastComposite] JS('var', '#.splice(#, 2)[1]', bucket, index) (dynamic) will need runtime check to cast to type V (dart:collection, line 179, col 12) warning: [DownCastComposite] key (dynamic) will need runtime check to cast to type K (dart:collection, line 193, col 14) warning: [DownCastComposite] _getTableEntry(table, key) (dynamic) will need runtime check to cast to type V (dart:collection, line 261, col 17) @@ -211,7 +175,6 @@ warning: [DownCastComposite] _next (_LinkedListLink) will need runtime check to warning: [DownCastComposite] current (_LinkedListLink) will need runtime check to cast to type E (dart:collection/linked_list.dart, line 134, col 14) warning: [DownCastComposite] _next (_LinkedListLink) will need runtime check to cast to type E (dart:collection/linked_list.dart, line 192, col 16) warning: [DownCastComposite] _next (_LinkedListLink) will need runtime check to cast to type E (dart:collection/linked_list.dart, line 249, col 16) -warning: [DownCastImplicit] iterable (Iterable) will need runtime check to cast to type List (dart:collection/list.dart, line 365, col 19) warning: [DownCastComposite] otherList[otherStart + i] (dynamic) will need runtime check to cast to type E (dart:collection/list.dart, line 377, col 27) warning: [DownCastComposite] otherList[otherStart + i] (dynamic) will need runtime check to cast to type E (dart:collection/list.dart, line 381, col 27) warning: [DownCastComposite] _map[_map.keys.first] (dynamic) will need runtime check to cast to type V (dart:collection/maps.dart, line 122, col 18) @@ -239,12 +202,8 @@ warning: [DownCastComposite] mapRoot.value (dynamic) will need runtime check to warning: [DownCastComposite] mapRoot.value (dynamic) will need runtime check to cast to type V (dart:collection/splay_tree.dart, line 363, col 14) warning: [DownCastComposite] nodes.current (_SplayTreeNode) will need runtime check to cast to type _SplayTreeMapNode (dart:collection/splay_tree.dart, line 394, col 38) warning: [DownCastComposite] key (Object) will need runtime check to cast to type K (dart:collection/splay_tree.dart, line 408, col 37) -warning: [DownCastImplicit] node.right (_SplayTreeNode) will need runtime check to cast to type _SplayTreeMapNode (dart:collection/splay_tree.dart, line 420, col 41) -warning: [DownCastImplicit] node.left (_SplayTreeNode) will need runtime check to cast to type _SplayTreeMapNode (dart:collection/splay_tree.dart, line 421, col 16) -warning: [DownCastImplicit] _root (_SplayTreeNode) will need runtime check to cast to type _SplayTreeMapNode (dart:collection/splay_tree.dart, line 425, col 18) warning: [DownCastComposite] _first.key (dynamic) will need runtime check to cast to type K (dart:collection/splay_tree.dart, line 441, col 12) warning: [DownCastComposite] _last.key (dynamic) will need runtime check to cast to type K (dart:collection/splay_tree.dart, line 449, col 12) -warning: [DownCastImplicit] _currentNode (_SplayTreeNode) will need runtime check to cast to type _SplayTreeMapNode (dart:collection/splay_tree.dart, line 545, col 22) warning: [DownCastComposite] setOrMap._comparator (dynamic) will need runtime check to cast to type (K, K) → int (dart:collection/splay_tree.dart, line 610, col 29) warning: [DownCastComposite] setOrMap._validKey (dynamic) will need runtime check to cast to type (Object) → bool (dart:collection/splay_tree.dart, line 610, col 51) warning: [DownCastComposite] node.key (dynamic) will need runtime check to cast to type K (dart:collection/splay_tree.dart, line 628, col 39) @@ -260,49 +219,29 @@ warning: [DownCastComposite] element (Object) will need runtime check to cast to warning: [DownCastComposite] object (Object) will need runtime check to cast to type E (dart:collection/splay_tree.dart, line 779, col 39) warning: [DownCastComposite] object (Object) will need runtime check to cast to type E (dart:collection/splay_tree.dart, line 791, col 23) warning: [DownCastComposite] result (List) will need runtime check to cast to type List (dart:convert/ascii.dart, line 96, col 12) -warning: [DownCastImplicit] sink (Sink>) will need runtime check to cast to type ByteConversionSink (dart:convert/ascii.dart, line 109, col 55) warning: [DownCastComposite] _first.encoder.fuse(_second.encoder) (Converter) will need runtime check to cast to type Converter (dart:convert/codec.dart, line 87, col 34) warning: [DownCastComposite] _second.decoder.fuse(_first.decoder) (Converter) will need runtime check to cast to type Converter (dart:convert/codec.dart, line 88, col 34) -warning: [DownCastImplicit] key (Object) will need runtime check to cast to type String (dart:convert, line 176, col 45) -warning: [DownCastImplicit] key (Object) will need runtime check to cast to type String (dart:convert, line 177, col 53) -warning: [DownCastImplicit] key (Object) will need runtime check to cast to type String (dart:convert, line 233, col 36) warning: [DownCastComposite] JS('JSExtendableArray', '#', keys) (dynamic) will need runtime check to cast to type List (dart:convert, line 311, col 12) warning: [DownCastComposite] _second.convert(_first.convert(input)) (dynamic) will need runtime check to cast to type T (dart:convert/converter.dart, line 58, col 25) warning: [DownCastComposite] byteStream.transform(decoder).fold(new StringBuffer(), (buffer, string) => buffer..write(string)).then((buffer) => buffer.toString()) (Future) will need runtime check to cast to type Future (dart:convert/encoding.dart, line 14, col 12) -warning: [DownCastImplicit] sink (Sink) will need runtime check to cast to type StringConversionSink (dart:convert/html_escape.dart, line 79, col 38) warning: [DownCastComposite] toEncodable ((dynamic) → dynamic) will need runtime check to cast to type (Object) → Object (dart:convert/json.dart, line 142, col 28) warning: [DownCastComposite] _toEncodable ((dynamic) → dynamic) will need runtime check to cast to type (Object) → Object (dart:convert/json.dart, line 147, col 28) -warning: [DownCastImplicit] _toEncodable (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:convert/json.dart, line 243, col 48) -warning: [DownCastImplicit] sink (Sink) will need runtime check to cast to type StringConversionSink (dart:convert/json.dart, line 262, col 33) warning: [DownCastComposite] _toEncodable (Function) will need runtime check to cast to type (Object) → dynamic (dart:convert/json.dart, line 270, col 42) warning: [DownCastComposite] _toEncodable (Function) will need runtime check to cast to type (Object) → dynamic (dart:convert/json.dart, line 352, col 36) -warning: [DownCastImplicit] _toEncodable (Function) will need runtime check to cast to type (dynamic) → dynamic (dart:convert/json.dart, line 425, col 51) warning: [DownCastComposite] _toEncodable (Function) will need runtime check to cast to type (Object) → dynamic (dart:convert/json.dart, line 455, col 53) warning: [DownCastComposite] object (dynamic) will need runtime check to cast to type Map (dart:convert/json.dart, line 715, col 16) warning: [DownCastComposite] _toEncodable (dynamic) will need runtime check to cast to type (Object) → Object (dart:convert/json.dart, line 817, col 60) warning: [DownCastComposite] toEncodable (dynamic) will need runtime check to cast to type (Object) → Object (dart:convert/json.dart, line 895, col 15) warning: [DownCastComposite] sink (Sink) will need runtime check to cast to type Sink (dart:convert/line_splitter.dart, line 24, col 44) -warning: [DownCastImplicit] sink (Sink) will need runtime check to cast to type StringConversionSink (dart:convert/line_splitter.dart, line 26, col 34) -warning: [DownCastImplicit] sink (Sink>) will need runtime check to cast to type ByteConversionSink (dart:convert/utf.dart, line 125, col 33) -warning: [DownCastImplicit] symbol (Symbol) will need runtime check to cast to type Symbol (dart:core, line 206, col 69) -warning: [DownCastImplicit] Primitives.dateNow() (num) will need runtime check to cast to type int (dart:core/date_time.dart, line 593, col 34) -warning: [DownCastImplicit] inMinutes.remainder(MINUTES_PER_HOUR) (num) will need runtime check to cast to type int (dart:core/duration.dart, line 258, col 40) -warning: [DownCastImplicit] inSeconds.remainder(SECONDS_PER_MINUTE) (num) will need runtime check to cast to type int (dart:core/duration.dart, line 259, col 40) -warning: [DownCastImplicit] inMicroseconds.remainder(MICROSECONDS_PER_SECOND) (num) will need runtime check to cast to type int (dart:core/duration.dart, line 261, col 19) warning: [DownCastComposite] (generator != null) ? generator : _id (Function) will need runtime check to cast to type (int) → E (dart:core/iterable.dart, line 319, col 22) warning: [DownCastComposite] e (dynamic) will need runtime check to cast to type E (dart:core/list.dart, line 121, col 16) warning: [DownCastComposite] makeListFixedLength(list) (List) will need runtime check to cast to type List (dart:core/list.dart, line 124, col 12) -warning: [DownCastImplicit] (_stop == null) ? (_now() - _start) : (_stop - _start) (num) will need runtime check to cast to type int (dart:core/stopwatch.dart, line 102, col 12) -warning: [DownCastImplicit] _currentCodePoint (num) will need runtime check to cast to type int (dart:core/string.dart, line 753, col 22) -warning: [DownCastImplicit] _port (num) will need runtime check to cast to type int (dart:core/uri.dart, line 94, col 12) -warning: [DownCastImplicit] this._port (num) will need runtime check to cast to type int (dart:core/uri.dart, line 893, col 14) warning: [DownCastComposite] _userinfoTable (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1131, col 45) warning: [DownCastComposite] _pathCharOrSlashTable (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1144, col 45) warning: [DownCastComposite] _pathCharTable (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1146, col 51) warning: [DownCastComposite] _queryCharTable (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1163, col 61) warning: [DownCastComposite] _queryCharTable (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1183, col 45) warning: [DownCastComposite] codeUnits (List) will need runtime check to cast to type Iterable (dart:core/uri.dart, line 1278, col 37) -warning: [DownCastImplicit] this._port (num) will need runtime check to cast to type int (dart:core/uri.dart, line 1494, col 22) warning: [DownCastComposite] _unreserved2396Table (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1754, col 23) warning: [DownCastComposite] _unreservedTable (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1793, col 9) warning: [DownCastComposite] _encodeFullTable (List) will need runtime check to cast to type List (dart:core/uri.dart, line 1837, col 23) @@ -325,16 +264,12 @@ warning: [DownCastComposite] test ((dynamic) → bool) will need runtime check t warning: [DownCastComposite] list (List) will need runtime check to cast to type Iterable (dart:_internal/iterable.dart, line 997, col 40) warning: [DownCastComposite] list (List) will need runtime check to cast to type Iterable (dart:_internal/iterable.dart, line 1033, col 35) warning: [DownCastComposite] l (List) will need runtime check to cast to type List (dart:_internal/iterable.dart, line 1115, col 31) -warning: [DownCastImplicit] key (Object) will need runtime check to cast to type int (dart:_internal/list.dart, line 251, col 59) warning: [DownCastComposite] IsolateNatives.spawnFunction(entryPoint, message, paused).then((msg) => new Isolate(msg[1], pauseCapability: msg[2], terminateCapability: msg[3])) (Future) will need runtime check to cast to type Future (dart:isolate, line 168, col 14) warning: [DownCastComposite] IsolateNatives.spawnUri(uri, args, message, paused).then((msg) => new Isolate(msg[1], pauseCapability: msg[2], terminateCapability: msg[3])) (Future) will need runtime check to cast to type Future (dart:isolate, line 234, col 14) warning: [DownCastComposite] _convertToJS ((dynamic) → dynamic) will need runtime check to cast to type (E) → dynamic (dart:js, line 325, col 44) warning: [DownCastComposite] super[index] (dynamic) will need runtime check to cast to type E (dart:js, line 358, col 12) -warning: [DownCastImplicit] list (Object) will need runtime check to cast to type List (dart:js, line 394, col 24) warning: [DownCastComposite] callMethod('splice', [index, 1])[0] (dynamic) will need runtime check to cast to type E (dart:js, line 404, col 12) warning: [DownCastComposite] callMethod('pop') (dynamic) will need runtime check to cast to type E (dart:js, line 409, col 12) -warning: [DownCastImplicit] ms (num) will need runtime check to cast to type int (dart:js, line 486, col 52) -warning: [DownCastImplicit] rnd32.remainder(max) (num) will need runtime check to cast to type int (dart:math, line 426, col 16) warning: [DownCastComposite] x + other.x (num) will need runtime check to cast to type T (dart:math/point.dart, line 37, col 25) warning: [DownCastComposite] y + other.y (num) will need runtime check to cast to type T (dart:math/point.dart, line 37, col 38) warning: [DownCastComposite] x - other.x (num) will need runtime check to cast to type T (dart:math/point.dart, line 46, col 25) @@ -370,4 +305,3 @@ warning: [DownCastComposite] min(a.y, b.y) (num) will need runtime check to cast warning: [DownCastComposite] max(a.y, b.y) - top (num) will need runtime check to cast to type T (dart:math/rectangle.dart, line 231, col 16) warning: [DownCastComposite] _clampToZero(width) (num) will need runtime check to cast to type T (dart:math/rectangle.dart, line 247, col 28) warning: [DownCastComposite] _clampToZero(height) (num) will need runtime check to cast to type T (dart:math/rectangle.dart, line 263, col 30) -warning: [DownCastImplicit] (tm as ClassMirror).originalDeclaration (TypeMirror) will need runtime check to cast to type ClassMirror (dart:mirrors, line 171, col 10)