pub fn resolve_yul_block(
    loc: &pt::Loc,
    statements: &[pt::YulStatement],
    context: &ExprContext,
    reachable: bool,
    loop_scope: &mut LoopScopes,
    function_table: &mut FunctionsTable,
    symtable: &mut Symtable,
    ns: &mut Namespace,
) -> (YulBlock, bool) {
    function_table.new_scope();
    symtable.new_scope();

    let (body, mut next_reachable) = process_statements(
        statements,
        context,
        reachable,
        symtable,
        loop_scope,
        function_table,
        ns,
    );

    next_reachable &= reachable;
    symtable.leave_scope();
    function_table.leave_scope(ns);

    (
        YulBlock {
            loc: *loc,
            reachable,
            body,
        },
        next_reachable,
    )
}
/// Resolve an yul block.
/// Returns the resolved block and a boolean that tells us if the next statement is reachable.
Resolve an yul block.
Returns the resolved block and a boolean that tells us if the next statement is reachable.
Resolve an yul block . Returns the resolved block and a boolean that tells us if the next statement is reachable .
pub fn resolve_yul_block(
    loc: &pt::Loc,
    statements: &[pt::YulStatement],
    context: &ExprContext,
    reachable: bool,
    loop_scope: &mut LoopScopes,
    function_table: &mut FunctionsTable,
    symtable: &mut Symtable,
    ns: &mut Namespace,
) -> (YulBlock, bool) {
    function_table.new_scope();
    symtable.new_scope();
    let (body, mut next_reachable) = process_statements(
        statements,
        context,
        reachable,
        symtable,
        loop_scope,
        function_table,
        ns,
    );
    next_reachable &= reachable;
    symtable.leave_scope();
    function_table.leave_scope(ns);
    (
        YulBlock {
            loc: *loc,
            reachable,
            body,
        },
        next_reachable,
    )
}
pub fn resolve_yul_block ( loc : & pt :: Loc , statements : & [ pt :: YulStatement ] , context : & ExprContext , reachable : bool , loop_scope : & mut LoopScopes , function_table : & mut FunctionsTable , symtable : & mut Symtable , ns : & mut Namespace , ) -> ( YulBlock , bool ) { function_table . new_scope ( ) ; symtable . new_scope ( ) ; let ( body , mut next_reachable ) = process_statements ( statements , context , reachable , symtable , loop_scope , function_table , ns , ) ; next_reachable &= reachable ; symtable . leave_scope ( ) ; function_table . leave_scope ( ns ) ; ( YulBlock { loc : * loc , reachable , body , } , next_reachable , ) }
Resolve an yul block.
Resolve an yul block .
loc
&pt::Loc
statements
&[pt::YulStatement]
context
&ExprContext
reachable
bool
loop_scope
&mut LoopScopes
function_table
&mut FunctionsTable
symtable
&mut Symtable
ns
&mut Namespace
loc
&pt::Loc
statements
&[pt::YulStatement]
context
&ExprContext
reachable
bool
loop_scope
&mut LoopScopes
function_table
&mut FunctionsTable
symtable
&mut Symtable
ns
&mut Namespace