Create proxy class, constructor, and methods.

This code compiles but has not been exercised. I still
need to wire in the code blocks and return types.

Change-Id: I1796103d3bc4fc3c863f95bdca4cfb9765d4b3b7
diff --git a/src/object.h b/src/object.h
index 5bbdc6b..a4e9c7a 100644
--- a/src/object.h
+++ b/src/object.h
@@ -949,6 +949,10 @@
     SetField32(OFFSET_OF_OBJECT_MEMBER(Method, fp_spill_mask_), fp_spill_mask, false);
   }
 
+  void SetExceptionTypes(Object* exception_types) {
+    SetFieldObject(OFFSET_OF_OBJECT_MEMBER(Method, java_exception_types_), exception_types, false);
+  }
+
   ObjectArray<Class>* GetJavaParameterTypes() const {
     return GetFieldObject<ObjectArray<Class>*>(
         OFFSET_OF_OBJECT_MEMBER(Method, java_parameter_types_), false);
@@ -2767,6 +2771,22 @@
   DISALLOW_IMPLICIT_CONSTRUCTORS(InterfaceEntry);
 };
 
+class MANAGED ProxyClass : public Class {
+ private:
+  int32_t NextClassNameIndex_;
+  int64_t serialVersionUID_;
+  friend struct ProxyClassOffsets;  // for verifying offset information
+  DISALLOW_IMPLICIT_CONSTRUCTORS(ProxyClass);
+};
+
+class MANAGED Proxy : public Object {
+ private:
+  Object* h_;
+
+  friend struct ProxyOffsets;  // for verifying offset information
+  DISALLOW_IMPLICIT_CONSTRUCTORS(Proxy);
+};
+
 }  // namespace art
 
 #endif  // ART_SRC_OBJECT_H_