| 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
|
| index 908c20caa75f4a5658e416f32af0e2624bfa5962..bd41ab2f63f5b33ae9cbe2f94c220618026c5adf 100644
|
| --- a/tests/compiler/dart2js/mirrors/mirrors_reader_test.dart
|
| +++ b/tests/compiler/dart2js/mirrors/mirrors_reader_test.dart
|
| @@ -1,141 +1,141 @@
|
| -// 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 "package:compiler/src/util/util.dart";
|
| -import "package:compiler/src/mirrors/dart2js_mirrors.dart";
|
| -import "package:compiler/src/mirrors/source_mirrors.dart";
|
| -
|
| -class SourceMirrorsReader extends MirrorsReader {
|
| - final Dart2JsMirrorSystem mirrorSystem;
|
| -
|
| - SourceMirrorsReader(this.mirrorSystem,
|
| - {bool verbose: false, bool includeStackTrace: false})
|
| - : super(verbose: verbose, includeStackTrace: includeStackTrace);
|
| -
|
| - evaluate(f()) {
|
| - try {
|
| - return f();
|
| - } on SpannableAssertionFailure catch (e) {
|
| - mirrorSystem.compiler.reportAssertionFailure(e);
|
| - rethrow;
|
| - }
|
| - }
|
| -
|
| - 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(List<String> arguments) {
|
| - asyncTest(() => analyzeUri(Uri.parse('dart:core')).
|
| - then((MirrorSystem mirrors) {
|
| - MirrorsReader reader = new SourceMirrorsReader(mirrors,
|
| - verbose: arguments.contains('-v'),
|
| - includeStackTrace: arguments.contains('-s'));
|
| - reader.checkMirrorSystem(mirrors);
|
| - }));
|
| -}
|
| +// 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 "package:compiler/src/util/util.dart";
|
| +import "package:compiler/src/mirrors/dart2js_mirrors.dart";
|
| +import "package:compiler/src/mirrors/source_mirrors.dart";
|
| +
|
| +class SourceMirrorsReader extends MirrorsReader {
|
| + final Dart2JsMirrorSystem mirrorSystem;
|
| +
|
| + SourceMirrorsReader(this.mirrorSystem,
|
| + {bool verbose: false, bool includeStackTrace: false})
|
| + : super(verbose: verbose, includeStackTrace: includeStackTrace);
|
| +
|
| + evaluate(f()) {
|
| + try {
|
| + return f();
|
| + } on SpannableAssertionFailure catch (e) {
|
| + mirrorSystem.compiler.reportAssertionFailure(e);
|
| + rethrow;
|
| + }
|
| + }
|
| +
|
| + 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(List<String> arguments) {
|
| + asyncTest(() => analyzeUri(Uri.parse('dart:core')).
|
| + then((MirrorSystem mirrors) {
|
| + MirrorsReader reader = new SourceMirrorsReader(mirrors,
|
| + verbose: arguments.contains('-v'),
|
| + includeStackTrace: arguments.contains('-s'));
|
| + reader.checkMirrorSystem(mirrors);
|
| + }));
|
| +}
|
|
|