diff --git a/ts2panda/ts2abc/type_adapter.cpp b/ts2panda/ts2abc/type_adapter.cpp index 1ab1e303fc4515455e509c88e5101dbf51dafeb8..a0ae080162e2fe91ded247d95191fea82c36b2bc 100644 --- a/ts2panda/ts2abc/type_adapter.cpp +++ b/ts2panda/ts2abc/type_adapter.cpp @@ -92,7 +92,7 @@ void TypeAdapter::HandleTypeForFunction(panda::pandasm::Function *func, size_t a auto it = vreg_type_map.find(vreg); if (it != vreg_type_map.end()) { ASSERT(std::find(finished_vregs.begin(), finished_vregs.end(), vreg) == finished_vregs.end()); - int32_t arg_order = func->regs_num - arg - 1; + int32_t arg_order = static_cast(func->regs_num) - static_cast(arg) - 1; order_type_map.emplace(arg_order, it->second); finished_vregs.emplace_back(vreg); }