First pass of compiler wrapping class

Change-Id: I343625310f69cc4de315af91b9cc72bb4da8f59b
diff --git a/src/object.cc b/src/object.cc
index 20e462a..bb60dc1 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -567,6 +567,26 @@
   java_lang_String_ = NULL;
 }
 
+// TODO: get global references for these
+Class* PathClassLoader::dalvik_system_PathClassLoader_ = NULL;
+
+PathClassLoader* PathClassLoader::Alloc(std::vector<const DexFile*> dex_files) {
+  PathClassLoader* p = down_cast<PathClassLoader*>(dalvik_system_PathClassLoader_->NewInstance());
+  p->SetClassPath(dex_files);
+  return p;
+}
+
+void PathClassLoader::SetClass(Class* dalvik_system_PathClassLoader) {
+  CHECK(dalvik_system_PathClassLoader_ == NULL);
+  CHECK(dalvik_system_PathClassLoader != NULL);
+  dalvik_system_PathClassLoader_ = dalvik_system_PathClassLoader;
+}
+
+void PathClassLoader::ResetClass() {
+  CHECK(dalvik_system_PathClassLoader_ != NULL);
+  dalvik_system_PathClassLoader_ = NULL;
+}
+
 static const char* kClassStatusNames[] = {
   "Error",
   "NotReady",