diff options
Diffstat (limited to 'dexlayout/dex_ir.cc')
| -rw-r--r-- | dexlayout/dex_ir.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/dexlayout/dex_ir.cc b/dexlayout/dex_ir.cc index a200d8d9c7..5913832f96 100644 --- a/dexlayout/dex_ir.cc +++ b/dexlayout/dex_ir.cc @@ -793,8 +793,10 @@ void Collections::CreateMethodHandleItem(const DexFile& dex_file, uint32_t i) { static_cast<DexFile::MethodHandleType>(disk_method_handle.method_handle_type_); bool is_invoke = type == DexFile::MethodHandleType::kInvokeStatic || type == DexFile::MethodHandleType::kInvokeInstance || - type == DexFile::MethodHandleType::kInvokeConstructor; - static_assert(DexFile::MethodHandleType::kLast == DexFile::MethodHandleType::kInvokeConstructor, + type == DexFile::MethodHandleType::kInvokeConstructor || + type == DexFile::MethodHandleType::kInvokeDirect || + type == DexFile::MethodHandleType::kInvokeInterface; + static_assert(DexFile::MethodHandleType::kLast == DexFile::MethodHandleType::kInvokeInterface, "Unexpected method handle types."); IndexedItem* field_or_method_id; if (is_invoke) { |