Make class roots an image root
Change-Id: I1f1513bf34caa736c0dd7518a92f493b4573d776
diff --git a/src/object.h b/src/object.h
index 7634807..42235b8 100644
--- a/src/object.h
+++ b/src/object.h
@@ -248,16 +248,10 @@
bool IsObjectArray() const;
template<class T>
- ObjectArray<T>* AsObjectArray() {
- DCHECK(IsObjectArray());
- return down_cast<ObjectArray<T>*>(this);
- }
+ ObjectArray<T>* AsObjectArray();
template<class T>
- const ObjectArray<T>* AsObjectArray() const {
- DCHECK(IsObjectArray());
- return down_cast<const ObjectArray<T>*>(this);
- }
+ const ObjectArray<T>* AsObjectArray() const;
bool IsArrayInstance() const;
@@ -2106,6 +2100,18 @@
return IsArrayInstance() && !GetClass()->GetComponentType()->IsPrimitive();
}
+template<class T>
+inline ObjectArray<T>* Object::AsObjectArray() {
+ DCHECK(IsObjectArray());
+ return down_cast<ObjectArray<T>*>(this);
+}
+
+template<class T>
+inline const ObjectArray<T>* Object::AsObjectArray() const {
+ DCHECK(IsObjectArray());
+ return down_cast<const ObjectArray<T>*>(this);
+}
+
inline bool Object::IsArrayInstance() const {
return GetClass()->IsArrayClass();
}