| 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 "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 | 6 |
| 7 // Test that 'identical(a,b)' is a compile-time constant. | 7 // Test that 'identical(a,b)' is a compile-time constant. |
| 8 | 8 |
| 9 class C { | 9 class C { |
| 10 final x; | 10 final x; |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 const CT(s1, l1), | 79 const CT(s1, l1), |
| 80 const CT(l1, m1), | 80 const CT(l1, m1), |
| 81 const CT(m1, c1), | 81 const CT(m1, c1), |
| 82 const CT(c1, f1), | 82 const CT(c1, f1), |
| 83 const CT(f1, C.f3), | 83 const CT(f1, C.f3), |
| 84 const CT(C.f3, identical), | 84 const CT(C.f3, identical), |
| 85 const CT(identical, i1), | 85 const CT(identical, i1), |
| 86 ]; | 86 ]; |
| 87 | 87 |
| 88 // Not a constant if it's not written 'identical'. | 88 // Not a constant if it's not written 'identical'. |
| 89 const idtest = id(i1, i2); /// 01: compile-time error | 89 const idtest = id(i1, i2); //# 01: compile-time error |
| 90 | 90 |
| 91 // Not a constant if aliased? (Current interpretation, waiting for | 91 // Not a constant if aliased? (Current interpretation, waiting for |
| 92 // confirmation). | 92 // confirmation). |
| 93 class T { /// 02: compile-time error | 93 class T { //# 02: compile-time error |
| 94 static const identical = id; /// 02: continued | 94 static const identical = id; //# 02: continued |
| 95 static const idtest2 = identical(i1, i2); /// 02: continued | 95 static const idtest2 = identical(i1, i2); //# 02: continued |
| 96 } /// 02: continued | 96 } //# 02: continued |
| 97 | 97 |
| 98 main() { | 98 main() { |
| 99 for (int i = 0; i < trueTests.length; i++) { | 99 for (int i = 0; i < trueTests.length; i++) { |
| 100 trueTests[i].test(Expect.isTrue, "true[$i]"); | 100 trueTests[i].test(Expect.isTrue, "true[$i]"); |
| 101 } | 101 } |
| 102 for (int i = 0; i < falseTests.length; i++) { | 102 for (int i = 0; i < falseTests.length; i++) { |
| 103 falseTests[i].test(Expect.isFalse, "false[$i]"); | 103 falseTests[i].test(Expect.isFalse, "false[$i]"); |
| 104 } | 104 } |
| 105 | 105 |
| 106 var x = idtest; /// 01: continued | 106 var x = idtest; //# 01: continued |
| 107 var x = T.idtest2; /// 02: continued | 107 var x = T.idtest2; //# 02: continued |
| 108 } | 108 } |
| 109 | 109 |
| OLD | NEW |