diff --git a/androscalpel/src/code.rs b/androscalpel/src/code.rs index 32ee556..2a462d5 100644 --- a/androscalpel/src/code.rs +++ b/androscalpel/src/code.rs @@ -14,7 +14,7 @@ use crate::{DexString, IdField, IdMethod, IdMethodType, IdType, Instruction, Met #[pyclass] #[derive(Debug, Clone)] pub struct Code { - // TODO: remove and compute this value from code. + // TODO: remove and compute this value from code? /// The number of registers used by the code #[pyo3(get, set)] pub registers_size: u16, @@ -30,27 +30,28 @@ pub struct Code { /// The debug info #[pyo3(get, set)] pub debug_info: Vec, - // TODO: implement OPcode /// The instructions. #[pyo3(get, set)] pub insns: Vec, - // TODO: currently unusable, juste a mapping ty TryItem - // TODO: maybe implement as custom OPcode to make me easy to modify? - // /// Try blocks - // #[pyo3(get, set)] - // pub tries: Vec<(u32, u16, TmpHandlerType)>, - // TODO: currently unusable, juste a mapping ty TryItem - // TODO: maybe implement as custom OPcode to make me easy to modify? } #[pymethods] impl Code { - /* #[new] - pub fn new() -> Self { - todo!() + pub fn new( + registers_size: u16, + ins_size: u16, + outs_size: u16, + insns: Vec, + ) -> Self { + Self { + registers_size, + ins_size, + outs_size, + insns, + debug_info: vec![], + } } - */ pub fn __str__(&self) -> String { self.__repr__() @@ -62,53 +63,57 @@ impl Code { /// Return all strings referenced in the codes. pub fn get_all_strings(&self) -> HashSet { - todo!() - /* let mut strings = HashSet::new(); - for (_, _, (list, _)) in &self.tries { - for (ty, _) in list { - strings.extend(ty.get_all_strings()); - } + // TODO debug info contains types and strings + for ins in &self.insns { + strings.extend(ins.get_all_strings()); } strings - */ } /// Return all types referenced in the codes. pub fn get_all_types(&self) -> HashSet { - todo!() - /* - let mut types = HashSet::new(); - for (_, _, (list, _)) in &self.tries { - for (ty, _) in list { - types.insert(ty.clone()); - } + let mut type_ids = HashSet::new(); + // TODO debug info contains types and strings + for ins in &self.insns { + type_ids.extend(ins.get_all_types()); } - types - */ + type_ids } /// Return all prototypes referenced in the codes. pub fn get_all_protos(&self) -> HashSet { - // TODO - HashSet::new() + let mut protos = HashSet::new(); + for ins in &self.insns { + protos.extend(ins.get_all_protos()); + } + protos } /// Return all field ids referenced in the codes. pub fn get_all_field_ids(&self) -> HashSet { - // TODO - HashSet::new() + let mut fields = HashSet::new(); + for ins in &self.insns { + fields.extend(ins.get_all_field_ids()); + } + fields } /// Return all method ids referenced in the codes. pub fn get_all_method_ids(&self) -> HashSet { - // TODO - HashSet::new() + let mut methods = HashSet::new(); + for ins in &self.insns { + methods.extend(ins.get_all_method_ids()) + } + methods } /// Return all method handles referenced in the codes. pub fn get_all_method_handles(&self) -> HashSet { - // TODO - HashSet::new() + let mut handles = HashSet::new(); + for ins in &self.insns { + handles.extend(ins.get_all_method_handles()); + } + handles } } diff --git a/androscalpel/src/instructions.rs b/androscalpel/src/instructions.rs index b58afc8..bcbdd9b 100644 --- a/androscalpel/src/instructions.rs +++ b/androscalpel/src/instructions.rs @@ -11,7 +11,8 @@ use anyhow::anyhow; use pyo3::exceptions::PyTypeError; use pyo3::prelude::*; -use std::collections::HashMap; +use std::collections::{HashMap, HashSet}; + const I8_MIN_AS_I16: i16 = i8::MIN as i16; const I8_MAX_AS_I16: i16 = i8::MAX as i16; const I8_MIN_AS_I32: i32 = i8::MIN as i32; @@ -1657,6 +1658,1206 @@ impl Instruction { Self::Label(_) => Err(anyhow!("Label cannot be convertedto raw instruction")), } } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + match self { + Self::Nop(ins) => ins.get_all_strings(), + Self::Move(ins) => ins.get_all_strings(), + Self::MoveWide(ins) => ins.get_all_strings(), + Self::MoveObject(ins) => ins.get_all_strings(), + Self::MoveResult(ins) => ins.get_all_strings(), + Self::MoveResultWide(ins) => ins.get_all_strings(), + Self::MoveException(ins) => ins.get_all_strings(), + Self::MoveResultObject(ins) => ins.get_all_strings(), + Self::ReturnVoid(ins) => ins.get_all_strings(), + Self::Return(ins) => ins.get_all_strings(), + Self::ReturnWide(ins) => ins.get_all_strings(), + Self::ReturnObject(ins) => ins.get_all_strings(), + Self::Const(ins) => ins.get_all_strings(), + Self::ConstWide(ins) => ins.get_all_strings(), + Self::ConstString(ins) => ins.get_all_strings(), + Self::ConstClass(ins) => ins.get_all_strings(), + Self::MonitorEnter(ins) => ins.get_all_strings(), + Self::MonitorExit(ins) => ins.get_all_strings(), + Self::CheckCast(ins) => ins.get_all_strings(), + Self::InstanceOf(ins) => ins.get_all_strings(), + Self::ArrayLength(ins) => ins.get_all_strings(), + Self::NewInstance(ins) => ins.get_all_strings(), + Self::NewArray(ins) => ins.get_all_strings(), + Self::FilledNewArray(ins) => ins.get_all_strings(), + Self::FillArrayData(ins) => ins.get_all_strings(), + Self::Throw(ins) => ins.get_all_strings(), + Self::Goto(ins) => ins.get_all_strings(), + Self::Switch(ins) => ins.get_all_strings(), + Self::CmpLFloat(ins) => ins.get_all_strings(), + Self::CmpGFloat(ins) => ins.get_all_strings(), + Self::CmpLDouble(ins) => ins.get_all_strings(), + Self::CmpGDouble(ins) => ins.get_all_strings(), + Self::CmpLong(ins) => ins.get_all_strings(), + Self::IfEq(ins) => ins.get_all_strings(), + Self::IfNe(ins) => ins.get_all_strings(), + Self::IfLt(ins) => ins.get_all_strings(), + Self::IfGe(ins) => ins.get_all_strings(), + Self::IfGt(ins) => ins.get_all_strings(), + Self::IfLe(ins) => ins.get_all_strings(), + Self::IfEqZ(ins) => ins.get_all_strings(), + Self::IfNeZ(ins) => ins.get_all_strings(), + Self::IfLtZ(ins) => ins.get_all_strings(), + Self::IfGeZ(ins) => ins.get_all_strings(), + Self::IfGtZ(ins) => ins.get_all_strings(), + Self::IfLeZ(ins) => ins.get_all_strings(), + Self::AGet(ins) => ins.get_all_strings(), + Self::AGetWide(ins) => ins.get_all_strings(), + Self::AGetObject(ins) => ins.get_all_strings(), + Self::AGetBoolean(ins) => ins.get_all_strings(), + Self::AGetByte(ins) => ins.get_all_strings(), + Self::AGetChar(ins) => ins.get_all_strings(), + Self::AGetShort(ins) => ins.get_all_strings(), + Self::APut(ins) => ins.get_all_strings(), + Self::APutWide(ins) => ins.get_all_strings(), + Self::APutObject(ins) => ins.get_all_strings(), + Self::APutBoolean(ins) => ins.get_all_strings(), + Self::APutByte(ins) => ins.get_all_strings(), + Self::APutChar(ins) => ins.get_all_strings(), + Self::APutShort(ins) => ins.get_all_strings(), + Self::IGet(ins) => ins.get_all_strings(), + Self::IGetWide(ins) => ins.get_all_strings(), + Self::IGetObject(ins) => ins.get_all_strings(), + Self::IGetBoolean(ins) => ins.get_all_strings(), + Self::IGetByte(ins) => ins.get_all_strings(), + Self::IGetChar(ins) => ins.get_all_strings(), + Self::IGetShort(ins) => ins.get_all_strings(), + Self::IPut(ins) => ins.get_all_strings(), + Self::IPutWide(ins) => ins.get_all_strings(), + Self::IPutObject(ins) => ins.get_all_strings(), + Self::IPutBoolean(ins) => ins.get_all_strings(), + Self::IPutByte(ins) => ins.get_all_strings(), + Self::IPutChar(ins) => ins.get_all_strings(), + Self::IPutShort(ins) => ins.get_all_strings(), + Self::SGet(ins) => ins.get_all_strings(), + Self::SGetWide(ins) => ins.get_all_strings(), + Self::SGetObject(ins) => ins.get_all_strings(), + Self::SGetBoolean(ins) => ins.get_all_strings(), + Self::SGetByte(ins) => ins.get_all_strings(), + Self::SGetChar(ins) => ins.get_all_strings(), + Self::SGetShort(ins) => ins.get_all_strings(), + Self::SPut(ins) => ins.get_all_strings(), + Self::SPutWide(ins) => ins.get_all_strings(), + Self::SPutObject(ins) => ins.get_all_strings(), + Self::SPutBoolean(ins) => ins.get_all_strings(), + Self::SPutByte(ins) => ins.get_all_strings(), + Self::SPutChar(ins) => ins.get_all_strings(), + Self::SPutShort(ins) => ins.get_all_strings(), + Self::InvokeVirtual(ins) => ins.get_all_strings(), + Self::InvokeSuper(ins) => ins.get_all_strings(), + Self::InvokeDirect(ins) => ins.get_all_strings(), + Self::InvokeStatic(ins) => ins.get_all_strings(), + Self::InvokeInterface(ins) => ins.get_all_strings(), + Self::NegInt(ins) => ins.get_all_strings(), + Self::NotInt(ins) => ins.get_all_strings(), + Self::NegLong(ins) => ins.get_all_strings(), + Self::NotLong(ins) => ins.get_all_strings(), + Self::NegFloat(ins) => ins.get_all_strings(), + Self::NegDouble(ins) => ins.get_all_strings(), + Self::IntToLong(ins) => ins.get_all_strings(), + Self::IntToFloat(ins) => ins.get_all_strings(), + Self::IntToDouble(ins) => ins.get_all_strings(), + Self::LongToInt(ins) => ins.get_all_strings(), + Self::LongToFloat(ins) => ins.get_all_strings(), + Self::LongToDouble(ins) => ins.get_all_strings(), + Self::FloatToInt(ins) => ins.get_all_strings(), + Self::FloatToLong(ins) => ins.get_all_strings(), + Self::FloatToDouble(ins) => ins.get_all_strings(), + Self::DoubleToInt(ins) => ins.get_all_strings(), + Self::DoubleToLong(ins) => ins.get_all_strings(), + Self::DoubleToFloat(ins) => ins.get_all_strings(), + Self::IntToByte(ins) => ins.get_all_strings(), + Self::IntToChar(ins) => ins.get_all_strings(), + Self::IntToShort(ins) => ins.get_all_strings(), + Self::AddInt(ins) => ins.get_all_strings(), + Self::SubInt(ins) => ins.get_all_strings(), + Self::MulInt(ins) => ins.get_all_strings(), + Self::DivInt(ins) => ins.get_all_strings(), + Self::RemInt(ins) => ins.get_all_strings(), + Self::AndInt(ins) => ins.get_all_strings(), + Self::OrInt(ins) => ins.get_all_strings(), + Self::XorInt(ins) => ins.get_all_strings(), + Self::ShlInt(ins) => ins.get_all_strings(), + Self::ShrInt(ins) => ins.get_all_strings(), + Self::UshrInt(ins) => ins.get_all_strings(), + Self::AddLong(ins) => ins.get_all_strings(), + Self::SubLong(ins) => ins.get_all_strings(), + Self::MulLong(ins) => ins.get_all_strings(), + Self::DivLong(ins) => ins.get_all_strings(), + Self::RemLong(ins) => ins.get_all_strings(), + Self::AndLong(ins) => ins.get_all_strings(), + Self::OrLong(ins) => ins.get_all_strings(), + Self::XorLong(ins) => ins.get_all_strings(), + Self::ShlLong(ins) => ins.get_all_strings(), + Self::ShrLong(ins) => ins.get_all_strings(), + Self::UshrLong(ins) => ins.get_all_strings(), + Self::AddFloat(ins) => ins.get_all_strings(), + Self::SubFloat(ins) => ins.get_all_strings(), + Self::MulFloat(ins) => ins.get_all_strings(), + Self::DivFloat(ins) => ins.get_all_strings(), + Self::RemFloat(ins) => ins.get_all_strings(), + Self::AddDouble(ins) => ins.get_all_strings(), + Self::SubDouble(ins) => ins.get_all_strings(), + Self::MulDouble(ins) => ins.get_all_strings(), + Self::DivDouble(ins) => ins.get_all_strings(), + Self::RemDouble(ins) => ins.get_all_strings(), + Self::AddInt2Addr(ins) => ins.get_all_strings(), + Self::SubInt2Addr(ins) => ins.get_all_strings(), + Self::MulInt2Addr(ins) => ins.get_all_strings(), + Self::DivInt2Addr(ins) => ins.get_all_strings(), + Self::RemInt2Addr(ins) => ins.get_all_strings(), + Self::AndInt2Addr(ins) => ins.get_all_strings(), + Self::OrInt2Addr(ins) => ins.get_all_strings(), + Self::XorInt2Addr(ins) => ins.get_all_strings(), + Self::ShlInt2Addr(ins) => ins.get_all_strings(), + Self::ShrInt2Addr(ins) => ins.get_all_strings(), + Self::UshrInt2Addr(ins) => ins.get_all_strings(), + Self::AddLong2Addr(ins) => ins.get_all_strings(), + Self::SubLong2Addr(ins) => ins.get_all_strings(), + Self::MulLong2Addr(ins) => ins.get_all_strings(), + Self::DivLong2Addr(ins) => ins.get_all_strings(), + Self::RemLong2Addr(ins) => ins.get_all_strings(), + Self::AndLong2Addr(ins) => ins.get_all_strings(), + Self::OrLong2Addr(ins) => ins.get_all_strings(), + Self::XorLong2Addr(ins) => ins.get_all_strings(), + Self::ShlLong2Addr(ins) => ins.get_all_strings(), + Self::ShrLong2Addr(ins) => ins.get_all_strings(), + Self::UshrLong2Addr(ins) => ins.get_all_strings(), + Self::AddFloat2Addr(ins) => ins.get_all_strings(), + Self::SubFloat2Addr(ins) => ins.get_all_strings(), + Self::MulFloat2Addr(ins) => ins.get_all_strings(), + Self::DivFloat2Addr(ins) => ins.get_all_strings(), + Self::RemFloat2Addr(ins) => ins.get_all_strings(), + Self::AddDouble2Addr(ins) => ins.get_all_strings(), + Self::SubDouble2Addr(ins) => ins.get_all_strings(), + Self::MulDouble2Addr(ins) => ins.get_all_strings(), + Self::DivDouble2Addr(ins) => ins.get_all_strings(), + Self::RemDouble2Addr(ins) => ins.get_all_strings(), + Self::AddIntLit(ins) => ins.get_all_strings(), + Self::RsubIntLit(ins) => ins.get_all_strings(), + Self::MulIntLit(ins) => ins.get_all_strings(), + Self::DivIntLit(ins) => ins.get_all_strings(), + Self::RemIntLit(ins) => ins.get_all_strings(), + Self::AndIntLit(ins) => ins.get_all_strings(), + Self::OrIntLit(ins) => ins.get_all_strings(), + Self::XorIntLit(ins) => ins.get_all_strings(), + Self::ShlIntLit(ins) => ins.get_all_strings(), + Self::ShrIntLit(ins) => ins.get_all_strings(), + Self::UshrIntLit(ins) => ins.get_all_strings(), + Self::InvokePolymorphic(ins) => ins.get_all_strings(), + Self::InvokeCustom(ins) => ins.get_all_strings(), + Self::ConstMethodHandle(ins) => ins.get_all_strings(), + Self::ConstMethodType(ins) => ins.get_all_strings(), + Self::Try(ins) => ins.get_all_strings(), + Self::Label(ins) => ins.get_all_strings(), + } + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + match self { + Self::Nop(ins) => ins.get_all_types(), + Self::Move(ins) => ins.get_all_types(), + Self::MoveWide(ins) => ins.get_all_types(), + Self::MoveObject(ins) => ins.get_all_types(), + Self::MoveResult(ins) => ins.get_all_types(), + Self::MoveResultWide(ins) => ins.get_all_types(), + Self::MoveException(ins) => ins.get_all_types(), + Self::MoveResultObject(ins) => ins.get_all_types(), + Self::ReturnVoid(ins) => ins.get_all_types(), + Self::Return(ins) => ins.get_all_types(), + Self::ReturnWide(ins) => ins.get_all_types(), + Self::ReturnObject(ins) => ins.get_all_types(), + Self::Const(ins) => ins.get_all_types(), + Self::ConstWide(ins) => ins.get_all_types(), + Self::ConstString(ins) => ins.get_all_types(), + Self::ConstClass(ins) => ins.get_all_types(), + Self::MonitorEnter(ins) => ins.get_all_types(), + Self::MonitorExit(ins) => ins.get_all_types(), + Self::CheckCast(ins) => ins.get_all_types(), + Self::InstanceOf(ins) => ins.get_all_types(), + Self::ArrayLength(ins) => ins.get_all_types(), + Self::NewInstance(ins) => ins.get_all_types(), + Self::NewArray(ins) => ins.get_all_types(), + Self::FilledNewArray(ins) => ins.get_all_types(), + Self::FillArrayData(ins) => ins.get_all_types(), + Self::Throw(ins) => ins.get_all_types(), + Self::Goto(ins) => ins.get_all_types(), + Self::Switch(ins) => ins.get_all_types(), + Self::CmpLFloat(ins) => ins.get_all_types(), + Self::CmpGFloat(ins) => ins.get_all_types(), + Self::CmpLDouble(ins) => ins.get_all_types(), + Self::CmpGDouble(ins) => ins.get_all_types(), + Self::CmpLong(ins) => ins.get_all_types(), + Self::IfEq(ins) => ins.get_all_types(), + Self::IfNe(ins) => ins.get_all_types(), + Self::IfLt(ins) => ins.get_all_types(), + Self::IfGe(ins) => ins.get_all_types(), + Self::IfGt(ins) => ins.get_all_types(), + Self::IfLe(ins) => ins.get_all_types(), + Self::IfEqZ(ins) => ins.get_all_types(), + Self::IfNeZ(ins) => ins.get_all_types(), + Self::IfLtZ(ins) => ins.get_all_types(), + Self::IfGeZ(ins) => ins.get_all_types(), + Self::IfGtZ(ins) => ins.get_all_types(), + Self::IfLeZ(ins) => ins.get_all_types(), + Self::AGet(ins) => ins.get_all_types(), + Self::AGetWide(ins) => ins.get_all_types(), + Self::AGetObject(ins) => ins.get_all_types(), + Self::AGetBoolean(ins) => ins.get_all_types(), + Self::AGetByte(ins) => ins.get_all_types(), + Self::AGetChar(ins) => ins.get_all_types(), + Self::AGetShort(ins) => ins.get_all_types(), + Self::APut(ins) => ins.get_all_types(), + Self::APutWide(ins) => ins.get_all_types(), + Self::APutObject(ins) => ins.get_all_types(), + Self::APutBoolean(ins) => ins.get_all_types(), + Self::APutByte(ins) => ins.get_all_types(), + Self::APutChar(ins) => ins.get_all_types(), + Self::APutShort(ins) => ins.get_all_types(), + Self::IGet(ins) => ins.get_all_types(), + Self::IGetWide(ins) => ins.get_all_types(), + Self::IGetObject(ins) => ins.get_all_types(), + Self::IGetBoolean(ins) => ins.get_all_types(), + Self::IGetByte(ins) => ins.get_all_types(), + Self::IGetChar(ins) => ins.get_all_types(), + Self::IGetShort(ins) => ins.get_all_types(), + Self::IPut(ins) => ins.get_all_types(), + Self::IPutWide(ins) => ins.get_all_types(), + Self::IPutObject(ins) => ins.get_all_types(), + Self::IPutBoolean(ins) => ins.get_all_types(), + Self::IPutByte(ins) => ins.get_all_types(), + Self::IPutChar(ins) => ins.get_all_types(), + Self::IPutShort(ins) => ins.get_all_types(), + Self::SGet(ins) => ins.get_all_types(), + Self::SGetWide(ins) => ins.get_all_types(), + Self::SGetObject(ins) => ins.get_all_types(), + Self::SGetBoolean(ins) => ins.get_all_types(), + Self::SGetByte(ins) => ins.get_all_types(), + Self::SGetChar(ins) => ins.get_all_types(), + Self::SGetShort(ins) => ins.get_all_types(), + Self::SPut(ins) => ins.get_all_types(), + Self::SPutWide(ins) => ins.get_all_types(), + Self::SPutObject(ins) => ins.get_all_types(), + Self::SPutBoolean(ins) => ins.get_all_types(), + Self::SPutByte(ins) => ins.get_all_types(), + Self::SPutChar(ins) => ins.get_all_types(), + Self::SPutShort(ins) => ins.get_all_types(), + Self::InvokeVirtual(ins) => ins.get_all_types(), + Self::InvokeSuper(ins) => ins.get_all_types(), + Self::InvokeDirect(ins) => ins.get_all_types(), + Self::InvokeStatic(ins) => ins.get_all_types(), + Self::InvokeInterface(ins) => ins.get_all_types(), + Self::NegInt(ins) => ins.get_all_types(), + Self::NotInt(ins) => ins.get_all_types(), + Self::NegLong(ins) => ins.get_all_types(), + Self::NotLong(ins) => ins.get_all_types(), + Self::NegFloat(ins) => ins.get_all_types(), + Self::NegDouble(ins) => ins.get_all_types(), + Self::IntToLong(ins) => ins.get_all_types(), + Self::IntToFloat(ins) => ins.get_all_types(), + Self::IntToDouble(ins) => ins.get_all_types(), + Self::LongToInt(ins) => ins.get_all_types(), + Self::LongToFloat(ins) => ins.get_all_types(), + Self::LongToDouble(ins) => ins.get_all_types(), + Self::FloatToInt(ins) => ins.get_all_types(), + Self::FloatToLong(ins) => ins.get_all_types(), + Self::FloatToDouble(ins) => ins.get_all_types(), + Self::DoubleToInt(ins) => ins.get_all_types(), + Self::DoubleToLong(ins) => ins.get_all_types(), + Self::DoubleToFloat(ins) => ins.get_all_types(), + Self::IntToByte(ins) => ins.get_all_types(), + Self::IntToChar(ins) => ins.get_all_types(), + Self::IntToShort(ins) => ins.get_all_types(), + Self::AddInt(ins) => ins.get_all_types(), + Self::SubInt(ins) => ins.get_all_types(), + Self::MulInt(ins) => ins.get_all_types(), + Self::DivInt(ins) => ins.get_all_types(), + Self::RemInt(ins) => ins.get_all_types(), + Self::AndInt(ins) => ins.get_all_types(), + Self::OrInt(ins) => ins.get_all_types(), + Self::XorInt(ins) => ins.get_all_types(), + Self::ShlInt(ins) => ins.get_all_types(), + Self::ShrInt(ins) => ins.get_all_types(), + Self::UshrInt(ins) => ins.get_all_types(), + Self::AddLong(ins) => ins.get_all_types(), + Self::SubLong(ins) => ins.get_all_types(), + Self::MulLong(ins) => ins.get_all_types(), + Self::DivLong(ins) => ins.get_all_types(), + Self::RemLong(ins) => ins.get_all_types(), + Self::AndLong(ins) => ins.get_all_types(), + Self::OrLong(ins) => ins.get_all_types(), + Self::XorLong(ins) => ins.get_all_types(), + Self::ShlLong(ins) => ins.get_all_types(), + Self::ShrLong(ins) => ins.get_all_types(), + Self::UshrLong(ins) => ins.get_all_types(), + Self::AddFloat(ins) => ins.get_all_types(), + Self::SubFloat(ins) => ins.get_all_types(), + Self::MulFloat(ins) => ins.get_all_types(), + Self::DivFloat(ins) => ins.get_all_types(), + Self::RemFloat(ins) => ins.get_all_types(), + Self::AddDouble(ins) => ins.get_all_types(), + Self::SubDouble(ins) => ins.get_all_types(), + Self::MulDouble(ins) => ins.get_all_types(), + Self::DivDouble(ins) => ins.get_all_types(), + Self::RemDouble(ins) => ins.get_all_types(), + Self::AddInt2Addr(ins) => ins.get_all_types(), + Self::SubInt2Addr(ins) => ins.get_all_types(), + Self::MulInt2Addr(ins) => ins.get_all_types(), + Self::DivInt2Addr(ins) => ins.get_all_types(), + Self::RemInt2Addr(ins) => ins.get_all_types(), + Self::AndInt2Addr(ins) => ins.get_all_types(), + Self::OrInt2Addr(ins) => ins.get_all_types(), + Self::XorInt2Addr(ins) => ins.get_all_types(), + Self::ShlInt2Addr(ins) => ins.get_all_types(), + Self::ShrInt2Addr(ins) => ins.get_all_types(), + Self::UshrInt2Addr(ins) => ins.get_all_types(), + Self::AddLong2Addr(ins) => ins.get_all_types(), + Self::SubLong2Addr(ins) => ins.get_all_types(), + Self::MulLong2Addr(ins) => ins.get_all_types(), + Self::DivLong2Addr(ins) => ins.get_all_types(), + Self::RemLong2Addr(ins) => ins.get_all_types(), + Self::AndLong2Addr(ins) => ins.get_all_types(), + Self::OrLong2Addr(ins) => ins.get_all_types(), + Self::XorLong2Addr(ins) => ins.get_all_types(), + Self::ShlLong2Addr(ins) => ins.get_all_types(), + Self::ShrLong2Addr(ins) => ins.get_all_types(), + Self::UshrLong2Addr(ins) => ins.get_all_types(), + Self::AddFloat2Addr(ins) => ins.get_all_types(), + Self::SubFloat2Addr(ins) => ins.get_all_types(), + Self::MulFloat2Addr(ins) => ins.get_all_types(), + Self::DivFloat2Addr(ins) => ins.get_all_types(), + Self::RemFloat2Addr(ins) => ins.get_all_types(), + Self::AddDouble2Addr(ins) => ins.get_all_types(), + Self::SubDouble2Addr(ins) => ins.get_all_types(), + Self::MulDouble2Addr(ins) => ins.get_all_types(), + Self::DivDouble2Addr(ins) => ins.get_all_types(), + Self::RemDouble2Addr(ins) => ins.get_all_types(), + Self::AddIntLit(ins) => ins.get_all_types(), + Self::RsubIntLit(ins) => ins.get_all_types(), + Self::MulIntLit(ins) => ins.get_all_types(), + Self::DivIntLit(ins) => ins.get_all_types(), + Self::RemIntLit(ins) => ins.get_all_types(), + Self::AndIntLit(ins) => ins.get_all_types(), + Self::OrIntLit(ins) => ins.get_all_types(), + Self::XorIntLit(ins) => ins.get_all_types(), + Self::ShlIntLit(ins) => ins.get_all_types(), + Self::ShrIntLit(ins) => ins.get_all_types(), + Self::UshrIntLit(ins) => ins.get_all_types(), + Self::InvokePolymorphic(ins) => ins.get_all_types(), + Self::InvokeCustom(ins) => ins.get_all_types(), + Self::ConstMethodHandle(ins) => ins.get_all_types(), + Self::ConstMethodType(ins) => ins.get_all_types(), + Self::Try(ins) => ins.get_all_types(), + Self::Label(ins) => ins.get_all_types(), + } + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + match self { + Self::Nop(ins) => ins.get_all_protos(), + Self::Move(ins) => ins.get_all_protos(), + Self::MoveWide(ins) => ins.get_all_protos(), + Self::MoveObject(ins) => ins.get_all_protos(), + Self::MoveResult(ins) => ins.get_all_protos(), + Self::MoveResultWide(ins) => ins.get_all_protos(), + Self::MoveException(ins) => ins.get_all_protos(), + Self::MoveResultObject(ins) => ins.get_all_protos(), + Self::ReturnVoid(ins) => ins.get_all_protos(), + Self::Return(ins) => ins.get_all_protos(), + Self::ReturnWide(ins) => ins.get_all_protos(), + Self::ReturnObject(ins) => ins.get_all_protos(), + Self::Const(ins) => ins.get_all_protos(), + Self::ConstWide(ins) => ins.get_all_protos(), + Self::ConstString(ins) => ins.get_all_protos(), + Self::ConstClass(ins) => ins.get_all_protos(), + Self::MonitorEnter(ins) => ins.get_all_protos(), + Self::MonitorExit(ins) => ins.get_all_protos(), + Self::CheckCast(ins) => ins.get_all_protos(), + Self::InstanceOf(ins) => ins.get_all_protos(), + Self::ArrayLength(ins) => ins.get_all_protos(), + Self::NewInstance(ins) => ins.get_all_protos(), + Self::NewArray(ins) => ins.get_all_protos(), + Self::FilledNewArray(ins) => ins.get_all_protos(), + Self::FillArrayData(ins) => ins.get_all_protos(), + Self::Throw(ins) => ins.get_all_protos(), + Self::Goto(ins) => ins.get_all_protos(), + Self::Switch(ins) => ins.get_all_protos(), + Self::CmpLFloat(ins) => ins.get_all_protos(), + Self::CmpGFloat(ins) => ins.get_all_protos(), + Self::CmpLDouble(ins) => ins.get_all_protos(), + Self::CmpGDouble(ins) => ins.get_all_protos(), + Self::CmpLong(ins) => ins.get_all_protos(), + Self::IfEq(ins) => ins.get_all_protos(), + Self::IfNe(ins) => ins.get_all_protos(), + Self::IfLt(ins) => ins.get_all_protos(), + Self::IfGe(ins) => ins.get_all_protos(), + Self::IfGt(ins) => ins.get_all_protos(), + Self::IfLe(ins) => ins.get_all_protos(), + Self::IfEqZ(ins) => ins.get_all_protos(), + Self::IfNeZ(ins) => ins.get_all_protos(), + Self::IfLtZ(ins) => ins.get_all_protos(), + Self::IfGeZ(ins) => ins.get_all_protos(), + Self::IfGtZ(ins) => ins.get_all_protos(), + Self::IfLeZ(ins) => ins.get_all_protos(), + Self::AGet(ins) => ins.get_all_protos(), + Self::AGetWide(ins) => ins.get_all_protos(), + Self::AGetObject(ins) => ins.get_all_protos(), + Self::AGetBoolean(ins) => ins.get_all_protos(), + Self::AGetByte(ins) => ins.get_all_protos(), + Self::AGetChar(ins) => ins.get_all_protos(), + Self::AGetShort(ins) => ins.get_all_protos(), + Self::APut(ins) => ins.get_all_protos(), + Self::APutWide(ins) => ins.get_all_protos(), + Self::APutObject(ins) => ins.get_all_protos(), + Self::APutBoolean(ins) => ins.get_all_protos(), + Self::APutByte(ins) => ins.get_all_protos(), + Self::APutChar(ins) => ins.get_all_protos(), + Self::APutShort(ins) => ins.get_all_protos(), + Self::IGet(ins) => ins.get_all_protos(), + Self::IGetWide(ins) => ins.get_all_protos(), + Self::IGetObject(ins) => ins.get_all_protos(), + Self::IGetBoolean(ins) => ins.get_all_protos(), + Self::IGetByte(ins) => ins.get_all_protos(), + Self::IGetChar(ins) => ins.get_all_protos(), + Self::IGetShort(ins) => ins.get_all_protos(), + Self::IPut(ins) => ins.get_all_protos(), + Self::IPutWide(ins) => ins.get_all_protos(), + Self::IPutObject(ins) => ins.get_all_protos(), + Self::IPutBoolean(ins) => ins.get_all_protos(), + Self::IPutByte(ins) => ins.get_all_protos(), + Self::IPutChar(ins) => ins.get_all_protos(), + Self::IPutShort(ins) => ins.get_all_protos(), + Self::SGet(ins) => ins.get_all_protos(), + Self::SGetWide(ins) => ins.get_all_protos(), + Self::SGetObject(ins) => ins.get_all_protos(), + Self::SGetBoolean(ins) => ins.get_all_protos(), + Self::SGetByte(ins) => ins.get_all_protos(), + Self::SGetChar(ins) => ins.get_all_protos(), + Self::SGetShort(ins) => ins.get_all_protos(), + Self::SPut(ins) => ins.get_all_protos(), + Self::SPutWide(ins) => ins.get_all_protos(), + Self::SPutObject(ins) => ins.get_all_protos(), + Self::SPutBoolean(ins) => ins.get_all_protos(), + Self::SPutByte(ins) => ins.get_all_protos(), + Self::SPutChar(ins) => ins.get_all_protos(), + Self::SPutShort(ins) => ins.get_all_protos(), + Self::InvokeVirtual(ins) => ins.get_all_protos(), + Self::InvokeSuper(ins) => ins.get_all_protos(), + Self::InvokeDirect(ins) => ins.get_all_protos(), + Self::InvokeStatic(ins) => ins.get_all_protos(), + Self::InvokeInterface(ins) => ins.get_all_protos(), + Self::NegInt(ins) => ins.get_all_protos(), + Self::NotInt(ins) => ins.get_all_protos(), + Self::NegLong(ins) => ins.get_all_protos(), + Self::NotLong(ins) => ins.get_all_protos(), + Self::NegFloat(ins) => ins.get_all_protos(), + Self::NegDouble(ins) => ins.get_all_protos(), + Self::IntToLong(ins) => ins.get_all_protos(), + Self::IntToFloat(ins) => ins.get_all_protos(), + Self::IntToDouble(ins) => ins.get_all_protos(), + Self::LongToInt(ins) => ins.get_all_protos(), + Self::LongToFloat(ins) => ins.get_all_protos(), + Self::LongToDouble(ins) => ins.get_all_protos(), + Self::FloatToInt(ins) => ins.get_all_protos(), + Self::FloatToLong(ins) => ins.get_all_protos(), + Self::FloatToDouble(ins) => ins.get_all_protos(), + Self::DoubleToInt(ins) => ins.get_all_protos(), + Self::DoubleToLong(ins) => ins.get_all_protos(), + Self::DoubleToFloat(ins) => ins.get_all_protos(), + Self::IntToByte(ins) => ins.get_all_protos(), + Self::IntToChar(ins) => ins.get_all_protos(), + Self::IntToShort(ins) => ins.get_all_protos(), + Self::AddInt(ins) => ins.get_all_protos(), + Self::SubInt(ins) => ins.get_all_protos(), + Self::MulInt(ins) => ins.get_all_protos(), + Self::DivInt(ins) => ins.get_all_protos(), + Self::RemInt(ins) => ins.get_all_protos(), + Self::AndInt(ins) => ins.get_all_protos(), + Self::OrInt(ins) => ins.get_all_protos(), + Self::XorInt(ins) => ins.get_all_protos(), + Self::ShlInt(ins) => ins.get_all_protos(), + Self::ShrInt(ins) => ins.get_all_protos(), + Self::UshrInt(ins) => ins.get_all_protos(), + Self::AddLong(ins) => ins.get_all_protos(), + Self::SubLong(ins) => ins.get_all_protos(), + Self::MulLong(ins) => ins.get_all_protos(), + Self::DivLong(ins) => ins.get_all_protos(), + Self::RemLong(ins) => ins.get_all_protos(), + Self::AndLong(ins) => ins.get_all_protos(), + Self::OrLong(ins) => ins.get_all_protos(), + Self::XorLong(ins) => ins.get_all_protos(), + Self::ShlLong(ins) => ins.get_all_protos(), + Self::ShrLong(ins) => ins.get_all_protos(), + Self::UshrLong(ins) => ins.get_all_protos(), + Self::AddFloat(ins) => ins.get_all_protos(), + Self::SubFloat(ins) => ins.get_all_protos(), + Self::MulFloat(ins) => ins.get_all_protos(), + Self::DivFloat(ins) => ins.get_all_protos(), + Self::RemFloat(ins) => ins.get_all_protos(), + Self::AddDouble(ins) => ins.get_all_protos(), + Self::SubDouble(ins) => ins.get_all_protos(), + Self::MulDouble(ins) => ins.get_all_protos(), + Self::DivDouble(ins) => ins.get_all_protos(), + Self::RemDouble(ins) => ins.get_all_protos(), + Self::AddInt2Addr(ins) => ins.get_all_protos(), + Self::SubInt2Addr(ins) => ins.get_all_protos(), + Self::MulInt2Addr(ins) => ins.get_all_protos(), + Self::DivInt2Addr(ins) => ins.get_all_protos(), + Self::RemInt2Addr(ins) => ins.get_all_protos(), + Self::AndInt2Addr(ins) => ins.get_all_protos(), + Self::OrInt2Addr(ins) => ins.get_all_protos(), + Self::XorInt2Addr(ins) => ins.get_all_protos(), + Self::ShlInt2Addr(ins) => ins.get_all_protos(), + Self::ShrInt2Addr(ins) => ins.get_all_protos(), + Self::UshrInt2Addr(ins) => ins.get_all_protos(), + Self::AddLong2Addr(ins) => ins.get_all_protos(), + Self::SubLong2Addr(ins) => ins.get_all_protos(), + Self::MulLong2Addr(ins) => ins.get_all_protos(), + Self::DivLong2Addr(ins) => ins.get_all_protos(), + Self::RemLong2Addr(ins) => ins.get_all_protos(), + Self::AndLong2Addr(ins) => ins.get_all_protos(), + Self::OrLong2Addr(ins) => ins.get_all_protos(), + Self::XorLong2Addr(ins) => ins.get_all_protos(), + Self::ShlLong2Addr(ins) => ins.get_all_protos(), + Self::ShrLong2Addr(ins) => ins.get_all_protos(), + Self::UshrLong2Addr(ins) => ins.get_all_protos(), + Self::AddFloat2Addr(ins) => ins.get_all_protos(), + Self::SubFloat2Addr(ins) => ins.get_all_protos(), + Self::MulFloat2Addr(ins) => ins.get_all_protos(), + Self::DivFloat2Addr(ins) => ins.get_all_protos(), + Self::RemFloat2Addr(ins) => ins.get_all_protos(), + Self::AddDouble2Addr(ins) => ins.get_all_protos(), + Self::SubDouble2Addr(ins) => ins.get_all_protos(), + Self::MulDouble2Addr(ins) => ins.get_all_protos(), + Self::DivDouble2Addr(ins) => ins.get_all_protos(), + Self::RemDouble2Addr(ins) => ins.get_all_protos(), + Self::AddIntLit(ins) => ins.get_all_protos(), + Self::RsubIntLit(ins) => ins.get_all_protos(), + Self::MulIntLit(ins) => ins.get_all_protos(), + Self::DivIntLit(ins) => ins.get_all_protos(), + Self::RemIntLit(ins) => ins.get_all_protos(), + Self::AndIntLit(ins) => ins.get_all_protos(), + Self::OrIntLit(ins) => ins.get_all_protos(), + Self::XorIntLit(ins) => ins.get_all_protos(), + Self::ShlIntLit(ins) => ins.get_all_protos(), + Self::ShrIntLit(ins) => ins.get_all_protos(), + Self::UshrIntLit(ins) => ins.get_all_protos(), + Self::InvokePolymorphic(ins) => ins.get_all_protos(), + Self::InvokeCustom(ins) => ins.get_all_protos(), + Self::ConstMethodHandle(ins) => ins.get_all_protos(), + Self::ConstMethodType(ins) => ins.get_all_protos(), + Self::Try(ins) => ins.get_all_protos(), + Self::Label(ins) => ins.get_all_protos(), + } + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + match self { + Self::Nop(ins) => ins.get_all_field_ids(), + Self::Move(ins) => ins.get_all_field_ids(), + Self::MoveWide(ins) => ins.get_all_field_ids(), + Self::MoveObject(ins) => ins.get_all_field_ids(), + Self::MoveResult(ins) => ins.get_all_field_ids(), + Self::MoveResultWide(ins) => ins.get_all_field_ids(), + Self::MoveException(ins) => ins.get_all_field_ids(), + Self::MoveResultObject(ins) => ins.get_all_field_ids(), + Self::ReturnVoid(ins) => ins.get_all_field_ids(), + Self::Return(ins) => ins.get_all_field_ids(), + Self::ReturnWide(ins) => ins.get_all_field_ids(), + Self::ReturnObject(ins) => ins.get_all_field_ids(), + Self::Const(ins) => ins.get_all_field_ids(), + Self::ConstWide(ins) => ins.get_all_field_ids(), + Self::ConstString(ins) => ins.get_all_field_ids(), + Self::ConstClass(ins) => ins.get_all_field_ids(), + Self::MonitorEnter(ins) => ins.get_all_field_ids(), + Self::MonitorExit(ins) => ins.get_all_field_ids(), + Self::CheckCast(ins) => ins.get_all_field_ids(), + Self::InstanceOf(ins) => ins.get_all_field_ids(), + Self::ArrayLength(ins) => ins.get_all_field_ids(), + Self::NewInstance(ins) => ins.get_all_field_ids(), + Self::NewArray(ins) => ins.get_all_field_ids(), + Self::FilledNewArray(ins) => ins.get_all_field_ids(), + Self::FillArrayData(ins) => ins.get_all_field_ids(), + Self::Throw(ins) => ins.get_all_field_ids(), + Self::Goto(ins) => ins.get_all_field_ids(), + Self::Switch(ins) => ins.get_all_field_ids(), + Self::CmpLFloat(ins) => ins.get_all_field_ids(), + Self::CmpGFloat(ins) => ins.get_all_field_ids(), + Self::CmpLDouble(ins) => ins.get_all_field_ids(), + Self::CmpGDouble(ins) => ins.get_all_field_ids(), + Self::CmpLong(ins) => ins.get_all_field_ids(), + Self::IfEq(ins) => ins.get_all_field_ids(), + Self::IfNe(ins) => ins.get_all_field_ids(), + Self::IfLt(ins) => ins.get_all_field_ids(), + Self::IfGe(ins) => ins.get_all_field_ids(), + Self::IfGt(ins) => ins.get_all_field_ids(), + Self::IfLe(ins) => ins.get_all_field_ids(), + Self::IfEqZ(ins) => ins.get_all_field_ids(), + Self::IfNeZ(ins) => ins.get_all_field_ids(), + Self::IfLtZ(ins) => ins.get_all_field_ids(), + Self::IfGeZ(ins) => ins.get_all_field_ids(), + Self::IfGtZ(ins) => ins.get_all_field_ids(), + Self::IfLeZ(ins) => ins.get_all_field_ids(), + Self::AGet(ins) => ins.get_all_field_ids(), + Self::AGetWide(ins) => ins.get_all_field_ids(), + Self::AGetObject(ins) => ins.get_all_field_ids(), + Self::AGetBoolean(ins) => ins.get_all_field_ids(), + Self::AGetByte(ins) => ins.get_all_field_ids(), + Self::AGetChar(ins) => ins.get_all_field_ids(), + Self::AGetShort(ins) => ins.get_all_field_ids(), + Self::APut(ins) => ins.get_all_field_ids(), + Self::APutWide(ins) => ins.get_all_field_ids(), + Self::APutObject(ins) => ins.get_all_field_ids(), + Self::APutBoolean(ins) => ins.get_all_field_ids(), + Self::APutByte(ins) => ins.get_all_field_ids(), + Self::APutChar(ins) => ins.get_all_field_ids(), + Self::APutShort(ins) => ins.get_all_field_ids(), + Self::IGet(ins) => ins.get_all_field_ids(), + Self::IGetWide(ins) => ins.get_all_field_ids(), + Self::IGetObject(ins) => ins.get_all_field_ids(), + Self::IGetBoolean(ins) => ins.get_all_field_ids(), + Self::IGetByte(ins) => ins.get_all_field_ids(), + Self::IGetChar(ins) => ins.get_all_field_ids(), + Self::IGetShort(ins) => ins.get_all_field_ids(), + Self::IPut(ins) => ins.get_all_field_ids(), + Self::IPutWide(ins) => ins.get_all_field_ids(), + Self::IPutObject(ins) => ins.get_all_field_ids(), + Self::IPutBoolean(ins) => ins.get_all_field_ids(), + Self::IPutByte(ins) => ins.get_all_field_ids(), + Self::IPutChar(ins) => ins.get_all_field_ids(), + Self::IPutShort(ins) => ins.get_all_field_ids(), + Self::SGet(ins) => ins.get_all_field_ids(), + Self::SGetWide(ins) => ins.get_all_field_ids(), + Self::SGetObject(ins) => ins.get_all_field_ids(), + Self::SGetBoolean(ins) => ins.get_all_field_ids(), + Self::SGetByte(ins) => ins.get_all_field_ids(), + Self::SGetChar(ins) => ins.get_all_field_ids(), + Self::SGetShort(ins) => ins.get_all_field_ids(), + Self::SPut(ins) => ins.get_all_field_ids(), + Self::SPutWide(ins) => ins.get_all_field_ids(), + Self::SPutObject(ins) => ins.get_all_field_ids(), + Self::SPutBoolean(ins) => ins.get_all_field_ids(), + Self::SPutByte(ins) => ins.get_all_field_ids(), + Self::SPutChar(ins) => ins.get_all_field_ids(), + Self::SPutShort(ins) => ins.get_all_field_ids(), + Self::InvokeVirtual(ins) => ins.get_all_field_ids(), + Self::InvokeSuper(ins) => ins.get_all_field_ids(), + Self::InvokeDirect(ins) => ins.get_all_field_ids(), + Self::InvokeStatic(ins) => ins.get_all_field_ids(), + Self::InvokeInterface(ins) => ins.get_all_field_ids(), + Self::NegInt(ins) => ins.get_all_field_ids(), + Self::NotInt(ins) => ins.get_all_field_ids(), + Self::NegLong(ins) => ins.get_all_field_ids(), + Self::NotLong(ins) => ins.get_all_field_ids(), + Self::NegFloat(ins) => ins.get_all_field_ids(), + Self::NegDouble(ins) => ins.get_all_field_ids(), + Self::IntToLong(ins) => ins.get_all_field_ids(), + Self::IntToFloat(ins) => ins.get_all_field_ids(), + Self::IntToDouble(ins) => ins.get_all_field_ids(), + Self::LongToInt(ins) => ins.get_all_field_ids(), + Self::LongToFloat(ins) => ins.get_all_field_ids(), + Self::LongToDouble(ins) => ins.get_all_field_ids(), + Self::FloatToInt(ins) => ins.get_all_field_ids(), + Self::FloatToLong(ins) => ins.get_all_field_ids(), + Self::FloatToDouble(ins) => ins.get_all_field_ids(), + Self::DoubleToInt(ins) => ins.get_all_field_ids(), + Self::DoubleToLong(ins) => ins.get_all_field_ids(), + Self::DoubleToFloat(ins) => ins.get_all_field_ids(), + Self::IntToByte(ins) => ins.get_all_field_ids(), + Self::IntToChar(ins) => ins.get_all_field_ids(), + Self::IntToShort(ins) => ins.get_all_field_ids(), + Self::AddInt(ins) => ins.get_all_field_ids(), + Self::SubInt(ins) => ins.get_all_field_ids(), + Self::MulInt(ins) => ins.get_all_field_ids(), + Self::DivInt(ins) => ins.get_all_field_ids(), + Self::RemInt(ins) => ins.get_all_field_ids(), + Self::AndInt(ins) => ins.get_all_field_ids(), + Self::OrInt(ins) => ins.get_all_field_ids(), + Self::XorInt(ins) => ins.get_all_field_ids(), + Self::ShlInt(ins) => ins.get_all_field_ids(), + Self::ShrInt(ins) => ins.get_all_field_ids(), + Self::UshrInt(ins) => ins.get_all_field_ids(), + Self::AddLong(ins) => ins.get_all_field_ids(), + Self::SubLong(ins) => ins.get_all_field_ids(), + Self::MulLong(ins) => ins.get_all_field_ids(), + Self::DivLong(ins) => ins.get_all_field_ids(), + Self::RemLong(ins) => ins.get_all_field_ids(), + Self::AndLong(ins) => ins.get_all_field_ids(), + Self::OrLong(ins) => ins.get_all_field_ids(), + Self::XorLong(ins) => ins.get_all_field_ids(), + Self::ShlLong(ins) => ins.get_all_field_ids(), + Self::ShrLong(ins) => ins.get_all_field_ids(), + Self::UshrLong(ins) => ins.get_all_field_ids(), + Self::AddFloat(ins) => ins.get_all_field_ids(), + Self::SubFloat(ins) => ins.get_all_field_ids(), + Self::MulFloat(ins) => ins.get_all_field_ids(), + Self::DivFloat(ins) => ins.get_all_field_ids(), + Self::RemFloat(ins) => ins.get_all_field_ids(), + Self::AddDouble(ins) => ins.get_all_field_ids(), + Self::SubDouble(ins) => ins.get_all_field_ids(), + Self::MulDouble(ins) => ins.get_all_field_ids(), + Self::DivDouble(ins) => ins.get_all_field_ids(), + Self::RemDouble(ins) => ins.get_all_field_ids(), + Self::AddInt2Addr(ins) => ins.get_all_field_ids(), + Self::SubInt2Addr(ins) => ins.get_all_field_ids(), + Self::MulInt2Addr(ins) => ins.get_all_field_ids(), + Self::DivInt2Addr(ins) => ins.get_all_field_ids(), + Self::RemInt2Addr(ins) => ins.get_all_field_ids(), + Self::AndInt2Addr(ins) => ins.get_all_field_ids(), + Self::OrInt2Addr(ins) => ins.get_all_field_ids(), + Self::XorInt2Addr(ins) => ins.get_all_field_ids(), + Self::ShlInt2Addr(ins) => ins.get_all_field_ids(), + Self::ShrInt2Addr(ins) => ins.get_all_field_ids(), + Self::UshrInt2Addr(ins) => ins.get_all_field_ids(), + Self::AddLong2Addr(ins) => ins.get_all_field_ids(), + Self::SubLong2Addr(ins) => ins.get_all_field_ids(), + Self::MulLong2Addr(ins) => ins.get_all_field_ids(), + Self::DivLong2Addr(ins) => ins.get_all_field_ids(), + Self::RemLong2Addr(ins) => ins.get_all_field_ids(), + Self::AndLong2Addr(ins) => ins.get_all_field_ids(), + Self::OrLong2Addr(ins) => ins.get_all_field_ids(), + Self::XorLong2Addr(ins) => ins.get_all_field_ids(), + Self::ShlLong2Addr(ins) => ins.get_all_field_ids(), + Self::ShrLong2Addr(ins) => ins.get_all_field_ids(), + Self::UshrLong2Addr(ins) => ins.get_all_field_ids(), + Self::AddFloat2Addr(ins) => ins.get_all_field_ids(), + Self::SubFloat2Addr(ins) => ins.get_all_field_ids(), + Self::MulFloat2Addr(ins) => ins.get_all_field_ids(), + Self::DivFloat2Addr(ins) => ins.get_all_field_ids(), + Self::RemFloat2Addr(ins) => ins.get_all_field_ids(), + Self::AddDouble2Addr(ins) => ins.get_all_field_ids(), + Self::SubDouble2Addr(ins) => ins.get_all_field_ids(), + Self::MulDouble2Addr(ins) => ins.get_all_field_ids(), + Self::DivDouble2Addr(ins) => ins.get_all_field_ids(), + Self::RemDouble2Addr(ins) => ins.get_all_field_ids(), + Self::AddIntLit(ins) => ins.get_all_field_ids(), + Self::RsubIntLit(ins) => ins.get_all_field_ids(), + Self::MulIntLit(ins) => ins.get_all_field_ids(), + Self::DivIntLit(ins) => ins.get_all_field_ids(), + Self::RemIntLit(ins) => ins.get_all_field_ids(), + Self::AndIntLit(ins) => ins.get_all_field_ids(), + Self::OrIntLit(ins) => ins.get_all_field_ids(), + Self::XorIntLit(ins) => ins.get_all_field_ids(), + Self::ShlIntLit(ins) => ins.get_all_field_ids(), + Self::ShrIntLit(ins) => ins.get_all_field_ids(), + Self::UshrIntLit(ins) => ins.get_all_field_ids(), + Self::InvokePolymorphic(ins) => ins.get_all_field_ids(), + Self::InvokeCustom(ins) => ins.get_all_field_ids(), + Self::ConstMethodHandle(ins) => ins.get_all_field_ids(), + Self::ConstMethodType(ins) => ins.get_all_field_ids(), + Self::Try(ins) => ins.get_all_field_ids(), + Self::Label(ins) => ins.get_all_field_ids(), + } + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + match self { + Self::Nop(ins) => ins.get_all_method_ids(), + Self::Move(ins) => ins.get_all_method_ids(), + Self::MoveWide(ins) => ins.get_all_method_ids(), + Self::MoveObject(ins) => ins.get_all_method_ids(), + Self::MoveResult(ins) => ins.get_all_method_ids(), + Self::MoveResultWide(ins) => ins.get_all_method_ids(), + Self::MoveException(ins) => ins.get_all_method_ids(), + Self::MoveResultObject(ins) => ins.get_all_method_ids(), + Self::ReturnVoid(ins) => ins.get_all_method_ids(), + Self::Return(ins) => ins.get_all_method_ids(), + Self::ReturnWide(ins) => ins.get_all_method_ids(), + Self::ReturnObject(ins) => ins.get_all_method_ids(), + Self::Const(ins) => ins.get_all_method_ids(), + Self::ConstWide(ins) => ins.get_all_method_ids(), + Self::ConstString(ins) => ins.get_all_method_ids(), + Self::ConstClass(ins) => ins.get_all_method_ids(), + Self::MonitorEnter(ins) => ins.get_all_method_ids(), + Self::MonitorExit(ins) => ins.get_all_method_ids(), + Self::CheckCast(ins) => ins.get_all_method_ids(), + Self::InstanceOf(ins) => ins.get_all_method_ids(), + Self::ArrayLength(ins) => ins.get_all_method_ids(), + Self::NewInstance(ins) => ins.get_all_method_ids(), + Self::NewArray(ins) => ins.get_all_method_ids(), + Self::FilledNewArray(ins) => ins.get_all_method_ids(), + Self::FillArrayData(ins) => ins.get_all_method_ids(), + Self::Throw(ins) => ins.get_all_method_ids(), + Self::Goto(ins) => ins.get_all_method_ids(), + Self::Switch(ins) => ins.get_all_method_ids(), + Self::CmpLFloat(ins) => ins.get_all_method_ids(), + Self::CmpGFloat(ins) => ins.get_all_method_ids(), + Self::CmpLDouble(ins) => ins.get_all_method_ids(), + Self::CmpGDouble(ins) => ins.get_all_method_ids(), + Self::CmpLong(ins) => ins.get_all_method_ids(), + Self::IfEq(ins) => ins.get_all_method_ids(), + Self::IfNe(ins) => ins.get_all_method_ids(), + Self::IfLt(ins) => ins.get_all_method_ids(), + Self::IfGe(ins) => ins.get_all_method_ids(), + Self::IfGt(ins) => ins.get_all_method_ids(), + Self::IfLe(ins) => ins.get_all_method_ids(), + Self::IfEqZ(ins) => ins.get_all_method_ids(), + Self::IfNeZ(ins) => ins.get_all_method_ids(), + Self::IfLtZ(ins) => ins.get_all_method_ids(), + Self::IfGeZ(ins) => ins.get_all_method_ids(), + Self::IfGtZ(ins) => ins.get_all_method_ids(), + Self::IfLeZ(ins) => ins.get_all_method_ids(), + Self::AGet(ins) => ins.get_all_method_ids(), + Self::AGetWide(ins) => ins.get_all_method_ids(), + Self::AGetObject(ins) => ins.get_all_method_ids(), + Self::AGetBoolean(ins) => ins.get_all_method_ids(), + Self::AGetByte(ins) => ins.get_all_method_ids(), + Self::AGetChar(ins) => ins.get_all_method_ids(), + Self::AGetShort(ins) => ins.get_all_method_ids(), + Self::APut(ins) => ins.get_all_method_ids(), + Self::APutWide(ins) => ins.get_all_method_ids(), + Self::APutObject(ins) => ins.get_all_method_ids(), + Self::APutBoolean(ins) => ins.get_all_method_ids(), + Self::APutByte(ins) => ins.get_all_method_ids(), + Self::APutChar(ins) => ins.get_all_method_ids(), + Self::APutShort(ins) => ins.get_all_method_ids(), + Self::IGet(ins) => ins.get_all_method_ids(), + Self::IGetWide(ins) => ins.get_all_method_ids(), + Self::IGetObject(ins) => ins.get_all_method_ids(), + Self::IGetBoolean(ins) => ins.get_all_method_ids(), + Self::IGetByte(ins) => ins.get_all_method_ids(), + Self::IGetChar(ins) => ins.get_all_method_ids(), + Self::IGetShort(ins) => ins.get_all_method_ids(), + Self::IPut(ins) => ins.get_all_method_ids(), + Self::IPutWide(ins) => ins.get_all_method_ids(), + Self::IPutObject(ins) => ins.get_all_method_ids(), + Self::IPutBoolean(ins) => ins.get_all_method_ids(), + Self::IPutByte(ins) => ins.get_all_method_ids(), + Self::IPutChar(ins) => ins.get_all_method_ids(), + Self::IPutShort(ins) => ins.get_all_method_ids(), + Self::SGet(ins) => ins.get_all_method_ids(), + Self::SGetWide(ins) => ins.get_all_method_ids(), + Self::SGetObject(ins) => ins.get_all_method_ids(), + Self::SGetBoolean(ins) => ins.get_all_method_ids(), + Self::SGetByte(ins) => ins.get_all_method_ids(), + Self::SGetChar(ins) => ins.get_all_method_ids(), + Self::SGetShort(ins) => ins.get_all_method_ids(), + Self::SPut(ins) => ins.get_all_method_ids(), + Self::SPutWide(ins) => ins.get_all_method_ids(), + Self::SPutObject(ins) => ins.get_all_method_ids(), + Self::SPutBoolean(ins) => ins.get_all_method_ids(), + Self::SPutByte(ins) => ins.get_all_method_ids(), + Self::SPutChar(ins) => ins.get_all_method_ids(), + Self::SPutShort(ins) => ins.get_all_method_ids(), + Self::InvokeVirtual(ins) => ins.get_all_method_ids(), + Self::InvokeSuper(ins) => ins.get_all_method_ids(), + Self::InvokeDirect(ins) => ins.get_all_method_ids(), + Self::InvokeStatic(ins) => ins.get_all_method_ids(), + Self::InvokeInterface(ins) => ins.get_all_method_ids(), + Self::NegInt(ins) => ins.get_all_method_ids(), + Self::NotInt(ins) => ins.get_all_method_ids(), + Self::NegLong(ins) => ins.get_all_method_ids(), + Self::NotLong(ins) => ins.get_all_method_ids(), + Self::NegFloat(ins) => ins.get_all_method_ids(), + Self::NegDouble(ins) => ins.get_all_method_ids(), + Self::IntToLong(ins) => ins.get_all_method_ids(), + Self::IntToFloat(ins) => ins.get_all_method_ids(), + Self::IntToDouble(ins) => ins.get_all_method_ids(), + Self::LongToInt(ins) => ins.get_all_method_ids(), + Self::LongToFloat(ins) => ins.get_all_method_ids(), + Self::LongToDouble(ins) => ins.get_all_method_ids(), + Self::FloatToInt(ins) => ins.get_all_method_ids(), + Self::FloatToLong(ins) => ins.get_all_method_ids(), + Self::FloatToDouble(ins) => ins.get_all_method_ids(), + Self::DoubleToInt(ins) => ins.get_all_method_ids(), + Self::DoubleToLong(ins) => ins.get_all_method_ids(), + Self::DoubleToFloat(ins) => ins.get_all_method_ids(), + Self::IntToByte(ins) => ins.get_all_method_ids(), + Self::IntToChar(ins) => ins.get_all_method_ids(), + Self::IntToShort(ins) => ins.get_all_method_ids(), + Self::AddInt(ins) => ins.get_all_method_ids(), + Self::SubInt(ins) => ins.get_all_method_ids(), + Self::MulInt(ins) => ins.get_all_method_ids(), + Self::DivInt(ins) => ins.get_all_method_ids(), + Self::RemInt(ins) => ins.get_all_method_ids(), + Self::AndInt(ins) => ins.get_all_method_ids(), + Self::OrInt(ins) => ins.get_all_method_ids(), + Self::XorInt(ins) => ins.get_all_method_ids(), + Self::ShlInt(ins) => ins.get_all_method_ids(), + Self::ShrInt(ins) => ins.get_all_method_ids(), + Self::UshrInt(ins) => ins.get_all_method_ids(), + Self::AddLong(ins) => ins.get_all_method_ids(), + Self::SubLong(ins) => ins.get_all_method_ids(), + Self::MulLong(ins) => ins.get_all_method_ids(), + Self::DivLong(ins) => ins.get_all_method_ids(), + Self::RemLong(ins) => ins.get_all_method_ids(), + Self::AndLong(ins) => ins.get_all_method_ids(), + Self::OrLong(ins) => ins.get_all_method_ids(), + Self::XorLong(ins) => ins.get_all_method_ids(), + Self::ShlLong(ins) => ins.get_all_method_ids(), + Self::ShrLong(ins) => ins.get_all_method_ids(), + Self::UshrLong(ins) => ins.get_all_method_ids(), + Self::AddFloat(ins) => ins.get_all_method_ids(), + Self::SubFloat(ins) => ins.get_all_method_ids(), + Self::MulFloat(ins) => ins.get_all_method_ids(), + Self::DivFloat(ins) => ins.get_all_method_ids(), + Self::RemFloat(ins) => ins.get_all_method_ids(), + Self::AddDouble(ins) => ins.get_all_method_ids(), + Self::SubDouble(ins) => ins.get_all_method_ids(), + Self::MulDouble(ins) => ins.get_all_method_ids(), + Self::DivDouble(ins) => ins.get_all_method_ids(), + Self::RemDouble(ins) => ins.get_all_method_ids(), + Self::AddInt2Addr(ins) => ins.get_all_method_ids(), + Self::SubInt2Addr(ins) => ins.get_all_method_ids(), + Self::MulInt2Addr(ins) => ins.get_all_method_ids(), + Self::DivInt2Addr(ins) => ins.get_all_method_ids(), + Self::RemInt2Addr(ins) => ins.get_all_method_ids(), + Self::AndInt2Addr(ins) => ins.get_all_method_ids(), + Self::OrInt2Addr(ins) => ins.get_all_method_ids(), + Self::XorInt2Addr(ins) => ins.get_all_method_ids(), + Self::ShlInt2Addr(ins) => ins.get_all_method_ids(), + Self::ShrInt2Addr(ins) => ins.get_all_method_ids(), + Self::UshrInt2Addr(ins) => ins.get_all_method_ids(), + Self::AddLong2Addr(ins) => ins.get_all_method_ids(), + Self::SubLong2Addr(ins) => ins.get_all_method_ids(), + Self::MulLong2Addr(ins) => ins.get_all_method_ids(), + Self::DivLong2Addr(ins) => ins.get_all_method_ids(), + Self::RemLong2Addr(ins) => ins.get_all_method_ids(), + Self::AndLong2Addr(ins) => ins.get_all_method_ids(), + Self::OrLong2Addr(ins) => ins.get_all_method_ids(), + Self::XorLong2Addr(ins) => ins.get_all_method_ids(), + Self::ShlLong2Addr(ins) => ins.get_all_method_ids(), + Self::ShrLong2Addr(ins) => ins.get_all_method_ids(), + Self::UshrLong2Addr(ins) => ins.get_all_method_ids(), + Self::AddFloat2Addr(ins) => ins.get_all_method_ids(), + Self::SubFloat2Addr(ins) => ins.get_all_method_ids(), + Self::MulFloat2Addr(ins) => ins.get_all_method_ids(), + Self::DivFloat2Addr(ins) => ins.get_all_method_ids(), + Self::RemFloat2Addr(ins) => ins.get_all_method_ids(), + Self::AddDouble2Addr(ins) => ins.get_all_method_ids(), + Self::SubDouble2Addr(ins) => ins.get_all_method_ids(), + Self::MulDouble2Addr(ins) => ins.get_all_method_ids(), + Self::DivDouble2Addr(ins) => ins.get_all_method_ids(), + Self::RemDouble2Addr(ins) => ins.get_all_method_ids(), + Self::AddIntLit(ins) => ins.get_all_method_ids(), + Self::RsubIntLit(ins) => ins.get_all_method_ids(), + Self::MulIntLit(ins) => ins.get_all_method_ids(), + Self::DivIntLit(ins) => ins.get_all_method_ids(), + Self::RemIntLit(ins) => ins.get_all_method_ids(), + Self::AndIntLit(ins) => ins.get_all_method_ids(), + Self::OrIntLit(ins) => ins.get_all_method_ids(), + Self::XorIntLit(ins) => ins.get_all_method_ids(), + Self::ShlIntLit(ins) => ins.get_all_method_ids(), + Self::ShrIntLit(ins) => ins.get_all_method_ids(), + Self::UshrIntLit(ins) => ins.get_all_method_ids(), + Self::InvokePolymorphic(ins) => ins.get_all_method_ids(), + Self::InvokeCustom(ins) => ins.get_all_method_ids(), + Self::ConstMethodHandle(ins) => ins.get_all_method_ids(), + Self::ConstMethodType(ins) => ins.get_all_method_ids(), + Self::Try(ins) => ins.get_all_method_ids(), + Self::Label(ins) => ins.get_all_method_ids(), + } + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + match self { + Self::Nop(ins) => ins.get_all_method_handles(), + Self::Move(ins) => ins.get_all_method_handles(), + Self::MoveWide(ins) => ins.get_all_method_handles(), + Self::MoveObject(ins) => ins.get_all_method_handles(), + Self::MoveResult(ins) => ins.get_all_method_handles(), + Self::MoveResultWide(ins) => ins.get_all_method_handles(), + Self::MoveException(ins) => ins.get_all_method_handles(), + Self::MoveResultObject(ins) => ins.get_all_method_handles(), + Self::ReturnVoid(ins) => ins.get_all_method_handles(), + Self::Return(ins) => ins.get_all_method_handles(), + Self::ReturnWide(ins) => ins.get_all_method_handles(), + Self::ReturnObject(ins) => ins.get_all_method_handles(), + Self::Const(ins) => ins.get_all_method_handles(), + Self::ConstWide(ins) => ins.get_all_method_handles(), + Self::ConstString(ins) => ins.get_all_method_handles(), + Self::ConstClass(ins) => ins.get_all_method_handles(), + Self::MonitorEnter(ins) => ins.get_all_method_handles(), + Self::MonitorExit(ins) => ins.get_all_method_handles(), + Self::CheckCast(ins) => ins.get_all_method_handles(), + Self::InstanceOf(ins) => ins.get_all_method_handles(), + Self::ArrayLength(ins) => ins.get_all_method_handles(), + Self::NewInstance(ins) => ins.get_all_method_handles(), + Self::NewArray(ins) => ins.get_all_method_handles(), + Self::FilledNewArray(ins) => ins.get_all_method_handles(), + Self::FillArrayData(ins) => ins.get_all_method_handles(), + Self::Throw(ins) => ins.get_all_method_handles(), + Self::Goto(ins) => ins.get_all_method_handles(), + Self::Switch(ins) => ins.get_all_method_handles(), + Self::CmpLFloat(ins) => ins.get_all_method_handles(), + Self::CmpGFloat(ins) => ins.get_all_method_handles(), + Self::CmpLDouble(ins) => ins.get_all_method_handles(), + Self::CmpGDouble(ins) => ins.get_all_method_handles(), + Self::CmpLong(ins) => ins.get_all_method_handles(), + Self::IfEq(ins) => ins.get_all_method_handles(), + Self::IfNe(ins) => ins.get_all_method_handles(), + Self::IfLt(ins) => ins.get_all_method_handles(), + Self::IfGe(ins) => ins.get_all_method_handles(), + Self::IfGt(ins) => ins.get_all_method_handles(), + Self::IfLe(ins) => ins.get_all_method_handles(), + Self::IfEqZ(ins) => ins.get_all_method_handles(), + Self::IfNeZ(ins) => ins.get_all_method_handles(), + Self::IfLtZ(ins) => ins.get_all_method_handles(), + Self::IfGeZ(ins) => ins.get_all_method_handles(), + Self::IfGtZ(ins) => ins.get_all_method_handles(), + Self::IfLeZ(ins) => ins.get_all_method_handles(), + Self::AGet(ins) => ins.get_all_method_handles(), + Self::AGetWide(ins) => ins.get_all_method_handles(), + Self::AGetObject(ins) => ins.get_all_method_handles(), + Self::AGetBoolean(ins) => ins.get_all_method_handles(), + Self::AGetByte(ins) => ins.get_all_method_handles(), + Self::AGetChar(ins) => ins.get_all_method_handles(), + Self::AGetShort(ins) => ins.get_all_method_handles(), + Self::APut(ins) => ins.get_all_method_handles(), + Self::APutWide(ins) => ins.get_all_method_handles(), + Self::APutObject(ins) => ins.get_all_method_handles(), + Self::APutBoolean(ins) => ins.get_all_method_handles(), + Self::APutByte(ins) => ins.get_all_method_handles(), + Self::APutChar(ins) => ins.get_all_method_handles(), + Self::APutShort(ins) => ins.get_all_method_handles(), + Self::IGet(ins) => ins.get_all_method_handles(), + Self::IGetWide(ins) => ins.get_all_method_handles(), + Self::IGetObject(ins) => ins.get_all_method_handles(), + Self::IGetBoolean(ins) => ins.get_all_method_handles(), + Self::IGetByte(ins) => ins.get_all_method_handles(), + Self::IGetChar(ins) => ins.get_all_method_handles(), + Self::IGetShort(ins) => ins.get_all_method_handles(), + Self::IPut(ins) => ins.get_all_method_handles(), + Self::IPutWide(ins) => ins.get_all_method_handles(), + Self::IPutObject(ins) => ins.get_all_method_handles(), + Self::IPutBoolean(ins) => ins.get_all_method_handles(), + Self::IPutByte(ins) => ins.get_all_method_handles(), + Self::IPutChar(ins) => ins.get_all_method_handles(), + Self::IPutShort(ins) => ins.get_all_method_handles(), + Self::SGet(ins) => ins.get_all_method_handles(), + Self::SGetWide(ins) => ins.get_all_method_handles(), + Self::SGetObject(ins) => ins.get_all_method_handles(), + Self::SGetBoolean(ins) => ins.get_all_method_handles(), + Self::SGetByte(ins) => ins.get_all_method_handles(), + Self::SGetChar(ins) => ins.get_all_method_handles(), + Self::SGetShort(ins) => ins.get_all_method_handles(), + Self::SPut(ins) => ins.get_all_method_handles(), + Self::SPutWide(ins) => ins.get_all_method_handles(), + Self::SPutObject(ins) => ins.get_all_method_handles(), + Self::SPutBoolean(ins) => ins.get_all_method_handles(), + Self::SPutByte(ins) => ins.get_all_method_handles(), + Self::SPutChar(ins) => ins.get_all_method_handles(), + Self::SPutShort(ins) => ins.get_all_method_handles(), + Self::InvokeVirtual(ins) => ins.get_all_method_handles(), + Self::InvokeSuper(ins) => ins.get_all_method_handles(), + Self::InvokeDirect(ins) => ins.get_all_method_handles(), + Self::InvokeStatic(ins) => ins.get_all_method_handles(), + Self::InvokeInterface(ins) => ins.get_all_method_handles(), + Self::NegInt(ins) => ins.get_all_method_handles(), + Self::NotInt(ins) => ins.get_all_method_handles(), + Self::NegLong(ins) => ins.get_all_method_handles(), + Self::NotLong(ins) => ins.get_all_method_handles(), + Self::NegFloat(ins) => ins.get_all_method_handles(), + Self::NegDouble(ins) => ins.get_all_method_handles(), + Self::IntToLong(ins) => ins.get_all_method_handles(), + Self::IntToFloat(ins) => ins.get_all_method_handles(), + Self::IntToDouble(ins) => ins.get_all_method_handles(), + Self::LongToInt(ins) => ins.get_all_method_handles(), + Self::LongToFloat(ins) => ins.get_all_method_handles(), + Self::LongToDouble(ins) => ins.get_all_method_handles(), + Self::FloatToInt(ins) => ins.get_all_method_handles(), + Self::FloatToLong(ins) => ins.get_all_method_handles(), + Self::FloatToDouble(ins) => ins.get_all_method_handles(), + Self::DoubleToInt(ins) => ins.get_all_method_handles(), + Self::DoubleToLong(ins) => ins.get_all_method_handles(), + Self::DoubleToFloat(ins) => ins.get_all_method_handles(), + Self::IntToByte(ins) => ins.get_all_method_handles(), + Self::IntToChar(ins) => ins.get_all_method_handles(), + Self::IntToShort(ins) => ins.get_all_method_handles(), + Self::AddInt(ins) => ins.get_all_method_handles(), + Self::SubInt(ins) => ins.get_all_method_handles(), + Self::MulInt(ins) => ins.get_all_method_handles(), + Self::DivInt(ins) => ins.get_all_method_handles(), + Self::RemInt(ins) => ins.get_all_method_handles(), + Self::AndInt(ins) => ins.get_all_method_handles(), + Self::OrInt(ins) => ins.get_all_method_handles(), + Self::XorInt(ins) => ins.get_all_method_handles(), + Self::ShlInt(ins) => ins.get_all_method_handles(), + Self::ShrInt(ins) => ins.get_all_method_handles(), + Self::UshrInt(ins) => ins.get_all_method_handles(), + Self::AddLong(ins) => ins.get_all_method_handles(), + Self::SubLong(ins) => ins.get_all_method_handles(), + Self::MulLong(ins) => ins.get_all_method_handles(), + Self::DivLong(ins) => ins.get_all_method_handles(), + Self::RemLong(ins) => ins.get_all_method_handles(), + Self::AndLong(ins) => ins.get_all_method_handles(), + Self::OrLong(ins) => ins.get_all_method_handles(), + Self::XorLong(ins) => ins.get_all_method_handles(), + Self::ShlLong(ins) => ins.get_all_method_handles(), + Self::ShrLong(ins) => ins.get_all_method_handles(), + Self::UshrLong(ins) => ins.get_all_method_handles(), + Self::AddFloat(ins) => ins.get_all_method_handles(), + Self::SubFloat(ins) => ins.get_all_method_handles(), + Self::MulFloat(ins) => ins.get_all_method_handles(), + Self::DivFloat(ins) => ins.get_all_method_handles(), + Self::RemFloat(ins) => ins.get_all_method_handles(), + Self::AddDouble(ins) => ins.get_all_method_handles(), + Self::SubDouble(ins) => ins.get_all_method_handles(), + Self::MulDouble(ins) => ins.get_all_method_handles(), + Self::DivDouble(ins) => ins.get_all_method_handles(), + Self::RemDouble(ins) => ins.get_all_method_handles(), + Self::AddInt2Addr(ins) => ins.get_all_method_handles(), + Self::SubInt2Addr(ins) => ins.get_all_method_handles(), + Self::MulInt2Addr(ins) => ins.get_all_method_handles(), + Self::DivInt2Addr(ins) => ins.get_all_method_handles(), + Self::RemInt2Addr(ins) => ins.get_all_method_handles(), + Self::AndInt2Addr(ins) => ins.get_all_method_handles(), + Self::OrInt2Addr(ins) => ins.get_all_method_handles(), + Self::XorInt2Addr(ins) => ins.get_all_method_handles(), + Self::ShlInt2Addr(ins) => ins.get_all_method_handles(), + Self::ShrInt2Addr(ins) => ins.get_all_method_handles(), + Self::UshrInt2Addr(ins) => ins.get_all_method_handles(), + Self::AddLong2Addr(ins) => ins.get_all_method_handles(), + Self::SubLong2Addr(ins) => ins.get_all_method_handles(), + Self::MulLong2Addr(ins) => ins.get_all_method_handles(), + Self::DivLong2Addr(ins) => ins.get_all_method_handles(), + Self::RemLong2Addr(ins) => ins.get_all_method_handles(), + Self::AndLong2Addr(ins) => ins.get_all_method_handles(), + Self::OrLong2Addr(ins) => ins.get_all_method_handles(), + Self::XorLong2Addr(ins) => ins.get_all_method_handles(), + Self::ShlLong2Addr(ins) => ins.get_all_method_handles(), + Self::ShrLong2Addr(ins) => ins.get_all_method_handles(), + Self::UshrLong2Addr(ins) => ins.get_all_method_handles(), + Self::AddFloat2Addr(ins) => ins.get_all_method_handles(), + Self::SubFloat2Addr(ins) => ins.get_all_method_handles(), + Self::MulFloat2Addr(ins) => ins.get_all_method_handles(), + Self::DivFloat2Addr(ins) => ins.get_all_method_handles(), + Self::RemFloat2Addr(ins) => ins.get_all_method_handles(), + Self::AddDouble2Addr(ins) => ins.get_all_method_handles(), + Self::SubDouble2Addr(ins) => ins.get_all_method_handles(), + Self::MulDouble2Addr(ins) => ins.get_all_method_handles(), + Self::DivDouble2Addr(ins) => ins.get_all_method_handles(), + Self::RemDouble2Addr(ins) => ins.get_all_method_handles(), + Self::AddIntLit(ins) => ins.get_all_method_handles(), + Self::RsubIntLit(ins) => ins.get_all_method_handles(), + Self::MulIntLit(ins) => ins.get_all_method_handles(), + Self::DivIntLit(ins) => ins.get_all_method_handles(), + Self::RemIntLit(ins) => ins.get_all_method_handles(), + Self::AndIntLit(ins) => ins.get_all_method_handles(), + Self::OrIntLit(ins) => ins.get_all_method_handles(), + Self::XorIntLit(ins) => ins.get_all_method_handles(), + Self::ShlIntLit(ins) => ins.get_all_method_handles(), + Self::ShrIntLit(ins) => ins.get_all_method_handles(), + Self::UshrIntLit(ins) => ins.get_all_method_handles(), + Self::InvokePolymorphic(ins) => ins.get_all_method_handles(), + Self::InvokeCustom(ins) => ins.get_all_method_handles(), + Self::ConstMethodHandle(ins) => ins.get_all_method_handles(), + Self::ConstMethodType(ins) => ins.get_all_method_handles(), + Self::Try(ins) => ins.get_all_method_handles(), + Self::Label(ins) => ins.get_all_method_handles(), + } + } } impl<'source> FromPyObject<'source> for Instruction { @@ -2317,6 +3518,70 @@ impl CallSite { args ) } + + /// Return all strings referenced in the call site. + pub fn get_all_strings(&self) -> HashSet { + let mut strings = HashSet::new(); + strings.insert(self.name.clone()); + strings.extend(self.method_handle.get_all_strings()); + strings.extend(self.type_.get_all_strings()); + for arg in &self.args { + strings.extend(arg.get_all_strings()); + } + strings + } + + /// Return all types referenced in the call site. + pub fn get_all_types(&self) -> HashSet { + let mut type_ids = HashSet::new(); + type_ids.extend(self.method_handle.get_all_types()); + type_ids.extend(self.type_.get_all_types()); + for arg in &self.args { + type_ids.extend(arg.get_all_types()); + } + type_ids + } + + /// Return all prototypes referenced in the call site. + pub fn get_all_protos(&self) -> HashSet { + let mut protos = HashSet::new(); + protos.extend(self.method_handle.get_all_protos()); + protos.insert(self.type_.clone()); + for arg in &self.args { + protos.extend(arg.get_all_protos()); + } + protos + } + + /// Return all field ids referenced in the call site. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.extend(self.method_handle.get_all_field_ids()); + for arg in &self.args { + fields.extend(arg.get_all_field_ids()); + } + fields + } + + /// Return all method ids referenced in the call site. + pub fn get_all_method_ids(&self) -> HashSet { + let mut methods = HashSet::new(); + methods.extend(self.method_handle.get_all_method_ids()); + for arg in &self.args { + methods.extend(arg.get_all_method_ids()); + } + methods + } + + /// Return all method handles referenced in the call site. + pub fn get_all_method_handles(&self) -> HashSet { + let mut handles = HashSet::new(); + handles.insert(self.method_handle.clone()); + for arg in &self.args { + handles.extend(arg.get_all_method_handles()); + } + handles + } } /// Waste a cycle. @@ -2377,6 +3642,36 @@ impl Nop { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl Nop { @@ -2448,6 +3743,36 @@ impl Move { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl Move { @@ -2534,7 +3859,38 @@ impl MoveWide { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl MoveWide { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -2619,7 +3975,38 @@ impl MoveObject { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl MoveObject { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -2696,7 +4083,38 @@ impl MoveResult { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl MoveResult { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -2760,7 +4178,38 @@ impl MoveResultWide { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl MoveResultWide { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -2824,6 +4273,36 @@ impl MoveResultObject { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MoveResultObject { @@ -2889,7 +4368,38 @@ impl MoveException { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl MoveException { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -2957,7 +4467,38 @@ impl ReturnVoid { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl ReturnVoid { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -3018,7 +4559,38 @@ impl Return { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl Return { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -3082,7 +4654,38 @@ impl ReturnWide { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl ReturnWide { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -3146,6 +4749,36 @@ impl ReturnObject { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ReturnObject { @@ -3220,6 +4853,36 @@ impl Const { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl Const { @@ -3312,6 +4975,36 @@ impl ConstWide { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ConstWide { @@ -3395,6 +5088,38 @@ impl ConstString { pub fn max_ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + let mut strings = HashSet::new(); + strings.insert(self.lit.clone()); + strings + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ConstString { @@ -3473,6 +5198,38 @@ impl ConstClass { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.lit.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = HashSet::new(); + types.insert(self.lit.clone()); + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ConstClass { @@ -3539,6 +5296,36 @@ impl MonitorEnter { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MonitorEnter { @@ -3604,6 +5391,36 @@ impl MonitorExit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MonitorExit { @@ -3675,7 +5492,40 @@ impl CheckCast { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.lit.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = HashSet::new(); + types.insert(self.lit.clone()); + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl CheckCast { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self, type_idx: usize) -> InsFormat { @@ -3771,6 +5621,38 @@ impl InstanceOf { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.lit.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = HashSet::new(); + types.insert(self.lit.clone()); + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl InstanceOf { @@ -3858,6 +5740,36 @@ impl ArrayLength { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ArrayLength { @@ -3929,6 +5841,38 @@ impl NewInstance { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.lit.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = HashSet::new(); + types.insert(self.lit.clone()); + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NewInstance { @@ -4025,6 +5969,38 @@ impl NewArray { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.lit.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = HashSet::new(); + types.insert(self.lit.clone()); + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NewArray { @@ -4161,6 +6137,38 @@ impl FilledNewArray { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.type_.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = HashSet::new(); + types.insert(self.type_.clone()); + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl FilledNewArray { @@ -4303,6 +6311,7 @@ impl FillArrayData { }; format!("Instruction(FillArrayData({}, [{}]))", self.arr, data) } + /// Return the smallest size possible for the associated instruction. /// /// # Warning @@ -4335,7 +6344,38 @@ impl FillArrayData { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl FillArrayData { /// Return the raw instruction ([`InsFormat`]). /// @@ -4402,7 +6442,38 @@ impl Throw { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl Throw { /// Return the raw instruction ([`InsFormat`]). pub fn get_raw_ins(&self) -> InsFormat { @@ -4455,7 +6526,38 @@ impl Goto { pub fn max_ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl Goto { /// Return the raw instruction ([`InsFormat`]). /// @@ -4597,7 +6699,38 @@ impl Switch { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl Switch { /// Return the raw instruction ([`InsFormat`]). /// @@ -4673,6 +6806,36 @@ impl CmpLFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl CmpLFloat { @@ -4750,6 +6913,36 @@ impl CmpGFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl CmpGFloat { @@ -4827,6 +7020,36 @@ impl CmpLDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl CmpLDouble { @@ -4904,6 +7127,36 @@ impl CmpGDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl CmpGDouble { @@ -4980,6 +7233,36 @@ impl CmpLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl CmpLong { @@ -5067,6 +7350,36 @@ impl IfEq { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfEq { /// Return the raw instruction ([`InsFormat`]). @@ -5156,7 +7469,38 @@ impl IfNe { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl IfNe { /// Return the raw instruction ([`InsFormat`]). /// @@ -5245,7 +7589,38 @@ impl IfLt { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl IfLt { /// Return the raw instruction ([`InsFormat`]). /// @@ -5334,7 +7709,38 @@ impl IfGe { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl IfGe { /// Return the raw instruction ([`InsFormat`]). /// @@ -5423,7 +7829,38 @@ impl IfGt { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } + impl IfGt { /// Return the raw instruction ([`InsFormat`]). /// @@ -5512,6 +7949,36 @@ impl IfLe { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfLe { @@ -5596,6 +8063,36 @@ impl IfEqZ { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfEqZ { @@ -5679,6 +8176,36 @@ impl IfNeZ { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfNeZ { @@ -5762,6 +8289,36 @@ impl IfLtZ { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfLtZ { @@ -5845,6 +8402,36 @@ impl IfGeZ { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfGeZ { @@ -5928,6 +8515,36 @@ impl IfGtZ { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfGtZ { @@ -6011,6 +8628,36 @@ impl IfLeZ { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IfLeZ { @@ -6085,6 +8732,36 @@ impl AGet { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AGet { @@ -6157,6 +8834,36 @@ impl AGetWide { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AGetWide { @@ -6229,6 +8936,36 @@ impl AGetObject { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AGetObject { @@ -6301,6 +9038,36 @@ impl AGetBoolean { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AGetBoolean { @@ -6373,6 +9140,36 @@ impl AGetByte { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AGetByte { @@ -6445,6 +9242,36 @@ impl AGetChar { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AGetChar { @@ -6517,6 +9344,36 @@ impl AGetShort { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AGetShort { @@ -6589,6 +9446,36 @@ impl APut { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl APut { @@ -6661,6 +9548,36 @@ impl APutWide { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl APutWide { @@ -6733,6 +9650,36 @@ impl APutObject { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl APutObject { @@ -6805,6 +9752,36 @@ impl APutBoolean { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl APutBoolean { @@ -6877,6 +9854,36 @@ impl APutByte { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl APutByte { @@ -6949,6 +9956,36 @@ impl APutChar { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl APutChar { @@ -7021,6 +10058,36 @@ impl APutShort { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl APutShort { @@ -7115,6 +10182,38 @@ impl IGet { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IGet { @@ -7217,6 +10316,38 @@ impl IGetWide { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IGetWide { @@ -7318,6 +10449,38 @@ impl IGetObject { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IGetObject { @@ -7387,6 +10550,7 @@ impl IGetBoolean { self.field.__repr__() ) } + /// Return the smallest size possible for the associated instruction. /// /// # Warning @@ -7419,6 +10583,38 @@ impl IGetBoolean { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IGetBoolean { @@ -7520,6 +10716,38 @@ impl IGetByte { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IGetByte { @@ -7621,6 +10849,38 @@ impl IGetChar { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IGetChar { @@ -7722,6 +10982,38 @@ impl IGetShort { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IGetShort { @@ -7818,6 +11110,38 @@ impl IPut { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IPut { @@ -7920,6 +11244,38 @@ impl IPutWide { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IPutWide { @@ -8021,6 +11377,38 @@ impl IPutObject { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IPutObject { @@ -8122,6 +11510,38 @@ impl IPutBoolean { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IPutBoolean { @@ -8223,6 +11643,38 @@ impl IPutByte { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IPutByte { @@ -8324,6 +11776,38 @@ impl IPutChar { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IPutChar { @@ -8425,6 +11909,38 @@ impl IPutShort { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IPutShort { @@ -8495,6 +12011,38 @@ impl SGet { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SGet { @@ -8568,6 +12116,38 @@ impl SGetWide { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SGetWide { @@ -8641,6 +12221,38 @@ impl SGetObject { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SGetObject { @@ -8714,6 +12326,38 @@ impl SGetBoolean { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SGetBoolean { @@ -8787,6 +12431,38 @@ impl SGetByte { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SGetByte { @@ -8860,6 +12536,38 @@ impl SGetChar { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SGetChar { @@ -8933,6 +12641,38 @@ impl SGetShort { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SGetShort { @@ -9006,6 +12746,38 @@ impl SPut { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SPut { @@ -9080,6 +12852,38 @@ impl SPutWide { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SPutWide { @@ -9153,6 +12957,38 @@ impl SPutObject { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SPutObject { @@ -9226,6 +13062,38 @@ impl SPutBoolean { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SPutBoolean { @@ -9299,6 +13167,38 @@ impl SPutByte { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SPutByte { @@ -9372,6 +13272,38 @@ impl SPutChar { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SPutChar { @@ -9445,6 +13377,38 @@ impl SPutShort { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.field.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.field.get_all_types() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + let mut fields = HashSet::new(); + fields.insert(self.field.clone()); + fields + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SPutShort { @@ -9565,6 +13529,38 @@ impl InvokeVirtual { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.method.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.method.get_all_types() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + self.method.get_all_protos() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + let mut methods = HashSet::new(); + methods.insert(self.method.clone()); + methods + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl InvokeVirtual { @@ -9738,6 +13734,38 @@ impl InvokeSuper { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.method.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.method.get_all_types() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + self.method.get_all_protos() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + let mut methods = HashSet::new(); + methods.insert(self.method.clone()); + methods + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl InvokeSuper { @@ -9911,6 +13939,38 @@ impl InvokeDirect { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.method.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.method.get_all_types() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + self.method.get_all_protos() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + let mut methods = HashSet::new(); + methods.insert(self.method.clone()); + methods + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl InvokeDirect { @@ -10084,6 +14144,38 @@ impl InvokeStatic { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.method.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.method.get_all_types() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + self.method.get_all_protos() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + let mut methods = HashSet::new(); + methods.insert(self.method.clone()); + methods + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl InvokeStatic { @@ -10257,6 +14349,38 @@ impl InvokeInterface { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.method.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.method.get_all_types() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + self.method.get_all_protos() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + let mut methods = HashSet::new(); + methods.insert(self.method.clone()); + methods + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl InvokeInterface { @@ -10399,6 +14523,36 @@ impl NegInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NegInt { @@ -10486,6 +14640,36 @@ impl NotInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NotInt { @@ -10573,6 +14757,36 @@ impl NegLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NegLong { @@ -10660,6 +14874,36 @@ impl NotLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NotLong { @@ -10747,6 +14991,36 @@ impl NegFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NegFloat { @@ -10834,6 +15108,36 @@ impl NegDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl NegDouble { @@ -10923,6 +15227,36 @@ impl IntToLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IntToLong { @@ -11010,6 +15344,36 @@ impl IntToFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IntToFloat { @@ -11099,6 +15463,36 @@ impl IntToDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IntToDouble { @@ -11188,6 +15582,36 @@ impl LongToInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl LongToInt { @@ -11277,6 +15701,36 @@ impl LongToFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl LongToFloat { @@ -11366,6 +15820,36 @@ impl LongToDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl LongToDouble { @@ -11453,6 +15937,36 @@ impl FloatToInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl FloatToInt { @@ -11542,6 +16056,36 @@ impl FloatToLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl FloatToLong { @@ -11631,6 +16175,36 @@ impl FloatToDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl FloatToDouble { @@ -11720,6 +16294,36 @@ impl DoubleToInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DoubleToInt { @@ -11809,6 +16413,36 @@ impl DoubleToLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DoubleToLong { @@ -11898,6 +16532,36 @@ impl DoubleToFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DoubleToFloat { @@ -11985,6 +16649,36 @@ impl IntToByte { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IntToByte { @@ -12072,6 +16766,36 @@ impl IntToChar { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IntToChar { @@ -12159,6 +16883,36 @@ impl IntToShort { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl IntToShort { @@ -12227,6 +16981,36 @@ impl AddInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddInt { @@ -12296,6 +17080,36 @@ impl SubInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubInt { @@ -12365,6 +17179,36 @@ impl MulInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulInt { @@ -12434,6 +17278,36 @@ impl DivInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivInt { @@ -12503,6 +17377,36 @@ impl RemInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemInt { @@ -12572,6 +17476,36 @@ impl AndInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AndInt { @@ -12641,6 +17575,36 @@ impl OrInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl OrInt { @@ -12710,6 +17674,36 @@ impl XorInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl XorInt { @@ -12779,6 +17773,36 @@ impl ShlInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShlInt { @@ -12848,6 +17872,36 @@ impl ShrInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShrInt { @@ -12920,6 +17974,36 @@ impl UshrInt { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl UshrInt { @@ -12994,6 +18078,36 @@ impl AddLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddLong { @@ -13068,6 +18182,36 @@ impl SubLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubLong { @@ -13142,6 +18286,36 @@ impl MulLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulLong { @@ -13216,6 +18390,36 @@ impl DivLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivLong { @@ -13290,6 +18494,36 @@ impl RemLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemLong { @@ -13364,6 +18598,36 @@ impl AndLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AndLong { @@ -13435,6 +18699,36 @@ impl OrLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl OrLong { @@ -13509,6 +18803,36 @@ impl XorLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl XorLong { @@ -13583,6 +18907,36 @@ impl ShlLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShlLong { @@ -13657,6 +19011,36 @@ impl ShrLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShrLong { @@ -13731,6 +19115,36 @@ impl UshrLong { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl UshrLong { @@ -13803,6 +19217,36 @@ impl AddFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddFloat { @@ -13875,6 +19319,36 @@ impl SubFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubFloat { @@ -13947,6 +19421,36 @@ impl MulFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulFloat { @@ -14019,6 +19523,36 @@ impl DivFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivFloat { @@ -14091,6 +19625,36 @@ impl RemFloat { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemFloat { @@ -14165,6 +19729,36 @@ impl AddDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddDouble { @@ -14239,6 +19833,36 @@ impl SubDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubDouble { @@ -14313,6 +19937,36 @@ impl MulDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulDouble { @@ -14387,6 +20041,36 @@ impl DivDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivDouble { @@ -14461,6 +20145,36 @@ impl RemDouble { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemDouble { @@ -14549,6 +20263,36 @@ impl AddInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddInt2Addr { @@ -14636,6 +20380,36 @@ impl SubInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubInt2Addr { @@ -14723,6 +20497,36 @@ impl MulInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulInt2Addr { @@ -14810,6 +20614,36 @@ impl DivInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivInt2Addr { @@ -14897,6 +20731,36 @@ impl RemInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemInt2Addr { @@ -14984,6 +20848,36 @@ impl AndInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AndInt2Addr { @@ -15071,6 +20965,36 @@ impl OrInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl OrInt2Addr { @@ -15158,6 +21082,36 @@ impl XorInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl XorInt2Addr { @@ -15245,6 +21199,36 @@ impl ShlInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShlInt2Addr { @@ -15332,6 +21316,36 @@ impl ShrInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShrInt2Addr { @@ -15419,6 +21433,36 @@ impl UshrInt2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl UshrInt2Addr { @@ -15508,6 +21552,36 @@ impl AddLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddLong2Addr { @@ -15597,6 +21671,36 @@ impl SubLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubLong2Addr { @@ -15686,6 +21790,36 @@ impl MulLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulLong2Addr { @@ -15775,6 +21909,36 @@ impl DivLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivLong2Addr { @@ -15864,6 +22028,36 @@ impl RemLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemLong2Addr { @@ -15953,6 +22147,36 @@ impl AndLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AndLong2Addr { @@ -16042,6 +22266,36 @@ impl OrLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl OrLong2Addr { @@ -16131,6 +22385,36 @@ impl XorLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl XorLong2Addr { @@ -16220,6 +22504,36 @@ impl ShlLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShlLong2Addr { @@ -16309,6 +22623,36 @@ impl ShrLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShrLong2Addr { @@ -16398,6 +22742,36 @@ impl UshrLong2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl UshrLong2Addr { @@ -16485,6 +22859,36 @@ impl AddFloat2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddFloat2Addr { @@ -16572,6 +22976,36 @@ impl SubFloat2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubFloat2Addr { @@ -16659,6 +23093,36 @@ impl MulFloat2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulFloat2Addr { @@ -16746,6 +23210,36 @@ impl DivFloat2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivFloat2Addr { @@ -16833,6 +23327,36 @@ impl RemFloat2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemFloat2Addr { @@ -16922,6 +23446,36 @@ impl AddDouble2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddDouble2Addr { @@ -17011,6 +23565,36 @@ impl SubDouble2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl SubDouble2Addr { @@ -17100,6 +23684,36 @@ impl MulDouble2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulDouble2Addr { @@ -17189,6 +23803,36 @@ impl DivDouble2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivDouble2Addr { @@ -17278,6 +23922,36 @@ impl RemDouble2Addr { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemDouble2Addr { @@ -17381,6 +24055,36 @@ impl AddIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AddIntLit { @@ -17514,6 +24218,36 @@ impl RsubIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RsubIntLit { @@ -17647,6 +24381,36 @@ impl MulIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl MulIntLit { @@ -17780,6 +24544,36 @@ impl DivIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl DivIntLit { @@ -17913,6 +24707,36 @@ impl RemIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl RemIntLit { @@ -18046,6 +24870,36 @@ impl AndIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl AndIntLit { @@ -18179,6 +25033,36 @@ impl OrIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl OrIntLit { @@ -18312,6 +25196,36 @@ impl XorIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl XorIntLit { @@ -18413,6 +25327,36 @@ impl ShlIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShlIntLit { @@ -18485,6 +25429,36 @@ impl ShrIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ShrIntLit { @@ -18557,6 +25531,36 @@ impl UshrIntLit { pub fn ins_size(&self) -> usize { self.get_raw_ins().size() } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl UshrIntLit { @@ -18687,6 +25691,44 @@ impl InvokePolymorphic { pub fn ins_size(&self) -> usize { 8 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + let mut strings = self.method.get_all_strings(); + strings.extend(self.proto.get_all_strings()); + strings + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = self.method.get_all_types(); + types.extend(self.proto.get_all_types()); + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + let mut protos = self.method.get_all_protos(); + protos.insert(self.proto.clone()); + protos + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + let mut methods = HashSet::new(); + methods.insert(self.method.clone()); + methods + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl InvokePolymorphic { @@ -18863,6 +25905,36 @@ impl InvokeCustom { pub fn ins_size(&self) -> usize { 6 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.call_site.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.call_site.get_all_types() + } + + /// Return all strings referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + self.call_site.get_all_protos() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + self.call_site.get_all_field_ids() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + self.call_site.get_all_method_ids() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + self.call_site.get_all_method_handles() + } } impl InvokeCustom { @@ -18989,6 +26061,36 @@ impl ConstMethodHandle { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.handle.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.handle.get_all_types() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + self.handle.get_all_protos() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + self.handle.get_all_field_ids() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + self.handle.get_all_method_ids() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + self.handle.get_all_method_handles() + } } impl ConstMethodHandle { @@ -19062,6 +26164,38 @@ impl ConstMethodType { pub fn ins_size(&self) -> usize { 4 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + self.proto.get_all_strings() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + self.proto.get_all_types() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + let mut protos = HashSet::new(); + protos.insert(self.proto.clone()); + protos + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } impl ConstMethodType { @@ -19170,6 +26304,44 @@ impl Try { pub fn ins_size(&self) -> usize { 0 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + let mut strings = HashSet::new(); + for (ty, _) in &self.handlers { + strings.extend(ty.get_all_strings()); + } + strings + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + let mut types = HashSet::new(); + for (ty, _) in &self.handlers { + types.insert(ty.clone()); + } + types + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } } /// Label marker. It does not match an dalvik instruction, but it's use as a marker for a @@ -19226,4 +26398,34 @@ impl Label { pub fn ins_size(&self) -> usize { 0 } + + /// Return all strings referenced in the instruction. + pub fn get_all_strings(&self) -> HashSet { + HashSet::new() + } + + /// Return all types referenced in the instruction. + pub fn get_all_types(&self) -> HashSet { + HashSet::new() + } + + /// Return all prototypes referenced in the instruction. + pub fn get_all_protos(&self) -> HashSet { + HashSet::new() + } + + /// Return all field ids referenced in the instruction. + pub fn get_all_field_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method ids referenced in the instruction. + pub fn get_all_method_ids(&self) -> HashSet { + HashSet::new() + } + + /// Return all method handles referenced in the instruction. + pub fn get_all_method_handles(&self) -> HashSet { + HashSet::new() + } }