| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Test that everything reachable from a [MirrorSystem] can be accessed. | 5 // Test that everything reachable from a [MirrorSystem] can be accessed. |
| 6 | 6 |
| 7 library test.mirrors.reader; | 7 library test.mirrors.reader; |
| 8 | 8 |
| 9 import "dart:mirrors" hide SourceLocation; | 9 import "dart:mirrors" hide SourceLocation; |
| 10 | 10 |
| 11 import "package:async_helper/async_helper.dart"; | 11 import "package:async_helper/async_helper.dart"; |
| 12 | 12 |
| 13 import "mirrors_test_helper.dart"; | 13 import "mirrors_test_helper.dart"; |
| 14 import "../../../lib/mirrors/mirrors_reader.dart"; | 14 import "../../../lib/mirrors/mirrors_reader.dart"; |
| 15 import "package:compiler/src/diagnostics/spannable.dart"; | 15 import "package:compiler/src/diagnostics/spannable.dart"; |
| 16 import "package:compiler/src/mirrors/dart2js_mirrors.dart"; | 16 import "package:compiler/src/mirrors/dart2js_mirrors.dart"; |
| 17 import "package:compiler/src/mirrors/source_mirrors.dart"; | 17 import "package:compiler/src/mirrors/source_mirrors.dart"; |
| 18 | 18 |
| 19 class SourceMirrorsReader extends MirrorsReader { | 19 class SourceMirrorsReader extends MirrorsReader { |
| 20 final Dart2JsMirrorSystem mirrorSystem; | 20 final Dart2JsMirrorSystem mirrorSystem; |
| 21 | 21 |
| 22 SourceMirrorsReader(this.mirrorSystem, | 22 SourceMirrorsReader(this.mirrorSystem, |
| 23 {bool verbose: false, bool includeStackTrace: false}) | 23 {bool verbose: false, bool includeStackTrace: false}) |
| 24 : super(verbose: verbose, includeStackTrace: includeStackTrace); | 24 : super(verbose: verbose, includeStackTrace: includeStackTrace); |
| 25 | 25 |
| 26 evaluate(f()) { | 26 evaluate(f()) { |
| 27 try { | 27 try { |
| 28 return f(); | 28 return f(); |
| 29 } on SpannableAssertionFailure catch (e) { | 29 } on SpannableAssertionFailure catch (e) { |
| 30 mirrorSystem.compiler.reportAssertionFailure(e); | 30 var reporter = mirrorSystem.compiler.reporter; |
| 31 reporter.reportAssertionFailure(e); |
| 31 rethrow; | 32 rethrow; |
| 32 } | 33 } |
| 33 } | 34 } |
| 34 | 35 |
| 35 visitMirror(Mirror mirror) { | 36 visitMirror(Mirror mirror) { |
| 36 if (mirror is CombinatorMirror) { | 37 if (mirror is CombinatorMirror) { |
| 37 visitCombinatorMirror(mirror); | 38 visitCombinatorMirror(mirror); |
| 38 } else if (mirror is LibraryDependencyMirror) { | 39 } else if (mirror is LibraryDependencyMirror) { |
| 39 visitLibraryDependencyMirror(mirror); | 40 visitLibraryDependencyMirror(mirror); |
| 40 } else if (mirror is CommentInstanceMirror) { | 41 } else if (mirror is CommentInstanceMirror) { |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 | 133 |
| 133 main(List<String> arguments) { | 134 main(List<String> arguments) { |
| 134 asyncTest(() => analyzeUri(Uri.parse('dart:core')). | 135 asyncTest(() => analyzeUri(Uri.parse('dart:core')). |
| 135 then((MirrorSystem mirrors) { | 136 then((MirrorSystem mirrors) { |
| 136 MirrorsReader reader = new SourceMirrorsReader(mirrors, | 137 MirrorsReader reader = new SourceMirrorsReader(mirrors, |
| 137 verbose: arguments.contains('-v'), | 138 verbose: arguments.contains('-v'), |
| 138 includeStackTrace: arguments.contains('-s')); | 139 includeStackTrace: arguments.contains('-s')); |
| 139 reader.checkMirrorSystem(mirrors); | 140 reader.checkMirrorSystem(mirrors); |
| 140 })); | 141 })); |
| 141 } | 142 } |
| OLD | NEW |