diff options
| author | 2015-11-18 10:41:41 +0000 | |
|---|---|---|
| committer | 2015-11-18 10:41:41 +0000 | |
| commit | a4d1b6438ffaa68307480e8bb40cd18842daa2f3 (patch) | |
| tree | 01f1e2899b88f9c3848d45bce7aa144c360f2940 /runtime/mirror/class.h | |
| parent | a7a3ba792d608535e4d53ccc3b7a89d110609f12 (diff) | |
| parent | 52503d83d057c66ea50eed491290e267b80e1fd3 (diff) | |
Merge "Implement common super type in reference type propagation."
Diffstat (limited to 'runtime/mirror/class.h')
| -rw-r--r-- | runtime/mirror/class.h | 4 |
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_)); |