pub trait SierraGenGroup: Database + HasQueryGroup<SierraGenDatabase> + LoweringGroup + Upcast<dyn LoweringGroup> {
Show 17 methods fn intern_label_id(&self, key0: LabelLongId) -> LabelId; fn lookup_intern_label_id(&self, key0: LabelId) -> LabelLongId; fn intern_concrete_lib_func(
        &self,
        key0: ConcreteLibfuncLongId
    ) -> ConcreteLibfuncId; fn lookup_intern_concrete_lib_func(
        &self,
        key0: ConcreteLibfuncId
    ) -> ConcreteLibfuncLongId; fn intern_concrete_type(&self, key0: ConcreteTypeLongId) -> ConcreteTypeId; fn lookup_intern_concrete_type(
        &self,
        key0: ConcreteTypeId
    ) -> ConcreteTypeLongId; fn intern_sierra_function(&self, key0: FunctionId) -> FunctionId; fn lookup_intern_sierra_function(&self, key0: FunctionId) -> FunctionId; fn get_concrete_type_id(&self, key0: TypeId) -> Maybe<ConcreteTypeId>; fn get_function_signature(
        &self,
        key0: FunctionId
    ) -> Maybe<Arc<FunctionSignature>>; fn get_type_info(&self, key0: ConcreteTypeId) -> Maybe<Arc<TypeInfo>>; fn priv_function_with_body_sierra_data(
        &self,
        key0: ConcreteFunctionWithBodyId
    ) -> SierraFreeFunctionData; fn function_with_body_sierra(
        &self,
        key0: ConcreteFunctionWithBodyId
    ) -> Maybe<Arc<Function>>; fn contains_cycle(&self, key0: ConcreteFunctionWithBodyId) -> Maybe<bool>; fn get_ap_change(
        &self,
        key0: ConcreteFunctionWithBodyId
    ) -> Maybe<SierraApChange>; fn get_sierra_program_for_functions(
        &self,
        key0: Vec<ConcreteFunctionWithBodyId>
    ) -> Maybe<Arc<Program>>; fn get_sierra_program(&self, key0: Vec<CrateId>) -> Maybe<Arc<Program>>;
}

Required Methods§

Creates a Sierra function id for a function id of the semantic model.

Returns the matching sierra concrete type id for a given semantic type id.

Returns the cairo_lang_sierra::program::FunctionSignature object for the given function id.

Returns the cairo_lang_sierra::extensions::types::TypeInfo object for the given type id.

Private query to compute Sierra data about a free function.

Returns the Sierra code (as pre_sierra::Function) for a given free function.

Returns true if the function calls (possibly indirectly) itself, or if it calls (possibly indirectly) such a function. For example, if f0 calls f1, f1 calls f2, f2 calls f3, and f3 calls f2, then Self::contains_cycle will return true for all of these functions.

Returns the ap change of a given function if it is known at compile time or SierraApChange::Unknown otherwise.

Returns the cairo_lang_sierra::program::Program object of the requested functions.

Returns the cairo_lang_sierra::program::Program object of the requested crates.

Implementors§