Struct pomelo_hir::hir::ValBind
source · Expand description
Binding of the names in a pattern to an expression.
Fields§
§rec: bool
§pat: Idx<Pat>
§expr: Idx<Expr>
Implementations§
source§impl ValBind
impl ValBind
fn lower(ctx: &mut LoweringCtxt, b: &ValBind, dec_index: Idx<Dec>) -> Self
fn lower_fvalbind(
ctx: &mut LoweringCtxt,
parent: NodeParent,
b: &FvalBind,
_dec_index: Idx<Dec>
) -> Self
fn check_row_op(prev_op: &mut Option<bool>, row_op: bool)
fn check_row_vid(prev_vid: &mut Option<VId>, row_vid: VId)
fn check_row_arity(prev_n: &mut Option<usize>, row_n: usize)
fn make_row_pat(
ctx: &mut LoweringCtxt,
parent: NodeParent,
row: &FvalBindRow,
n_parameters: usize
) -> Idx<Pat>
fn make_row_expr(
ctx: &mut LoweringCtxt,
parent: NodeParent,
row: &FvalBindRow
) -> Idx<Expr>
sourcefn make_fresh_vids_and_outer_pat(
ctx: &mut LoweringCtxt,
parent: NodeParent,
n_parameters: usize
) -> (Vec<Idx<Pat>>, Idx<Expr>)
fn make_fresh_vids_and_outer_pat(
ctx: &mut LoweringCtxt,
parent: NodeParent,
n_parameters: usize
) -> (Vec<Idx<Pat>>, Idx<Expr>)
Returns:
(1) list of pats referring to fresh vids to be used in the chain of fn
s
(2) tuple expr referring to all of these fresh vids to be consumed by the generated case
expr