summaryrefslogtreecommitdiff
path: root/runtime/art_method-inl.h
diff options
context:
space:
mode:
author Alex Light <allight@google.com> 2016-01-14 18:43:36 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-01-14 18:43:36 +0000
commit7b4199a5fa9f151fbf3af2a34f26d04215a1016c (patch)
tree111493b5fee26087dcc8abc1a1f56a140d549c8d /runtime/art_method-inl.h
parent15db4dcfcc17dfe6c41d3c7b26355ccfa2504f4e (diff)
parent705ad49f353d3f90d8b63625aca2c2035bacdbef (diff)
Merge "Support directly invoking interface default methods"
Diffstat (limited to 'runtime/art_method-inl.h')
-rw-r--r--runtime/art_method-inl.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/runtime/art_method-inl.h b/runtime/art_method-inl.h
index cf548ada33..a5f5c49068 100644
--- a/runtime/art_method-inl.h
+++ b/runtime/art_method-inl.h
@@ -225,8 +225,7 @@ inline bool ArtMethod::CheckIncompatibleClassChange(InvokeType type) {
}
case kSuper:
// Constructors and static methods are called with invoke-direct.
- // Interface methods cannot be invoked with invoke-super.
- return IsConstructor() || IsStatic() || GetDeclaringClass()->IsInterface();
+ return IsConstructor() || IsStatic();
case kInterface: {
mirror::Class* methods_class = GetDeclaringClass();
return IsDirect() || !(methods_class->IsInterface() || methods_class->IsObjectClass());