pub struct Module {
cx: Rc<Context>,
pub dialect: ModuleDialect,
pub debug_info: ModuleDebugInfo,
pub global_vars: EntityDefs<GlobalVar>,
pub funcs: EntityDefs<Func>,
pub exports: IndexMap<ExportKey, Exportee, BuildHasherDefault<FxHasher>>,
}
Fields§
§cx: Rc<Context>
Context used for everything interned, in this module.
Notable choices made for this field:
- private to disallow switching the context of a module
Rc
sharing to allow multiple modules to use the same context (Context: !Sync
because of the interners so it can’t beArc
)
dialect: ModuleDialect
§debug_info: ModuleDebugInfo
§global_vars: EntityDefs<GlobalVar>
§funcs: EntityDefs<Func>
§exports: IndexMap<ExportKey, Exportee, BuildHasherDefault<FxHasher>>
Implementations§
source§impl Module
impl Module
pub fn lift_to_spv_file(&self, path: impl AsRef<Path>) -> Result<()>
pub fn lift_to_spv_module_emitter(&self) -> Result<ModuleEmitter>
Trait Implementations§
source§impl InnerInPlaceTransform for Module
impl InnerInPlaceTransform for Module
fn inner_in_place_transform_with(&mut self, transformer: &mut impl Transformer)
source§impl InnerVisit for Module
impl InnerVisit for Module
fn inner_visit_with<'a>(&'a self, visitor: &mut impl Visitor<'a>)
Auto Trait Implementations§
impl !RefUnwindSafe for Module
impl !Send for Module
impl !Sync for Module
impl Unpin for Module
impl !UnwindSafe for Module
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more