Index: runtime/vm/debugger_api_impl.cc |
=================================================================== |
--- runtime/vm/debugger_api_impl.cc (revision 26897) |
+++ runtime/vm/debugger_api_impl.cc (working copy) |
@@ -514,6 +514,8 @@ |
return Api::NewHandle(isolate, Instance::Cast(target).Evaluate(expr)); |
} else if (target.IsClass()) { |
return Api::NewHandle(isolate, Class::Cast(target).Evaluate(expr)); |
+ } else if (target.IsLibrary()) { |
+ return Api::NewHandle(isolate, Library::Cast(target).Evaluate(expr)); |
} |
return Api::NewError("%s: unsupported target type", CURRENT_FUNC); |
} |
@@ -782,6 +784,19 @@ |
} |
+DART_EXPORT Dart_Handle Dart_GetLibraryFromId(intptr_t library_id) { |
+ Isolate* isolate = Isolate::Current(); |
+ ASSERT(isolate != NULL); |
+ DARTSCOPE(isolate); |
+ const Library& lib = Library::Handle(Library::GetLibrary(library_id)); |
+ if (lib.IsNull()) { |
+ return Api::NewError("%s: %" Pd " is not a valid library id", |
+ CURRENT_FUNC, library_id); |
+ } |
+ return Api::NewHandle(isolate, lib.raw()); |
+} |
+ |
+ |
DART_EXPORT Dart_Handle Dart_GetLibraryImports(intptr_t library_id) { |
Isolate* isolate = Isolate::Current(); |
ASSERT(isolate != NULL); |