OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Regression test for dart2js that used to crash on type literals | 5 import 'dart:mirrors'; |
6 // used in a cascade send. | |
7 | 6 |
8 class A { | 7 class A { |
9 var bar; | 8 var field; |
10 var foo = {}; | |
11 } | 9 } |
12 | 10 |
13 main() { | 11 main() { |
14 var a = new A(); | 12 var a = new A(); |
15 a..foo[Object] = 54 | 13 var mirror = reflect(a); |
16 ..bar = 42; | 14 var array = [42]; |
17 if (a.foo.keys.first is! Type) { | 15 a.field = array; |
18 throw 'Test failed'; | 16 var field = mirror.getField(#field); |
19 } | 17 field.invoke(#clear, []); |
| 18 if (array.length == 1) throw 'Test failed'; |
20 } | 19 } |
OLD | NEW |