Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: test/codegen/lib/mirrors/instance_members_easier_test.dart

Issue 2265533002: Add mirrors tests (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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.instance_members;
6
7 import 'dart:mirrors';
8 import 'package:expect/expect.dart';
9
10 import 'declarations_model_easier.dart' as declarations_model;
11
12 selectKeys(map, predicate) {
13 return map.keys.where((key) => predicate(map[key]));
14 }
15
16 class EasierSuperclass {
17 shuper() {}
18 static staticShuper() {}
19 }
20 class EasierMixin {
21 mixin() {}
22 static staticMixin() {}
23 }
24 class EasierMixinApplication extends EasierSuperclass with EasierMixin {
25 application() {}
26 static staticApplication() {}
27 }
28 class Derived extends EasierMixinApplication {
29 derived() {}
30 static staticDerived() {}
31 }
32
33 main() {
34 ClassMirror cm = reflectClass(declarations_model.Class);
35
36 Expect.setEquals(
37 [#+,
38 #instanceVariable,
39 const Symbol('instanceVariable='),
40 #instanceGetter,
41 const Symbol('instanceSetter='),
42 #instanceMethod,
43 #-,
44 #inheritedInstanceVariable,
45 const Symbol('inheritedInstanceVariable='),
46 #inheritedInstanceGetter,
47 const Symbol('inheritedInstanceSetter='),
48 #inheritedInstanceMethod,
49 #hashCode,
50 #runtimeType,
51 #==,
52 #noSuchMethod,
53 #toString],
54 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate));
55 // Filter out private to avoid implementation-specific members of Object.
56
57 Expect.setEquals(
58 [#instanceVariable,
59 const Symbol('instanceVariable='),
60 #inheritedInstanceVariable,
61 const Symbol('inheritedInstanceVariable=')],
62 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate && dm.isSynthetic));
63
64 cm = reflectClass(Derived);
65 Expect.setEquals(
66 [#derived,
67 #shuper,
68 #mixin,
69 #application,
70 #hashCode,
71 #runtimeType,
72 #==,
73 #noSuchMethod,
74 #toString],
75 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate));
76
77 cm = reflectClass(EasierMixinApplication);
78 Expect.setEquals(
79 [#shuper,
80 #mixin,
81 #application,
82 #hashCode,
83 #runtimeType,
84 #==,
85 #noSuchMethod,
86 #toString],
87 selectKeys(cm.instanceMembers, (dm) => !dm.isPrivate));
88 }
OLDNEW
« no previous file with comments | « test/codegen/lib/mirrors/initializing_formals_test.dart ('k') | test/codegen/lib/mirrors/instance_members_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698