MCPcopy Create free account
hub / github.com/IntegralPilot/rustc_codegen_jvm / new

Method new

src/lower2/translator.rs:56–169  ·  view source on GitHub ↗
(
        oomir_func: &'a oomir::Function,
        constant_pool: &'cp mut InternedConstantPool,
        module: &'a oomir::Module,
        is_static: bool,
        owner_class_name: Option<&str>,
   

Source from the content-addressed store, hash-verified

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
71struct UnwindRegion {
72 start: usize,
73 end: usize,
74 target: String,
75}
76
77#[derive(Clone, PartialEq)]
78struct 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)]
89struct TransparentFieldWrapper {
90 class_name: String,
91 field_name: String,
92 inner_ty: Type,
93}
94
95#[derive(Clone)]
96struct 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)]
104enum DirectFieldSource {
105 PointerView,
106 DeferredPointerView,
107 Object,
108}
109
110#[derive(Clone, PartialEq)]
111struct DirectCellProjection {
112 root: String,
113 initial_value: oomir::Operand,

Callers

nothing calls this directly

Calls 4

to_stringMethod · 0.80
lenMethod · 0.80
assign_localMethod · 0.80

Tested by

no test coverage detected