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

Unified Diff: runtime/lib/mirrors_impl.dart

Issue 20851002: Create the local MirrorSystem with internal code. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 5 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
« no previous file with comments | « runtime/lib/mirrors.cc ('k') | runtime/vm/symbols.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/lib/mirrors_impl.dart
===================================================================
--- runtime/lib/mirrors_impl.dart (revision 25540)
+++ runtime/lib/mirrors_impl.dart (working copy)
@@ -68,12 +68,10 @@
return buf.toString();
}
-Map<Uri, LibraryMirror> _createLibrariesMap(Map<String, LibraryMirror> map) {
- var result = new Map<Uri, LibraryMirror>();
- map.forEach((String url, LibraryMirror mirror) {
- result[Uri.parse(url)] = mirror;
- });
- return result;
+Map<Uri, LibraryMirror> _createLibrariesMap(List<LibraryMirror> list) {
+ var map = new Map<Uri, LibraryMirror>();
+ list.forEach((LibraryMirror mirror) => map[mirror.uri] = mirror);
+ return map;
}
List _metadata(reflectee)
@@ -98,7 +96,7 @@
class _LocalMirrorSystemImpl extends MirrorSystem {
// Change parameter back to "this.libraries" when native code is changed.
- _LocalMirrorSystemImpl(Map<String, LibraryMirror> libraries, this.isolate)
+ _LocalMirrorSystemImpl(List<LibraryMirror> libraries, this.isolate)
: this.libraries = _createLibrariesMap(libraries),
_functionTypes = new Map<String, FunctionTypeMirror>();
@@ -154,19 +152,12 @@
class _LocalIsolateMirrorImpl extends _LocalMirrorImpl
implements IsolateMirror {
- _LocalIsolateMirrorImpl(this.debugName, this._rootLibrary) {}
+ _LocalIsolateMirrorImpl(this.debugName, this.rootLibrary) {}
final String debugName;
final bool isCurrent = true;
+ final LibraryMirror rootLibrary;
- var _rootLibrary;
- LibraryMirror get rootLibrary {
- if (_rootLibrary is _LazyLibraryMirror) {
- _rootLibrary = _rootLibrary.resolve(mirrors);
- }
- return _rootLibrary;
- }
-
String toString() => "IsolateMirror on '$debugName'";
}
« no previous file with comments | « runtime/lib/mirrors.cc ('k') | runtime/vm/symbols.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698