Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index b5d5a4c32292a43c8df25b8470c24c1c3e1cc4c2..256c41d600c0e36c225ac7578e8ce256f6efbe1d 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -955,6 +955,15 @@ RawError* Object::Init(Isolate* isolate) { |
if (!error.IsNull()) { |
return error.raw(); |
} |
+ const Script& collection_dev_script = |
+ Script::Handle(Bootstrap::LoadCollectionDevScript(false)); |
+ const Library& collection_dev_lib = |
+ Library::Handle(Library::CollectionDevLibrary()); |
+ ASSERT(!collection_dev_lib.IsNull()); |
+ error = Bootstrap::Compile(collection_dev_lib, collection_dev_script); |
+ if (!error.IsNull()) { |
+ return error.raw(); |
+ } |
const Script& math_script = Script::Handle(Bootstrap::LoadMathScript(false)); |
const Library& math_lib = Library::Handle(Library::MathLibrary()); |
ASSERT(!math_lib.IsNull()); |
@@ -6149,8 +6158,14 @@ void Library::InitCoreLibrary(Isolate* isolate) { |
Library::Handle(Library::CollectionLibrary()); |
const Namespace& collection_ns = Namespace::Handle( |
Namespace::New(collection_lib, Array::Handle(), Array::Handle())); |
+ Library::InitCollectionDevLibrary(isolate); |
+ const Library& collection_dev_lib = |
+ Library::Handle(Library::CollectionDevLibrary()); |
+ const Namespace& collection_dev_ns = Namespace::Handle( |
+ Namespace::New(collection_dev_lib, Array::Handle(), Array::Handle())); |
core_lib.AddImport(math_ns); |
core_lib.AddImport(collection_ns); |
+ core_lib.AddImport(collection_dev_ns); |
isolate->object_store()->set_root_library(Library::Handle()); |
// Hook up predefined classes without setting their library pointers. These |
@@ -6173,6 +6188,14 @@ void Library::InitCollectionLibrary(Isolate* isolate) { |
} |
+void Library::InitCollectionDevLibrary(Isolate* isolate) { |
+ const String& url = String::Handle(Symbols::New("dart:collection-dev")); |
+ const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); |
+ lib.Register(); |
+ isolate->object_store()->set_collection_dev_library(lib); |
+} |
+ |
+ |
void Library::InitMathLibrary(Isolate* isolate) { |
const String& url = String::Handle(Symbols::New("dart:math")); |
const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); |
@@ -6361,6 +6384,11 @@ RawLibrary* Library::CollectionLibrary() { |
} |
+RawLibrary* Library::CollectionDevLibrary() { |
+ return Isolate::Current()->object_store()->collection_dev_library(); |
+} |
+ |
+ |
RawLibrary* Library::MathLibrary() { |
return Isolate::Current()->object_store()->math_library(); |
} |