summaryrefslogtreecommitdiff
path: root/runtime/mirror/class.h
diff options
context:
space:
mode:
author Calin Juravle <calin@google.com> 2015-11-18 10:41:41 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-11-18 10:41:41 +0000
commita4d1b6438ffaa68307480e8bb40cd18842daa2f3 (patch)
tree01f1e2899b88f9c3848d45bce7aa144c360f2940 /runtime/mirror/class.h
parenta7a3ba792d608535e4d53ccc3b7a89d110609f12 (diff)
parent52503d83d057c66ea50eed491290e267b80e1fd3 (diff)
Merge "Implement common super type in reference type propagation."
Diffstat (limited to 'runtime/mirror/class.h')
-rw-r--r--runtime/mirror/class.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h
index 19a84f2e7f..0ab5b97d72 100644
--- a/runtime/mirror/class.h
+++ b/runtime/mirror/class.h
@@ -657,6 +657,10 @@ class MANAGED Class FINAL : public Object {
ALWAYS_INLINE Class* GetSuperClass() SHARED_REQUIRES(Locks::mutator_lock_);
+ // Get first common super class. It will never return null.
+ // `This` and `klass` must be classes.
+ Class* GetCommonSuperClass(Handle<Class> klass) SHARED_REQUIRES(Locks::mutator_lock_);
+
void SetSuperClass(Class *new_super_class) SHARED_REQUIRES(Locks::mutator_lock_) {
// Super class is assigned once, except during class linker initialization.
Class* old_super_class = GetFieldObject<Class>(OFFSET_OF_OBJECT_MEMBER(Class, super_class_));