Index: runtime/vm/bootstrap.cc |
=================================================================== |
--- runtime/vm/bootstrap.cc (revision 5107) |
+++ runtime/vm/bootstrap.cc (working copy) |
@@ -48,6 +48,34 @@ |
} |
+RawScript* Bootstrap::LoadMirrorsScript() { |
+ const String& url = String::Handle(String::New("dart:mirrors", Heap::kOld)); |
+ const String& src = String::Handle(String::New(mirrors_source_, Heap::kOld)); |
+ |
+ const Script& result = |
+ Script::Handle(Script::New(url, src, RawScript::kSource)); |
+ return result.raw(); |
+} |
+ |
+ |
+static RawObject* InitLibrary(const char* url_str, |
+ const char* source_str) { |
+ const String& url = String::Handle(String::NewSymbol(url_str)); |
+ const String& source = String::Handle(String::New(source_str, |
+ Heap::kOld)); |
+ const Library& lib = Library::Handle(Library::New(url)); |
+ lib.Register(); |
+ const Script& script = |
+ Script::Handle(Script::New(url, source, RawScript::kSource)); |
+ const Error& error = Error::Handle(Bootstrap::Compile(lib, script)); |
+ if (!error.IsNull()) { |
+ return error.raw(); |
+ } else { |
+ return lib.raw(); |
+ } |
+} |
siva
2012/03/08 22:24:02
InitLibrary is a static function in this file and
turnidge
2012/03/08 22:50:51
Done.
|
+ |
+ |
RawError* Bootstrap::Compile(const Library& library, const Script& script) { |
if (FLAG_print_bootstrap) { |
OS::Print("Bootstrap source '%s':\n%s\n", |