Trait MirDb

Source
pub trait MirDb:
    Database
    + HasQueryGroup<MirDbStorage>
    + AnalyzerDb
    + Upcast<dyn AnalyzerDb>
    + UpcastMut<dyn AnalyzerDb> {
Show 16 methods // Required methods fn mir_intern_const(&self, key0: Rc<Constant>) -> ConstantId; fn lookup_mir_intern_const(&self, key0: ConstantId) -> Rc<Constant>; fn mir_intern_type(&self, key0: Rc<Type>) -> TypeId; fn lookup_mir_intern_type(&self, key0: TypeId) -> Rc<Type>; fn mir_intern_function(&self, key0: Rc<FunctionSignature>) -> FunctionId; fn lookup_mir_intern_function( &self, key0: FunctionId, ) -> Rc<FunctionSignature>; fn mir_lower_module_all_functions( &self, key0: ModuleId, ) -> Rc<Vec<FunctionId>>; fn mir_lower_contract_all_functions( &self, key0: ContractId, ) -> Rc<Vec<FunctionId>>; fn mir_lower_struct_all_functions( &self, key0: StructId, ) -> Rc<Vec<FunctionId>>; fn mir_lower_enum_all_functions(&self, key0: EnumId) -> Rc<Vec<FunctionId>>; fn mir_lowered_type(&self, key0: TypeId) -> TypeId; fn mir_lowered_constant(&self, key0: ModuleConstantId) -> ConstantId; fn mir_lowered_func_signature(&self, key0: FunctionId) -> FunctionId; fn mir_lowered_monomorphized_func_signature( &self, key0: FunctionId, key1: BTreeMap<SmolStr, TypeId>, ) -> FunctionId; fn mir_lowered_pseudo_monomorphized_func_signature( &self, key0: FunctionId, ) -> FunctionId; fn mir_lowered_func_body(&self, key0: FunctionId) -> Rc<FunctionBody>;
}

Required Methods§

Implementors§

Source§

impl<DB> MirDb for DB
where DB: AnalyzerDb + Upcast<dyn AnalyzerDb> + UpcastMut<dyn AnalyzerDb> + Database + HasQueryGroup<MirDbStorage>,