| 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 // Tests of interceptors. | 5 // Tests of interceptors. |
| 6 | 6 |
| 7 library constructor_test; | 7 library constructor_test; |
| 8 | 8 |
| 9 import 'js_backend_cps_ir.dart'; | 9 import 'js_backend_cps_ir.dart'; |
| 10 | 10 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 Sub(x, this.y) : super(x) { | 36 Sub(x, this.y) : super(x) { |
| 37 print(x); | 37 print(x); |
| 38 } | 38 } |
| 39 } | 39 } |
| 40 main() { | 40 main() { |
| 41 print(new Sub(1, 2).x); | 41 print(new Sub(1, 2).x); |
| 42 }""", | 42 }""", |
| 43 r""" | 43 r""" |
| 44 function(x, y) { | 44 function(x, y) { |
| 45 P.print(x); | 45 P.print(x); |
| 46 return null; | |
| 47 }"""), | 46 }"""), |
| 48 | 47 |
| 49 const TestEntry.forMethod('generative_constructor(Sub#)', """ | 48 const TestEntry.forMethod('generative_constructor(Sub#)', """ |
| 50 class Base0 { | 49 class Base0 { |
| 51 Base0() { | 50 Base0() { |
| 52 print('Base0'); | 51 print('Base0'); |
| 53 } | 52 } |
| 54 } | 53 } |
| 55 class Base extends Base0 { | 54 class Base extends Base0 { |
| 56 var x; | 55 var x; |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 }"""), | 155 }"""), |
| 157 const TestEntry(r""" | 156 const TestEntry(r""" |
| 158 class C<T> { | 157 class C<T> { |
| 159 foo() => T; | 158 foo() => T; |
| 160 } | 159 } |
| 161 main() { | 160 main() { |
| 162 print(new C<int>().foo()); | 161 print(new C<int>().foo()); |
| 163 }""", r""" | 162 }""", r""" |
| 164 function() { | 163 function() { |
| 165 P.print(V.C$(P.$int).foo$0()); | 164 P.print(V.C$(P.$int).foo$0()); |
| 166 return null; | |
| 167 }"""), | 165 }"""), |
| 168 const TestEntry(r""" | 166 const TestEntry(r""" |
| 169 class C<T> { | 167 class C<T> { |
| 170 foo() => C; | 168 foo() => C; |
| 171 } | 169 } |
| 172 main() { | 170 main() { |
| 173 print(new C<int>().foo()); | 171 print(new C<int>().foo()); |
| 174 }""", r""" | 172 }""", r""" |
| 175 function() { | 173 function() { |
| 176 P.print(V.C$().foo$0()); | 174 P.print(V.C$().foo$0()); |
| 177 return null; | |
| 178 }"""), | 175 }"""), |
| 179 const TestEntry.forMethod('generative_constructor(C#)', r""" | 176 const TestEntry.forMethod('generative_constructor(C#)', r""" |
| 180 class C<T> { | 177 class C<T> { |
| 181 C() { print(T); } | 178 C() { print(T); } |
| 182 foo() => print(T); | 179 foo() => print(T); |
| 183 } | 180 } |
| 184 main() { | 181 main() { |
| 185 new C<int>(); | 182 new C<int>(); |
| 186 }""", r""" | 183 }""", r""" |
| 187 function($T) { | 184 function($T) { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 class Foo { | 236 class Foo { |
| 240 factory Foo.make(x) = Foo.create; | 237 factory Foo.make(x) = Foo.create; |
| 241 var x; | 238 var x; |
| 242 Foo.create(this.x); | 239 Foo.create(this.x); |
| 243 } | 240 } |
| 244 main() { | 241 main() { |
| 245 print(new Foo.make(5)); | 242 print(new Foo.make(5)); |
| 246 }""", r""" | 243 }""", r""" |
| 247 function() { | 244 function() { |
| 248 P.print(V.Foo$create(5)); | 245 P.print(V.Foo$create(5)); |
| 249 return null; | |
| 250 }"""), | 246 }"""), |
| 251 const TestEntry(r""" | 247 const TestEntry(r""" |
| 252 class A { | 248 class A { |
| 253 factory A(x) = B<int>; | 249 factory A(x) = B<int>; |
| 254 get typevar; | 250 get typevar; |
| 255 } | 251 } |
| 256 class B<T> implements A { | 252 class B<T> implements A { |
| 257 var x; | 253 var x; |
| 258 B(this.x); | 254 B(this.x); |
| 259 | 255 |
| 260 get typevar => T; | 256 get typevar => T; |
| 261 } | 257 } |
| 262 main() { | 258 main() { |
| 263 new A(5).typevar; | 259 new A(5).typevar; |
| 264 }""", r""" | 260 }""", r""" |
| 265 function() { | 261 function() { |
| 266 V.B$(5, P.$int).get$typevar(); | 262 V.B$(5, P.$int).get$typevar(); |
| 267 return null; | |
| 268 }"""), | 263 }"""), |
| 269 ]; | 264 ]; |
| 270 | 265 |
| 271 void main() { | 266 void main() { |
| 272 runTests(tests); | 267 runTests(tests); |
| 273 } | 268 } |
| OLD | NEW |