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

Unified Diff: tests/compiler/dart2js/mirrors/mirrors_reader_test.dart

Issue 150693005: Fix ParameterMirror.hasDefaultValue/defaultValue in source mirrors. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix handling of external parameters 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 side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/mirrors/mirrors_reader_test.dart
diff --git a/tests/compiler/dart2js/mirrors/mirrors_reader_test.dart b/tests/compiler/dart2js/mirrors/mirrors_reader_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..4645ec28e08f7f9f2fea4cd909cb58fcde0294f2
--- /dev/null
+++ b/tests/compiler/dart2js/mirrors/mirrors_reader_test.dart
@@ -0,0 +1,122 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Test that everything reachable from a [MirrorSystem] can be accessed.
+
+library test.mirrors.reader;
+
+import "dart:mirrors" hide SourceLocation;
+
+import "package:async_helper/async_helper.dart";
+
+import "mirrors_test_helper.dart";
+import "../../../lib/mirrors/mirrors_reader.dart";
+import "../../../../sdk/lib/_internal/compiler/implementation/mirrors/source_mirrors.dart";
+
+class SourceMirrorsReader extends MirrorsReader {
+ visitMirror(Mirror mirror) {
+ if (mirror is CombinatorMirror) {
+ visitCombinatorMirror(mirror);
+ } else if (mirror is LibraryDependencyMirror) {
+ visitLibraryDependencyMirror(mirror);
+ } else if (mirror is CommentInstanceMirror) {
+ visitCommentInstanceMirror(mirror);
+ } else if (mirror is ListInstanceMirror) {
+ visitListInstanceMirror(mirror);
+ } else if (mirror is MapInstanceMirror) {
+ visitMapInstanceMirror(mirror);
+ } else if (mirror is TypeInstanceMirror) {
+ visitTypeInstanceMirror(mirror);
+ } else {
+ super.visitMirror(mirror);
+ }
+ }
+
+ visitDeclarationMirror(DeclarationSourceMirror mirror) {
+ super.visitDeclarationMirror(mirror);
+ visit(mirror, 'isNameSynthetic', () => mirror.isNameSynthetic);
+ }
+
+ visitClassMirror(ClassSourceMirror mirror) {
+ super.visitClassMirror(mirror);
+ visit(mirror, 'isAbstract', () => mirror.isAbstract);
+ }
+
+ visitLibraryMirror(LibrarySourceMirror mirror) {
+ super.visitLibraryMirror(mirror);
+ visit(mirror, 'libraryDependencies', () => mirror.libraryDependencies);
+ }
+
+ visitParameterMirror(ParameterMirror mirror) {
+ super.visitParameterMirror(mirror);
+ if (mirror is ParameterSourceMirror) {
+ visit(mirror, 'isInitializingFormal', () => mirror.isInitializingFormal);
+ visit(mirror, 'initializedField', () => mirror.initializedField);
+ }
+ }
+
+ visitTypeMirror(TypeSourceMirror mirror) {
+ super.visitTypeMirror(mirror);
+ visit(mirror, 'isVoid', () => mirror.isVoid);
+ visit(mirror, 'isDynamic', () => mirror.isDynamic);
+ }
+
+ visitSourceLocation(SourceLocation location) {
+ super.visitSourceLocation(location);
+ visit(location, 'line', () => location.line);
+ visit(location, 'column', () => location.column);
+ visit(location, 'offset', () => location.offset);
+ visit(location, 'length', () => location.length);
+ visit(location, 'text', () => location.text);
+ visit(location, 'sourceUri', () => location.sourceUri);
+ visit(location, 'sourceText', () => location.sourceText);
+ }
+
+ visitCombinatorMirror(CombinatorMirror mirror) {
+ visit(mirror, 'identifiers', () => mirror.identifiers);
+ visit(mirror, 'isShow', () => mirror.isShow);
+ visit(mirror, 'isHide', () => mirror.isHide);
+ }
+
+ visitLibraryDependencyMirror(LibraryDependencyMirror mirror) {
+ visit(mirror, 'isImport', () => mirror.isImport);
+ visit(mirror, 'isExport', () => mirror.isExport);
+ visit(mirror, 'sourceLibrary', () => mirror.sourceLibrary);
+ visit(mirror, 'targetLibrary', () => mirror.targetLibrary);
+ visit(mirror, 'prefix', () => mirror.prefix);
+ visit(mirror, 'combinators', () => mirror.combinators);
+ visit(mirror, 'location', () => mirror.location);
+ }
+
+ visitCommentInstanceMirror(CommentInstanceMirror mirror) {
+ visitInstanceMirror(mirror);
+ visit(mirror, 'text', () => mirror.text);
+ visit(mirror, 'trimmedText', () => mirror.trimmedText);
+ visit(mirror, 'isDocComment', () => mirror.isDocComment);
+ }
+
+ visitListInstanceMirror(ListInstanceMirror mirror) {
+ visitInstanceMirror(mirror);
+ visit(mirror, 'length', () => mirror.length);
+ }
+
+ visitMapInstanceMirror(MapInstanceMirror mirror) {
+ visitInstanceMirror(mirror);
+ visit(mirror, 'keys', () => mirror.keys);
+ visit(mirror, 'length', () => mirror.length);
+ }
+
+ visitTypeInstanceMirror(TypeInstanceMirror mirror) {
+ visitInstanceMirror(mirror);
+ visit(mirror, 'representedType', () => mirror.representedType);
+ }
+}
+
+main() {
+ asyncTest(() => analyzeUri(Uri.parse('dart:core')).
+ then((MirrorSystem mirrors) {
+ MirrorsReader reader = new SourceMirrorsReader();
+ readMirrorSystem(reader, mirrors);
+ }));
+}
« no previous file with comments | « tests/compiler/dart2js/mirrors/default_value_test.dart ('k') | tests/compiler/dart2js/mirrors/mirrors_test_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698