Index: pkg/analyzer/test/src/task/strong/checker_test.dart |
diff --git a/pkg/analyzer/test/src/task/strong/checker_test.dart b/pkg/analyzer/test/src/task/strong/checker_test.dart |
index 1f34f61c9da5b9b58fe9a523b7c2b6e378d2b3b6..d2a0bd5533a64088a39b80b750957b26fa03f2b2 100644 |
--- a/pkg/analyzer/test/src/task/strong/checker_test.dart |
+++ b/pkg/analyzer/test/src/task/strong/checker_test.dart |
@@ -979,7 +979,7 @@ void main() { |
(dynamic x) => new A(), |
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(dynamic x) => (x as Object), |
(A x) => x, |
- /*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(A x) => (x as Object), |
+ /*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object), |
botA, |
/*warning:DOWN_CAST_COMPOSITE*/botTop |
); |
@@ -1004,7 +1004,7 @@ void main() { |
(dynamic x) => new A(), |
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(dynamic x) => (x as Object), |
(A x) => x, |
- /*error:STATIC_TYPE_ERROR*/(A x) => (x as Object), // known function |
+ /*error:STATIC_TYPE_ERROR*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object), // known function |
/*warning:DOWN_CAST_COMPOSITE*/botA, |
/*warning:DOWN_CAST_COMPOSITE*/botTop |
); |
@@ -1029,7 +1029,7 @@ void main() { |
(dynamic x) => new A(), |
(dynamic x) => (x as Object), |
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/(A x) => x, |
- /*error:STATIC_TYPE_ERROR*/(A x) => (x as Object), // known function |
+ /*error:STATIC_TYPE_ERROR*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object), // known function |
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/botA, |
/*warning:DOWN_CAST_COMPOSITE*/botTop |
); |
@@ -1054,7 +1054,7 @@ void main() { |
(dynamic x) => new A(), |
/*error:STATIC_TYPE_ERROR*/(dynamic x) => (x as Object), // known function |
/*error:STATIC_TYPE_ERROR*/(A x) => x, // known function |
- /*error:STATIC_TYPE_ERROR*/(A x) => (x as Object), // known function |
+ /*error:STATIC_TYPE_ERROR*/(A x) => (/*info:UNNECESSARY_CAST*/x as Object), // known function |
/*warning:DOWN_CAST_COMPOSITE*/botA, |
/*warning:DOWN_CAST_COMPOSITE*/botTop |
); |
@@ -1633,8 +1633,8 @@ void main() { |
f = /*error:INVALID_ASSIGNMENT*/new B(); |
f = i2i; |
f = /*error:INVALID_ASSIGNMENT*/n2n; |
- f = /*warning:DOWN_CAST_COMPOSITE*/i2i as Object; |
- f = /*warning:DOWN_CAST_COMPOSITE*/n2n as Function; |
+ f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/i2i as Object; |
+ f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/n2n as Function; |
} |
{ |
N2N f; |
@@ -1642,8 +1642,8 @@ void main() { |
f = new B(); |
f = /*error:INVALID_ASSIGNMENT*/i2i; |
f = n2n; |
- f = /*warning:DOWN_CAST_COMPOSITE*/i2i as Object; |
- f = /*warning:DOWN_CAST_COMPOSITE*/n2n as Function; |
+ f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/i2i as Object; |
+ f = /*info:UNNECESSARY_CAST,warning:DOWN_CAST_COMPOSITE*/n2n as Function; |
} |
{ |
A f; |
@@ -1651,8 +1651,8 @@ void main() { |
f = /*error:INVALID_ASSIGNMENT*/new B(); |
f = /*error:INVALID_ASSIGNMENT*/i2i; |
f = /*error:INVALID_ASSIGNMENT*/n2n; |
- f = /*info:DOWN_CAST_IMPLICIT*/i2i as Object; |
- f = /*info:DOWN_CAST_IMPLICIT*/n2n as Function; |
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_IMPLICIT*/i2i as Object; |
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_IMPLICIT*/n2n as Function; |
} |
{ |
B f; |
@@ -1660,8 +1660,8 @@ void main() { |
f = new B(); |
f = /*error:INVALID_ASSIGNMENT*/i2i; |
f = /*error:INVALID_ASSIGNMENT*/n2n; |
- f = /*info:DOWN_CAST_IMPLICIT*/i2i as Object; |
- f = /*info:DOWN_CAST_IMPLICIT*/n2n as Function; |
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_IMPLICIT*/i2i as Object; |
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_IMPLICIT*/n2n as Function; |
} |
{ |
Function f; |
@@ -1669,8 +1669,8 @@ void main() { |
f = new B(); |
f = i2i; |
f = n2n; |
- f = /*info:DOWN_CAST_IMPLICIT*/i2i as Object; |
- f = (n2n as Function); |
+ f = /*info:UNNECESSARY_CAST,info:DOWN_CAST_IMPLICIT*/i2i as Object; |
+ f = /*info:UNNECESSARY_CAST*/n2n as Function; |
} |
} |
'''); |
@@ -1988,7 +1988,7 @@ void main/*<S>*/() { |
/*error:IMPLICIT_DYNAMIC_INVOKE*/(/*<T>*/(/*=T*/ t) => t)(d); |
(/*<T>*/(/*=T*/ t) => t)(42); |
- (/*<T>*/() => null as dynamic/*=T*/)/*<int>*/(); |
+ (/*<T>*/() => /*info:UNNECESSARY_CAST*/null as dynamic/*=T*/)/*<int>*/(); |
} |
'''); |
check(implicitDynamic: false); |
@@ -2555,19 +2555,19 @@ void main() { |
// For as, the validity of checks is deferred to runtime. |
Function f; |
- f = foo as I2I; |
- f = foo as D2I; |
- f = foo as I2D; |
- f = foo as D2D; |
- |
- f = bar as II2I; |
- f = bar as DI2I; |
- f = bar as ID2I; |
- f = bar as II2D; |
- f = bar as DD2I; |
- f = bar as DI2D; |
- f = bar as ID2D; |
- f = bar as DD2D; |
+ f = /*info:UNNECESSARY_CAST*/foo as I2I; |
+ f = /*info:UNNECESSARY_CAST*/foo as D2I; |
+ f = /*info:UNNECESSARY_CAST*/foo as I2D; |
+ f = /*info:UNNECESSARY_CAST*/foo as D2D; |
+ |
+ f = /*info:UNNECESSARY_CAST*/bar as II2I; |
+ f = /*info:UNNECESSARY_CAST*/bar as DI2I; |
+ f = /*info:UNNECESSARY_CAST*/bar as ID2I; |
+ f = /*info:UNNECESSARY_CAST*/bar as II2D; |
+ f = /*info:UNNECESSARY_CAST*/bar as DD2I; |
+ f = /*info:UNNECESSARY_CAST*/bar as DI2D; |
+ f = /*info:UNNECESSARY_CAST*/bar as ID2D; |
+ f = /*info:UNNECESSARY_CAST*/bar as DD2D; |
} |
'''); |
} |