diff options
Diffstat (limited to 'compiler/optimizing/instruction_builder.cc')
-rw-r--r-- | compiler/optimizing/instruction_builder.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc index c66fd3bb26..8226987968 100644 --- a/compiler/optimizing/instruction_builder.cc +++ b/compiler/optimizing/instruction_builder.cc @@ -992,6 +992,10 @@ static ArtMethod* ResolveMethod(uint16_t method_idx, (!resolved_method->IsPublic() && !declaring_class_accessible)) { return nullptr; } + + if (UNLIKELY(resolved_method->CheckIncompatibleClassChange(*invoke_type))) { + return nullptr; + } } // We have to special case the invoke-super case, as ClassLinker::ResolveMethod does not. |