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 // Ensure that classes handled specially by dart2js can be reflected on. | 5 // Ensure that classes handled specially by dart2js can be reflected on. |
6 | 6 |
7 library test.intercepted_class_test; | 7 library test.intercepted_class_test; |
8 | 8 |
| 9 @MirrorsUsed(targets: "dart.core") |
9 import 'dart:mirrors'; | 10 import 'dart:mirrors'; |
10 | 11 |
11 import 'stringify.dart' show stringify, expect; | 12 import 'stringify.dart' show stringify, expect; |
12 | 13 |
13 checkClassMirrorMethods(ClassMirror cls) { | 14 checkClassMirrorMethods(ClassMirror cls) { |
14 var variables = new Map(); | 15 var variables = new Map(); |
15 cls.declarations.forEach((Symbol key, DeclarationMirror value) { | 16 cls.declarations.forEach((Symbol key, DeclarationMirror value) { |
16 if (value is VariableMirror && !value.isStatic && !value.isPrivate) { | 17 if (value is VariableMirror && !value.isStatic && !value.isPrivate) { |
17 variables[key] = value; | 18 variables[key] = value; |
18 } | 19 } |
19 }); | 20 }); |
20 expect('{}', variables); | 21 expect('{}', variables); |
21 } | 22 } |
22 | 23 |
23 checkClassMirror(ClassMirror cls, String name) { | 24 checkClassMirror(ClassMirror cls, String name) { |
24 expect('s($name)', cls.simpleName); | 25 expect('s($name)', cls.simpleName); |
25 checkClassMirrorMethods(cls); | 26 checkClassMirrorMethods(cls); |
26 } | 27 } |
27 | 28 |
28 main() { | 29 main() { |
29 checkClassMirror(reflectClass(String), 'String'); | 30 checkClassMirror(reflectClass(String), 'String'); |
30 checkClassMirror(reflectClass(int), 'int'); | 31 checkClassMirror(reflectClass(int), 'int'); |
31 checkClassMirror(reflectClass(double), 'double'); | 32 checkClassMirror(reflectClass(double), 'double'); |
32 checkClassMirror(reflectClass(num), 'num'); | 33 checkClassMirror(reflectClass(num), 'num'); |
33 checkClassMirror(reflectClass(bool), 'bool'); | 34 checkClassMirror(reflectClass(bool), 'bool'); |
34 checkClassMirror(reflectClass(List), 'List'); | 35 checkClassMirror(reflectClass(List), 'List'); |
35 } | 36 } |
OLD | NEW |