Ast.expression_map
constraint 'c expression_map = 'c expression_map
inherit VisitorsRuntime.map
inherit primitive_typ_map
inherit match_case_pattern_map
inherit literal_map
inherit binop_map
inherit unop_map
inherit builtin_expression_map
method visit_Exists : 'c ->
'd ->
(( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed * expression) ->
collection_op
method visit_Forall : 'c ->
'e ->
(( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed * expression) ->
collection_op
method visit_Map : 'c ->
'f ->
(( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed * expression) ->
collection_op
method visit_Filter : 'c ->
'g ->
(( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed * expression) ->
collection_op
method visit_AggregateSum : 'c -> 'h -> primitive_typ -> collection_op
method visit_AggregateExtremum : 'c ->
'i ->
bool ->
expression ->
collection_op
method visit_AggregateArgExtremum : 'c ->
'j ->
bool ->
expression ->
(( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed * expression) ->
collection_op
method visit_collection_op : 'c -> 'k -> collection_op -> collection_op
method visit_explicit_match_case : 'c ->
'l ->
explicit_match_case ->
explicit_match_case
method visit_WildCard : 'c -> 'm -> expression -> match_case
method visit_MatchCase : 'c -> 'n -> explicit_match_case -> match_case
method visit_match_case : 'c -> 'o -> match_case -> match_case
method visit_match_cases : 'c -> 'p -> match_cases -> match_cases
method visit_expression : 'c -> 'q -> expression -> expression
method visit_Paren : 'c -> 'r -> expression -> naked_expression
method visit_MatchWith : 'c ->
's ->
expression ->
( match_cases, Catala_utils.Pos.t ) Catala_utils.Mark.ed ->
naked_expression
method visit_IfThenElse : 'c ->
't ->
expression ->
expression ->
expression ->
naked_expression
method visit_Binop : 'c ->
'u ->
( binop, Catala_utils.Pos.t ) Catala_utils.Mark.ed ->
expression ->
expression ->
naked_expression
method visit_Unop : 'c ->
'v ->
( unop, Catala_utils.Pos.t ) Catala_utils.Mark.ed ->
expression ->
naked_expression
method visit_CollectionOp : 'c ->
'w ->
collection_op ->
expression ->
naked_expression
method visit_MemCollection : 'c ->
'x ->
expression ->
expression ->
naked_expression
method visit_TestMatchCase : 'c ->
'y ->
expression ->
( match_case_pattern, Catala_utils.Pos.t ) Catala_utils.Mark.ed ->
naked_expression
method visit_FunCall : 'c ->
'z ->
expression ->
expression list ->
naked_expression
method visit_ScopeCall : 'c ->
'a1 ->
( path * uident Catala_utils.Mark.pos, Catala_utils.Pos.t )
Catala_utils.Mark.ed ->
(( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed * expression) list ->
naked_expression
method visit_LetIn : 'c ->
'b1 ->
( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed ->
expression ->
expression ->
naked_expression
method visit_Builtin : 'c -> 'c1 -> builtin_expression -> naked_expression
method visit_Literal : 'c -> 'd1 -> literal -> naked_expression
method visit_EnumInject : 'c ->
'e1 ->
( path * uident Catala_utils.Mark.pos, Catala_utils.Pos.t )
Catala_utils.Mark.ed ->
expression option ->
naked_expression
method visit_StructLit : 'c ->
'f1 ->
( path * uident Catala_utils.Mark.pos, Catala_utils.Pos.t )
Catala_utils.Mark.ed ->
(( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed * expression) list ->
naked_expression
method visit_ArrayLit : 'c -> 'g1 -> expression list -> naked_expression
method visit_Ident : 'c ->
'h1 ->
path ->
( lident, Catala_utils.Pos.t ) Catala_utils.Mark.ed ->
naked_expression
method visit_Dotted : 'c ->
'i1 ->
expression ->
( path * lident Catala_utils.Mark.pos, Catala_utils.Pos.t )
Catala_utils.Mark.ed ->
naked_expression
method visit_naked_expression : 'c ->
'j1 ->
naked_expression ->
naked_expression