OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 #import("../../../lib/compiler/implementation/ssa/ssa.dart"); | 5 #import("../../../lib/compiler/implementation/ssa/ssa.dart"); |
6 | 6 |
7 #import('compiler_helper.dart'); | 7 #import('compiler_helper.dart'); |
8 | 8 |
9 final String TEST_ONE = @""" | 9 const String TEST_ONE = @""" |
10 f(p) { if (p == null) return p; else return p; } | 10 f(p) { if (p == null) return p; else return p; } |
11 main() { f("s"); } | 11 main() { f("s"); } |
12 """; | 12 """; |
13 | 13 |
14 final String TEST_TWO = @""" | 14 const String TEST_TWO = @""" |
15 f(p) { if (p == null) return p; else return p; } | 15 f(p) { if (p == null) return p; else return p; } |
16 main() { f(1); } | 16 main() { f(1); } |
17 """; | 17 """; |
18 | 18 |
19 final String TEST_THREE = @""" | 19 const String TEST_THREE = @""" |
20 f(p) { if (p == null) return p; else return p; } | 20 f(p) { if (p == null) return p; else return p; } |
21 main() { f(1); f(2); } | 21 main() { f(1); f(2); } |
22 """; | 22 """; |
23 | 23 |
24 final String TEST_FOUR = @""" | 24 const String TEST_FOUR = @""" |
25 f(p) { if (p == null) return p; else return p; } | 25 f(p) { if (p == null) return p; else return p; } |
26 main() { f(1.1); } | 26 main() { f(1.1); } |
27 """; | 27 """; |
28 | 28 |
29 final String TEST_FIVE = @""" | 29 const String TEST_FIVE = @""" |
30 f(p) { if (p == null) return p; else return p; } | 30 f(p) { if (p == null) return p; else return p; } |
31 main() { f(1); f(2.2); } | 31 main() { f(1); f(2.2); } |
32 """; | 32 """; |
33 | 33 |
34 final String TEST_SIX = @""" | 34 const String TEST_SIX = @""" |
35 f(p) { if (p == null) return p; else return p; } | 35 f(p) { if (p == null) return p; else return p; } |
36 main() { f(1.1); f(2); } | 36 main() { f(1.1); f(2); } |
37 """; | 37 """; |
38 | 38 |
39 final String TEST_SEVEN = @""" | 39 const String TEST_SEVEN = @""" |
40 f(p) { if (p == null) return p; else return p; } | 40 f(p) { if (p == null) return p; else return p; } |
41 main() { f(1); f("s"); } | 41 main() { f(1); f("s"); } |
42 """; | 42 """; |
43 | 43 |
44 final String TEST_EIGHT = @""" | 44 const String TEST_EIGHT = @""" |
45 f(p1, p2) { | 45 f(p1, p2) { |
46 if (p1 == null) return p1; | 46 if (p1 == null) return p1; |
47 else return p1; | 47 else return p1; |
48 } | 48 } |
49 main() { f(1, 2); f(1, "s"); } | 49 main() { f(1, 2); f(1, "s"); } |
50 """; | 50 """; |
51 | 51 |
52 final String TEST_NINE = @""" | 52 const String TEST_NINE = @""" |
53 f(p1, p2) { | 53 f(p1, p2) { |
54 if (p1 == null) return p1; | 54 if (p1 == null) return p1; |
55 else return p1; | 55 else return p1; |
56 } | 56 } |
57 main() { f("s", 2); f(1, "s"); } | 57 main() { f("s", 2); f(1, "s"); } |
58 """; | 58 """; |
59 | 59 |
60 final String TEST_TEN = @""" | 60 const String TEST_TEN = @""" |
61 f(p) { if (p == null) return p; else return p; } | 61 f(p) { if (p == null) return p; else return p; } |
62 g(p) { if (p == null) return p; else return p; } | 62 g(p) { if (p == null) return p; else return p; } |
63 main() { f(1); g(f); } | 63 main() { f(1); g(f); } |
64 """; | 64 """; |
65 | 65 |
66 void runTest(String test, [HType expectedType = HType.UNKNOWN]) { | 66 void runTest(String test, [HType expectedType = HType.UNKNOWN]) { |
67 compileAndCheck( | 67 compileAndCheck( |
68 test, | 68 test, |
69 'f', | 69 'f', |
70 (compiler, x) { | 70 (compiler, x) { |
(...skipping 13 matching lines...) Expand all Loading... |
84 runTest(TEST_SIX, HType.NUMBER); | 84 runTest(TEST_SIX, HType.NUMBER); |
85 runTest(TEST_SEVEN); | 85 runTest(TEST_SEVEN); |
86 runTest(TEST_EIGHT, HType.INTEGER); | 86 runTest(TEST_EIGHT, HType.INTEGER); |
87 runTest(TEST_NINE); | 87 runTest(TEST_NINE); |
88 runTest(TEST_TEN); | 88 runTest(TEST_TEN); |
89 } | 89 } |
90 | 90 |
91 void main() { | 91 void main() { |
92 test(); | 92 test(); |
93 } | 93 } |
OLD | NEW |