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

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

Issue 1799283002: Delete support for source mirrors (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: new attempt Created 4 years, 6 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 // 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 "package:compiler/src/diagnostics/spannable.dart";
16 import "package:compiler/src/mirrors/dart2js_mirrors.dart";
17 import "package:compiler/src/mirrors/source_mirrors.dart";
18
19 class SourceMirrorsReader extends MirrorsReader {
20 final Dart2JsMirrorSystem mirrorSystem;
21
22 SourceMirrorsReader(this.mirrorSystem,
23 {bool verbose: false, bool includeStackTrace: false})
24 : super(verbose: verbose, includeStackTrace: includeStackTrace);
25
26 evaluate(f()) {
27 try {
28 return f();
29 } on SpannableAssertionFailure catch (e) {
30 var reporter = mirrorSystem.compiler.reporter;
31 reporter.reportAssertionFailure(e);
32 rethrow;
33 }
34 }
35
36 visitMirror(Mirror mirror) {
37 if (mirror is CombinatorMirror) {
38 visitCombinatorMirror(mirror);
39 } else if (mirror is LibraryDependencyMirror) {
40 visitLibraryDependencyMirror(mirror);
41 } else if (mirror is CommentInstanceMirror) {
42 visitCommentInstanceMirror(mirror);
43 } else if (mirror is ListInstanceMirror) {
44 visitListInstanceMirror(mirror);
45 } else if (mirror is MapInstanceMirror) {
46 visitMapInstanceMirror(mirror);
47 } else if (mirror is TypeInstanceMirror) {
48 visitTypeInstanceMirror(mirror);
49 } else {
50 super.visitMirror(mirror);
51 }
52 }
53
54 visitDeclarationMirror(DeclarationSourceMirror mirror) {
55 super.visitDeclarationMirror(mirror);
56 visit(mirror, 'isNameSynthetic', () => mirror.isNameSynthetic);
57 }
58
59 visitClassMirror(ClassSourceMirror mirror) {
60 super.visitClassMirror(mirror);
61 visit(mirror, 'isAbstract', () => mirror.isAbstract);
62 }
63
64 visitLibraryMirror(LibrarySourceMirror mirror) {
65 super.visitLibraryMirror(mirror);
66 visit(mirror, 'libraryDependencies', () => mirror.libraryDependencies);
67 }
68
69 visitParameterMirror(ParameterMirror mirror) {
70 super.visitParameterMirror(mirror);
71 if (mirror is ParameterSourceMirror) {
72 visit(mirror, 'isInitializingFormal', () => mirror.isInitializingFormal);
73 visit(mirror, 'initializedField', () => mirror.initializedField);
74 }
75 }
76
77 visitTypeMirror(TypeSourceMirror mirror) {
78 super.visitTypeMirror(mirror);
79 visit(mirror, 'isVoid', () => mirror.isVoid);
80 visit(mirror, 'isDynamic', () => mirror.isDynamic);
81 }
82
83 visitSourceLocation(SourceLocation location) {
84 super.visitSourceLocation(location);
85 visit(location, 'line', () => location.line);
86 visit(location, 'column', () => location.column);
87 visit(location, 'offset', () => location.offset);
88 visit(location, 'length', () => location.length);
89 visit(location, 'text', () => location.text);
90 visit(location, 'sourceUri', () => location.sourceUri);
91 visit(location, 'sourceText', () => location.sourceText);
92 }
93
94 visitCombinatorMirror(CombinatorMirror mirror) {
95 visit(mirror, 'identifiers', () => mirror.identifiers);
96 visit(mirror, 'isShow', () => mirror.isShow);
97 visit(mirror, 'isHide', () => mirror.isHide);
98 }
99
100 visitLibraryDependencyMirror(LibraryDependencyMirror mirror) {
101 visit(mirror, 'isImport', () => mirror.isImport);
102 visit(mirror, 'isExport', () => mirror.isExport);
103 visit(mirror, 'sourceLibrary', () => mirror.sourceLibrary);
104 visit(mirror, 'targetLibrary', () => mirror.targetLibrary);
105 visit(mirror, 'prefix', () => mirror.prefix);
106 visit(mirror, 'combinators', () => mirror.combinators);
107 visit(mirror, 'location', () => mirror.location);
108 }
109
110 visitCommentInstanceMirror(CommentInstanceMirror mirror) {
111 visitInstanceMirror(mirror);
112 visit(mirror, 'text', () => mirror.text);
113 visit(mirror, 'trimmedText', () => mirror.trimmedText);
114 visit(mirror, 'isDocComment', () => mirror.isDocComment);
115 }
116
117 visitListInstanceMirror(ListInstanceMirror mirror) {
118 visitInstanceMirror(mirror);
119 visit(mirror, 'length', () => mirror.length);
120 }
121
122 visitMapInstanceMirror(MapInstanceMirror mirror) {
123 visitInstanceMirror(mirror);
124 visit(mirror, 'keys', () => mirror.keys);
125 visit(mirror, 'length', () => mirror.length);
126 }
127
128 visitTypeInstanceMirror(TypeInstanceMirror mirror) {
129 visitInstanceMirror(mirror);
130 visit(mirror, 'representedType', () => mirror.representedType);
131 }
132 }
133
134 main(List<String> arguments) {
135 asyncTest(() => analyzeUri(Uri.parse('dart:core')).
136 then((MirrorSystem mirrors) {
137 MirrorsReader reader = new SourceMirrorsReader(mirrors,
138 verbose: arguments.contains('-v'),
139 includeStackTrace: arguments.contains('-s'));
140 reader.checkMirrorSystem(mirrors);
141 }));
142 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698