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

Side by Side Diff: tests/compiler/dart2js/mirrors/mirrors_reader_test.dart

Issue 153553007: Add mirrors_reader_test. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
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 // Test that everything reachable from a [MirrorSystem] can be accessed.
6
7 library test.mirrors.reader;
8
9 import "dart:mirrors" hide SourceLocation;
10
11 import "package:async_helper/async_helper.dart";
12
13 import "mirrors_test_helper.dart";
14 import "../../../lib/mirrors/mirrors_reader.dart";
15 import "../../../../sdk/lib/_internal/compiler/implementation/mirrors/source_mir rors.dart";
16
17 class SourceMirrorsReader extends MirrorsReader {
18 visitMirror(Mirror mirror) {
19 if (mirror is CombinatorMirror) {
20 visitCombinatorMirror(mirror);
21 } else if (mirror is LibraryDependencyMirror) {
22 visitLibraryDependencyMirror(mirror);
23 } else if (mirror is CommentInstanceMirror) {
24 visitCommentInstanceMirror(mirror);
25 } else if (mirror is ListInstanceMirror) {
26 visitListInstanceMirror(mirror);
27 } else if (mirror is MapInstanceMirror) {
28 visitMapInstanceMirror(mirror);
29 } else if (mirror is TypeInstanceMirror) {
30 visitTypeInstanceMirror(mirror);
31 } else {
32 super.visitMirror(mirror);
33 }
34 }
35
36 visitDeclarationMirror(DeclarationSourceMirror mirror) {
37 super.visitDeclarationMirror(mirror);
38 visit(mirror, 'isNameSynthetic', () => mirror.isNameSynthetic);
39 }
40
41 visitClassMirror(ClassSourceMirror mirror) {
42 super.visitClassMirror(mirror);
43 visit(mirror, 'isAbstract', () => mirror.isAbstract);
44 }
45
46 visitLibraryMirror(LibrarySourceMirror mirror) {
47 super.visitLibraryMirror(mirror);
48 visit(mirror, 'libraryDependencies', () => mirror.libraryDependencies);
49 }
50
51 visitParameterMirror(ParameterMirror mirror) {
52 super.visitParameterMirror(mirror);
53 if (mirror is ParameterSourceMirror) {
54 visit(mirror, 'isInitializingFormal', () => mirror.isInitializingFormal);
55 visit(mirror, 'initializedField', () => mirror.initializedField);
56 }
57 }
58
59 visitTypeMirror(TypeSourceMirror mirror) {
60 super.visitTypeMirror(mirror);
61 visit(mirror, 'isVoid', () => mirror.isVoid);
62 visit(mirror, 'isDynamic', () => mirror.isDynamic);
63 }
64
65 visitSourceLocation(SourceLocation location) {
66 super.visitSourceLocation(location);
67 visit(location, 'line', () => location.line);
68 visit(location, 'column', () => location.column);
69 visit(location, 'offset', () => location.offset);
70 visit(location, 'length', () => location.length);
71 visit(location, 'text', () => location.text);
72 visit(location, 'sourceUri', () => location.sourceUri);
73 visit(location, 'sourceText', () => location.sourceText);
74 }
75
76 visitCombinatorMirror(CombinatorMirror mirror) {
77 visit(mirror, 'identifiers', () => mirror.identifiers);
78 visit(mirror, 'isShow', () => mirror.isShow);
79 visit(mirror, 'isHide', () => mirror.isHide);
80 }
81
82 visitLibraryDependencyMirror(LibraryDependencyMirror mirror) {
83 visit(mirror, 'isImport', () => mirror.isImport);
84 visit(mirror, 'isExport', () => mirror.isExport);
85 visit(mirror, 'sourceLibrary', () => mirror.sourceLibrary);
86 visit(mirror, 'targetLibrary', () => mirror.targetLibrary);
87 visit(mirror, 'prefix', () => mirror.prefix);
88 visit(mirror, 'combinators', () => mirror.combinators);
89 visit(mirror, 'location', () => mirror.location);
90 }
91
92 visitCommentInstanceMirror(CommentInstanceMirror mirror) {
93 visitInstanceMirror(mirror);
94 visit(mirror, 'text', () => mirror.text);
95 visit(mirror, 'trimmedText', () => mirror.trimmedText);
96 visit(mirror, 'isDocComment', () => mirror.isDocComment);
97 }
98
99 visitListInstanceMirror(ListInstanceMirror mirror) {
100 visitInstanceMirror(mirror);
101 visit(mirror, 'length', () => mirror.length);
102 }
103
104 visitMapInstanceMirror(MapInstanceMirror mirror) {
105 visitInstanceMirror(mirror);
106 visit(mirror, 'keys', () => mirror.keys);
107 visit(mirror, 'length', () => mirror.length);
108 }
109
110 visitTypeInstanceMirror(TypeInstanceMirror mirror) {
111 visitInstanceMirror(mirror);
112 visit(mirror, 'representedType', () => mirror.representedType);
113 }
114 }
115
116 main() {
117 asyncTest(() => analyzeUri(Uri.parse('dart:core')).
118 then((MirrorSystem mirrors) {
119 MirrorsReader reader = new SourceMirrorsReader();
120 readMirrorSystem(reader, mirrors);
121 }));
122 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698