Initialize runtime constituents on runtime construction.

Change-Id: I63fff272b64bd29a7f828dac48aed91833af1eee
diff --git a/src/class_linker_test.cc b/src/class_linker_test.cc
index 5cd8a6f..f44192a 100644
--- a/src/class_linker_test.cc
+++ b/src/class_linker_test.cc
@@ -12,14 +12,13 @@
   scoped_ptr<DexFile> dex(DexFile::OpenBase64(kMyClassDex));
   ASSERT_TRUE(dex != NULL);
 
-  ClassLinker linker;
-  linker.Init();
-  linker.AppendToClassPath(dex.get());
+  scoped_ptr<ClassLinker> linker(ClassLinker::Create());
+  linker->AppendToClassPath(dex.get());
 
   scoped_ptr<Class> klass(Heap::AllocClass(dex.get()));
-  bool result1 = linker.LoadClass("NoSuchClass", klass.get());
+  bool result1 = linker->LoadClass("NoSuchClass", klass.get());
   EXPECT_FALSE(result1);
-  bool result2 = linker.LoadClass("LNoSuchClass;", klass.get());
+  bool result2 = linker->LoadClass("LNoSuchClass;", klass.get());
   EXPECT_FALSE(result2);
 }
 
@@ -27,12 +26,11 @@
   scoped_ptr<DexFile> dex(DexFile::OpenBase64(kNestedDex));
   ASSERT_TRUE(dex != NULL);
 
-  ClassLinker linker;
-  linker.Init();
-  linker.AppendToClassPath(dex.get());
+  scoped_ptr<ClassLinker> linker(ClassLinker::Create());
+  linker->AppendToClassPath(dex.get());
 
   scoped_ptr<Class> klass(Heap::AllocClass(dex.get()));
-  bool result = linker.LoadClass("LNested;", klass.get());
+  bool result = linker->LoadClass("LNested;", klass.get());
   ASSERT_TRUE(result);
 
   uint32_t vmeth = klass->NumVirtualMethods();
@@ -46,11 +44,10 @@
   scoped_ptr<DexFile> dex(DexFile::OpenBase64(kMyClassDex));
   ASSERT_TRUE(dex != NULL);
 
-  ClassLinker linker;
-  linker.Init();
-  linker.AppendToClassPath(dex.get());
+  scoped_ptr<ClassLinker> linker(ClassLinker::Create());
+  linker->AppendToClassPath(dex.get());
 
-  Class* JavaLangObject = linker.FindClass("Ljava/lang/Object;", NULL, dex.get());
+  Class* JavaLangObject = linker->FindClass("Ljava/lang/Object;", NULL, dex.get());
   ASSERT_TRUE(JavaLangObject != NULL);
   EXPECT_TRUE(JavaLangObject->GetClass() != NULL);
   ASSERT_TRUE(JavaLangObject->GetDescriptor() == "Ljava/lang/Object;");
@@ -70,7 +67,7 @@
   EXPECT_EQ((size_t) 0, JavaLangObject->NumInstanceFields());
   EXPECT_EQ((size_t) 0, JavaLangObject->NumStaticFields());
 
-  Class* MyClass = linker.FindClass("LMyClass;", NULL, dex.get());
+  Class* MyClass = linker->FindClass("LMyClass;", NULL, dex.get());
   ASSERT_TRUE(MyClass != NULL);
   EXPECT_TRUE(MyClass->GetClass() != NULL);
   ASSERT_TRUE(MyClass->GetDescriptor() == "LMyClass;");