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 mm = cm.staticMembers[#staticField]; |
| 52 expect('Method(s(staticField) in s(C), synthetic, static, getter)', mm); |
| 53 Expect.equals(reflectClass(bool), mm.returnType); |
| 54 Expect.listEquals([], mm.parameters); |
| 55 |
| 56 mm = cm.staticMembers[const Symbol('staticField=')]; |
| 57 expect('Method(s(staticField=) in s(C), synthetic, static, setter)', mm); |
| 58 Expect.equals(reflectClass(bool), mm.returnType); |
| 59 pm = mm.parameters.single; |
| 60 expect('Parameter(s(staticField) in s(staticField=), final,' |
| 61 ' type = Class(s(bool) in s(dart.core), top-level))', pm); |
| 62 |
| 63 mm = cm.staticMembers[#finalStaticField]; |
| 64 expect('Method(s(finalStaticField) in s(C), synthetic, static, getter)', mm); |
| 65 Expect.equals(reflectClass(int), mm.returnType); |
| 66 Expect.listEquals([], mm.parameters); |
| 67 |
| 68 mm = cm.staticMembers[const Symbol('finalStaticField=')]; |
| 69 Expect.isNull(mm); |
| 70 } |
OLD | NEW |