| 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 library lib; | 5 library lib; |
| 6 | 6 |
| 7 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
| 8 import 'stringify.dart'; | 8 import 'stringify.dart'; |
| 9 import 'dart:mirrors'; | 9 import 'dart:mirrors'; |
| 10 | 10 |
| 11 class Foo<T> {} | 11 class Foo<T> {} |
| 12 |
| 12 class Bar<T, R> {} | 13 class Bar<T, R> {} |
| 13 | 14 |
| 14 main() { | 15 main() { |
| 15 var cm = reflectClass(Foo); | 16 var cm = reflectClass(Foo); |
| 16 var cm1 = reflect((new Foo<String>())).type; | 17 var cm1 = reflect((new Foo<String>())).type; |
| 17 | 18 |
| 18 Expect.notEquals(cm, cm1); | 19 Expect.notEquals(cm, cm1); |
| 19 Expect.isFalse(cm1.isOriginalDeclaration); | 20 Expect.isFalse(cm1.isOriginalDeclaration); |
| 20 Expect.isTrue(cm.isOriginalDeclaration); | 21 Expect.isTrue(cm.isOriginalDeclaration); |
| 21 | 22 |
| 22 Expect.equals(cm, cm1.originalDeclaration); | 23 Expect.equals(cm, cm1.originalDeclaration); |
| 23 | 24 |
| 24 Expect.equals(cm, reflectClass(Foo)); | 25 Expect.equals(cm, reflectClass(Foo)); |
| 25 Expect.equals(cm, reflectClass((new Foo().runtimeType))); | 26 Expect.equals(cm, reflectClass((new Foo().runtimeType))); |
| 26 Expect.equals(cm1, reflect(new Foo<String>()).type); | 27 Expect.equals(cm1, reflect(new Foo<String>()).type); |
| 27 | 28 |
| 28 expect('[]', cm.typeArguments); | 29 expect('[]', cm.typeArguments); |
| 29 expect('[Class(s(String) in s(dart.core), top-level)]', cm1.typeArguments); | 30 expect('[Class(s(String) in s(dart.core), top-level)]', cm1.typeArguments); |
| 30 | 31 |
| 31 cm = reflect(new Bar<List, Set>()).type; | 32 cm = reflect(new Bar<List, Set>()).type; |
| 32 cm1 = reflect(new Bar<List, Set<String>>()).type; | 33 cm1 = reflect(new Bar<List, Set<String>>()).type; |
| 33 | 34 |
| 34 var cm2 = reflect(new Bar<List<String>, Set>()).type; | 35 var cm2 = reflect(new Bar<List<String>, Set>()).type; |
| 35 var cm3 = reflect(new Bar<List<String>, Set<String>>()).type; | 36 var cm3 = reflect(new Bar<List<String>, Set<String>>()).type; |
| 36 | 37 |
| 37 expect('[Class(s(List) in s(dart.core), top-level),' | 38 expect( |
| 38 ' Class(s(Set) in s(dart.core), top-level)]', cm.typeArguments); | 39 '[Class(s(List) in s(dart.core), top-level),' |
| 39 expect('[Class(s(List) in s(dart.core), top-level),' | 40 ' Class(s(Set) in s(dart.core), top-level)]', |
| 40 ' Class(s(Set) in s(dart.core), top-level)]', cm1.typeArguments); | 41 cm.typeArguments); |
| 41 expect('[Class(s(List) in s(dart.core), top-level),' | 42 expect( |
| 42 ' Class(s(Set) in s(dart.core), top-level)]', cm2.typeArguments); | 43 '[Class(s(List) in s(dart.core), top-level),' |
| 43 expect('[Class(s(List) in s(dart.core), top-level),' | 44 ' Class(s(Set) in s(dart.core), top-level)]', |
| 44 ' Class(s(Set) in s(dart.core), top-level)]', cm3.typeArguments); | 45 cm1.typeArguments); |
| 46 expect( |
| 47 '[Class(s(List) in s(dart.core), top-level),' |
| 48 ' Class(s(Set) in s(dart.core), top-level)]', |
| 49 cm2.typeArguments); |
| 50 expect( |
| 51 '[Class(s(List) in s(dart.core), top-level),' |
| 52 ' Class(s(Set) in s(dart.core), top-level)]', |
| 53 cm3.typeArguments); |
| 45 | 54 |
| 46 expect('[Class(s(String) in s(dart.core), top-level)]', | 55 expect('[Class(s(String) in s(dart.core), top-level)]', |
| 47 cm1.typeArguments[1].typeArguments); | 56 cm1.typeArguments[1].typeArguments); |
| 48 expect('[Class(s(String) in s(dart.core), top-level)]', | 57 expect('[Class(s(String) in s(dart.core), top-level)]', |
| 49 cm2.typeArguments[0].typeArguments); | 58 cm2.typeArguments[0].typeArguments); |
| 50 expect('[Class(s(String) in s(dart.core), top-level)]', | 59 expect('[Class(s(String) in s(dart.core), top-level)]', |
| 51 cm3.typeArguments[0].typeArguments); | 60 cm3.typeArguments[0].typeArguments); |
| 52 expect('[Class(s(String) in s(dart.core), top-level)]', | 61 expect('[Class(s(String) in s(dart.core), top-level)]', |
| 53 cm3.typeArguments[1].typeArguments); | 62 cm3.typeArguments[1].typeArguments); |
| 54 | 63 |
| 55 var cm4 = reflect(new Bar<Bar<List, Set>, String>()).type; | 64 var cm4 = reflect(new Bar<Bar<List, Set>, String>()).type; |
| 56 | 65 |
| 57 expect('[Class(s(Bar) in s(lib), top-level),' | 66 expect( |
| 58 ' Class(s(String) in s(dart.core), top-level)]', | 67 '[Class(s(Bar) in s(lib), top-level),' |
| 59 cm4.typeArguments); | 68 ' Class(s(String) in s(dart.core), top-level)]', |
| 60 expect('[Class(s(List) in s(dart.core), top-level), ' | 69 cm4.typeArguments); |
| 61 'Class(s(Set) in s(dart.core), top-level)]', | 70 expect( |
| 62 cm4.typeArguments[0].typeArguments); | 71 '[Class(s(List) in s(dart.core), top-level), ' |
| 72 'Class(s(Set) in s(dart.core), top-level)]', |
| 73 cm4.typeArguments[0].typeArguments); |
| 63 } | 74 } |
| OLD | NEW |