Struct cairo_lang_lowering::lower::context::LoweringContext
source · pub struct LoweringContext<'db> {
pub db: &'db dyn LoweringGroup,
pub function_def: &'db FreeFunctionDefinition,
pub signature: &'db Signature,
pub may_panic: bool,
pub diagnostics: LoweringDiagnostics,
pub variables: Arena<Variable>,
pub blocks: StructuredBlocks,
pub semantic_defs: UnorderedHashMap<VarId, Variable>,
pub ref_params: &'db [VarId],
pub implicits: &'db [TypeId],
pub lookup_context: ImplLookupContext,
pub expr_formatter: ExprFormatter<'db>,
}
Expand description
Context for the lowering phase of a free function.
Fields§
§db: &'db dyn LoweringGroup
§function_def: &'db FreeFunctionDefinition
Semantic model for current function definition.
signature: &'db Signature
§may_panic: bool
Whether the current function may panic.
diagnostics: LoweringDiagnostics
Current emitted diagnostics.
variables: Arena<Variable>
Arena of allocated lowered variables.
blocks: StructuredBlocks
Lowered blocks of the function.
semantic_defs: UnorderedHashMap<VarId, Variable>
Definitions encountered for semantic variables.
ref_params: &'db [VarId]
§implicits: &'db [TypeId]
§lookup_context: ImplLookupContext
§expr_formatter: ExprFormatter<'db>