(
oomir_func: &'a oomir::Function,
constant_pool: &'cp mut InternedConstantPool,
module: &'a oomir::Module,
is_static: bool,
owner_class_name: Option<&str>,
| 54 | switch_fixups: Vec<SwitchFixup>, |
| 55 | current_oomir_block_label: String, // For error reporting maybe |
| 56 | current_fallthrough_block_label: Option<String>, |
| 57 | initial_locals: Vec<stackmaps::FrameValue>, |
| 58 | direct_this_aliases: HashSet<String>, |
| 59 | jvm_metadata: Vec<optimise2::BytecodeMetadata>, |
| 60 | current_source_location: Option<Rc<oomir::SourceLocation>>, |
| 61 | current_active_variables: Rc<Vec<usize>>, |
| 62 | debug_info: DebugInfoOptions, |
| 63 | active_unwind_region: Option<(usize, String)>, |
| 64 | unwind_regions: Vec<UnwindRegion>, |
| 65 | exception_table: Vec<ExceptionTableEntry>, |
| 66 | |
| 67 | // For max_locals calculation - track highest index used + size |
| 68 | max_locals_used: u16, |
| 69 | } |
| 70 | |
| 71 | struct UnwindRegion { |
| 72 | start: usize, |
| 73 | end: usize, |
| 74 | target: String, |
| 75 | } |
| 76 | |
| 77 | #[derive(Clone, PartialEq)] |
| 78 | struct DirectFieldProjection { |
| 79 | source: oomir::Operand, |
| 80 | source_kind: DirectFieldSource, |
| 81 | owner_class: String, |
| 82 | field_name: String, |
| 83 | field_ty: Type, |
| 84 | view_ty: Type, |
| 85 | wrappers: Vec<TransparentFieldWrapper>, |
| 86 | } |
| 87 | |
| 88 | #[derive(Clone, PartialEq)] |
| 89 | struct TransparentFieldWrapper { |
| 90 | class_name: String, |
| 91 | field_name: String, |
| 92 | inner_ty: Type, |
| 93 | } |
| 94 | |
| 95 | #[derive(Clone)] |
| 96 | struct SingleValueWrapper { |
| 97 | class_name: String, |
| 98 | field_name: String, |
| 99 | field_ty: Type, |
| 100 | constructor_fields: Vec<(String, Type)>, |
| 101 | } |
| 102 | |
| 103 | #[derive(Clone, Copy, PartialEq, Eq)] |
| 104 | enum DirectFieldSource { |
| 105 | PointerView, |
| 106 | DeferredPointerView, |
| 107 | Object, |
| 108 | } |
| 109 | |
| 110 | #[derive(Clone, PartialEq)] |
| 111 | struct DirectCellProjection { |
| 112 | root: String, |
| 113 | initial_value: oomir::Operand, |
nothing calls this directly
no test coverage detected