(
constant_pool: &ConstantPool,
method_ref: u16,
is_interface: bool,
)
| 1541 | I::Lookupswitch(lookup_switch) => { |
| 1542 | state.pop(context, instruction_index)?; |
| 1543 | let mut successors = Vec::with_capacity(lookup_switch.pairs.len() + 1); |
| 1544 | successors.push(( |
| 1545 | relative_switch_target(instruction_index, lookup_switch.default, context)?, |
| 1546 | state.clone(), |
| 1547 | )); |
| 1548 | for target in lookup_switch.pairs.values() { |
| 1549 | successors.push(( |
| 1550 | relative_switch_target(instruction_index, *target, context)?, |
| 1551 | state.clone(), |
| 1552 | )); |
| 1553 | } |
| 1554 | return Ok(successors); |
| 1555 | } |
| 1556 | I::Jsr(_) | I::Ret(_) | I::Jsr_w(_) | I::Ret_w(_) => { |
| 1557 | return Err(jvm::Error::VerificationError { |
| 1558 | context: context.to_string(), |
| 1559 | message: format!( |
| 1560 | "Legacy subroutine instruction unsupported at {instruction_index}" |
| 1561 | ), |
| 1562 | }); |
| 1563 | } |
| 1564 | |
| 1565 | I::Ireturn | I::Lreturn | I::Freturn | I::Dreturn | I::Areturn => { |
| 1566 | state.pop(context, instruction_index)?; |
no outgoing calls
no test coverage detected