Trait cairo_lang_lowering::borrow_check::analysis::Analyzer
source · pub trait Analyzer<'a> {
type Info: Clone;
// Required methods
fn merge_match(
&mut self,
statement_location: StatementLocation,
match_info: &'a MatchInfo,
infos: &[Self::Info]
) -> Self::Info;
fn info_from_return(
&mut self,
statement_location: StatementLocation,
vars: &[VariableId]
) -> Self::Info;
fn info_from_panic(
&mut self,
statement_location: StatementLocation,
var: &VariableId
) -> Self::Info;
// Provided methods
fn visit_block_start(
&mut self,
info: &mut Self::Info,
block_id: BlockId,
block: &FlatBlock
) { ... }
fn visit_stmt(
&mut self,
info: &mut Self::Info,
statement_location: StatementLocation,
stmt: &Statement
) { ... }
fn visit_goto(
&mut self,
info: &mut Self::Info,
statement_location: StatementLocation,
target_block_id: BlockId,
remapping: &VarRemapping
) { ... }
}
Expand description
Analyzer trait to implement for each specific analysis.