Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 library test.synthetic_accessor_properties; | |
| 6 | |
| 7 import 'dart:mirrors'; | |
| 8 import 'package:expect/expect.dart'; | |
| 9 | |
| 10 import 'stringify.dart'; | |
| 11 | |
| 12 class C { | |
| 13 String instanceField; | |
| 14 final num finalInstanceField = 2; | |
| 15 | |
| 16 static bool staticField; | |
| 17 static final int finalStaticField = 4; | |
| 18 } | |
| 19 | |
| 20 String topLevelField; | |
| 21 final double finalTopLevelField = 6.0; | |
| 22 | |
| 23 | |
| 24 main() { | |
| 25 ClassMirror cm = reflectClass(C); | |
| 26 LibraryMirror lm = cm.owner; | |
| 27 MethodMirror mm; | |
| 28 ParameterMirror pm; | |
| 29 | |
| 30 mm = cm.instanceMembers[#instanceField]; | |
| 31 expect('Method(s(instanceField) in s(C), synthetic, getter)', mm); | |
| 32 Expect.equals(reflectClass(String), mm.returnType); | |
| 33 Expect.listEquals([], mm.parameters); | |
| 34 | |
| 35 mm = cm.instanceMembers[const Symbol('instanceField=')]; | |
| 36 expect('Method(s(instanceField=) in s(C), synthetic, setter)', mm); | |
| 37 Expect.equals(reflectClass(String), mm.returnType); | |
| 38 pm = mm.parameters.single; | |
| 39 expect('Parameter(s(instanceField) in s(instanceField=), final,' | |
| 40 ' type = Class(s(String) in s(dart.core), top-level))', pm); | |
| 41 | |
| 42 mm = cm.instanceMembers[#finalInstanceField]; | |
| 43 expect('Method(s(finalInstanceField) in s(C), synthetic, getter)', mm); | |
| 44 Expect.equals(reflectClass(num), mm.returnType); | |
| 45 Expect.listEquals([], mm.parameters); | |
| 46 | |
| 47 mm = cm.instanceMembers[const Symbol('finalInstanceField=')]; | |
| 48 Expect.isNull(mm); | |
| 49 | |
| 50 | |
| 51 | |
| 52 mm = cm.staticMembers[#staticField]; | |
| 53 expect('Method(s(staticField) in s(C), synthetic, static, getter)', mm); | |
| 54 Expect.equals(reflectClass(bool), mm.returnType); | |
| 55 Expect.listEquals([], mm.parameters); | |
| 56 | |
| 57 mm = cm.staticMembers[const Symbol('staticField=')]; | |
| 58 expect('Method(s(staticField=) in s(C), synthetic, static, setter)', mm); | |
| 59 Expect.equals(reflectClass(bool), mm.returnType); | |
| 60 pm = mm.parameters.single; | |
| 61 expect('Parameter(s(staticField) in s(staticField=), final,' | |
| 62 ' type = Class(s(bool) in s(dart.core), top-level))', pm); | |
| 63 | |
| 64 mm = cm.staticMembers[#finalStaticField]; | |
| 65 expect('Method(s(finalStaticField) in s(C), synthetic, static, getter)', mm); | |
| 66 Expect.equals(reflectClass(int), mm.returnType); | |
| 67 Expect.listEquals([], mm.parameters); | |
| 68 | |
| 69 mm = cm.staticMembers[const Symbol('finalStaticField=')]; | |
| 70 Expect.isNull(mm); | |
| 71 | |
| 72 | |
| 73 | |
| 74 mm = lm.topLevelMembers[#topLevelField]; | |
| 75 expect('Method(s(topLevelField) in s(test.synthetic_accessor_properties),' | |
| 76 ' top-level, synthetic, static, getter)', mm); | |
| 77 Expect.equals(reflectClass(String), mm.returnType); | |
| 78 Expect.listEquals([], mm.parameters); | |
| 79 | |
| 80 mm = lm.topLevelMembers[const Symbol('topLevelField=')]; | |
| 81 expect('Method(s(topLevelField=) in s(test.synthetic_accessor_properties),' | |
| 82 ' top-level, synthetic, static, setter)', mm); | |
| 83 Expect.equals(reflectClass(String), mm.returnType); | |
| 84 pm = mm.parameters.single; | |
| 85 expect('Parameter(s(topLevelField) in s(topLevelField=), final,' | |
| 86 ' type = Class(s(String) in s(dart.core), top-level))', pm); | |
| 87 | |
| 88 mm = lm.topLevelMembers[#finalTopLevelField]; | |
| 89 expect('Method(s(finalTopLevelField) in s(test.synthetic_accessor_properties)' | |
| 90 ', top-level, synthetic, static, getter)', mm); | |
| 91 Expect.equals(reflectClass(double), mm.returnType); | |
| 92 Expect.listEquals([], mm.parameters); | |
| 93 | |
| 94 mm = lm.topLevelMembers[const Symbol('finalTopLevelField=')]; | |
| 95 Expect.isNull(mm); | |
| 96 | |
| 97 mm = lm.topLevelMembers[#C]; | |
| 98 expect('Method(s(C) in s(test.synthetic_accessor_properties),' | |
| 99 ' top-level, synthetic, static, getter)', mm); | |
| 100 Expect.equals(reflectClass(C), mm.returnType); | |
|
gbracha
2013/11/14 19:21:21
Should be Type
rmacnak
2013/11/14 22:19:02
Done.
| |
| 101 Expect.listEquals([], mm.parameters); | |
| 102 | |
| 103 mm = lm.topLevelMembers[const Symbol('C=')]; | |
| 104 Expect.isNull(mm); | |
| 105 } | |
| OLD | NEW |