OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /// General type checking tests | 5 /// General type checking tests |
6 library dev_compiler.test.checker_test; | 6 library dev_compiler.test.checker_test; |
7 | 7 |
8 import 'package:test/test.dart'; | 8 import 'package:test/test.dart'; |
9 | 9 |
10 import '../testing.dart'; | 10 import '../testing.dart'; |
(...skipping 2498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2509 typedef II2D(int x, int y); | 2509 typedef II2D(int x, int y); |
2510 typedef DI2D(x, int y); | 2510 typedef DI2D(x, int y); |
2511 typedef ID2D(int x, y); | 2511 typedef ID2D(int x, y); |
2512 typedef DD2D(x, y); | 2512 typedef DD2D(x, y); |
2513 | 2513 |
2514 int foo(int x) => x; | 2514 int foo(int x) => x; |
2515 int bar(int x, int y) => x + y; | 2515 int bar(int x, int y) => x + y; |
2516 | 2516 |
2517 void main() { | 2517 void main() { |
2518 bool b; | 2518 bool b; |
2519 b = /*severe:InvalidRuntimeCheckError*/foo is I2I; | 2519 b = /*info:NonGroundTypeCheckInfo*/foo is I2I; |
2520 b = /*severe:InvalidRuntimeCheckError*/foo is D2I; | 2520 b = /*info:NonGroundTypeCheckInfo*/foo is D2I; |
2521 b = /*severe:InvalidRuntimeCheckError*/foo is I2D; | 2521 b = /*info:NonGroundTypeCheckInfo*/foo is I2D; |
2522 b = foo is D2D; | 2522 b = foo is D2D; |
2523 | 2523 |
2524 b = /*severe:InvalidRuntimeCheckError*/bar is II2I; | 2524 b = /*info:NonGroundTypeCheckInfo*/bar is II2I; |
2525 b = /*severe:InvalidRuntimeCheckError*/bar is DI2I; | 2525 b = /*info:NonGroundTypeCheckInfo*/bar is DI2I; |
2526 b = /*severe:InvalidRuntimeCheckError*/bar is ID2I; | 2526 b = /*info:NonGroundTypeCheckInfo*/bar is ID2I; |
2527 b = /*severe:InvalidRuntimeCheckError*/bar is II2D; | 2527 b = /*info:NonGroundTypeCheckInfo*/bar is II2D; |
2528 b = /*severe:InvalidRuntimeCheckError*/bar is DD2I; | 2528 b = /*info:NonGroundTypeCheckInfo*/bar is DD2I; |
2529 b = /*severe:InvalidRuntimeCheckError*/bar is DI2D; | 2529 b = /*info:NonGroundTypeCheckInfo*/bar is DI2D; |
2530 b = /*severe:InvalidRuntimeCheckError*/bar is ID2D; | 2530 b = /*info:NonGroundTypeCheckInfo*/bar is ID2D; |
2531 b = bar is DD2D; | 2531 b = bar is DD2D; |
2532 | 2532 |
2533 // For as, the validity of checks is deferred to runtime. | 2533 // For as, the validity of checks is deferred to runtime. |
2534 Function f; | 2534 Function f; |
2535 f = foo as I2I; | 2535 f = foo as I2I; |
2536 f = foo as D2I; | 2536 f = foo as D2I; |
2537 f = foo as I2D; | 2537 f = foo as I2D; |
2538 f = foo as D2D; | 2538 f = foo as D2D; |
2539 | 2539 |
2540 f = bar as II2I; | 2540 f = bar as II2I; |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2665 // Types other than int and double are not accepted. | 2665 // Types other than int and double are not accepted. |
2666 printInt( | 2666 printInt( |
2667 /*warning:DownCastImplicit*/min( | 2667 /*warning:DownCastImplicit*/min( |
2668 /*severe:StaticTypeError*/"hi", | 2668 /*severe:StaticTypeError*/"hi", |
2669 /*severe:StaticTypeError*/"there")); | 2669 /*severe:StaticTypeError*/"there")); |
2670 } | 2670 } |
2671 ''' | 2671 ''' |
2672 }); | 2672 }); |
2673 }); | 2673 }); |
2674 } | 2674 } |
OLD | NEW |