Class Ast.mapreduce

constraint 'c = < visit_AddrLabel : 'd -> label_ref -> expr_desc * 'e; visit_ArgumentExpr : 'd -> expr -> unary_expr_or_type_trait * 'e; visit_ArgumentType : 'd -> qual_type -> unary_expr_or_type_trait * 'e; visit_ArraySubscript : 'd -> expr -> expr -> expr_desc * 'e; visit_BinaryOperator : 'd -> expr -> binary_operator_kind -> expr -> expr_desc * 'e; visit_Break : 'd -> stmt_desc * 'e; visit_BuiltinType : 'd -> builtin_type -> type_desc * 'e; visit_CStyle : 'd -> cast_kind * 'e; visit_Call : 'd -> expr -> expr list -> expr_desc * 'e; visit_Case : 'd -> expr -> expr option -> stmt -> stmt_desc * 'e; visit_Cast : 'd -> cast_kind -> qual_type -> expr -> expr_desc * 'e; visit_CharacterLiteral : 'd -> character_kind -> int -> expr_desc * 'e; visit_Complex : 'd -> qual_type -> type_desc * 'e; visit_Compound : 'd -> stmt list -> stmt_desc * 'e; visit_CompoundLiteral : 'd -> qual_type -> expr -> expr_desc * 'e; visit_ConditionalOperator : 'd -> expr -> expr option -> expr -> expr_desc * 'e; visit_ConstantArray : 'd -> qual_type -> int -> type_desc * 'e; visit_Continue : 'd -> stmt_desc * 'e; visit_Decl : 'd -> decl list -> stmt_desc * 'e; visit_DeclRef : 'd -> label_ref -> expr_desc * 'e; visit_Default : 'd -> stmt -> stmt_desc * 'e; visit_Do : 'd -> stmt -> expr -> stmt_desc * 'e; visit_Elaborated : 'd -> elaborated_type_keyword -> qual_type -> type_desc * 'e; visit_Enum : 'd -> label_ref -> type_desc * 'e; visit_EnumDecl : 'd -> label_ref -> enum_constant list -> decl_desc * 'e; visit_Expr : 'd -> expr -> stmt_desc * 'e; visit_Field : 'd -> label_ref -> qual_type -> expr option -> decl_desc * 'e; visit_FloatingLiteral : 'd -> floating_literal -> expr_desc * 'e; visit_For : 'd -> stmt option -> var_decl option -> expr option -> stmt option -> stmt -> stmt_desc * 'e; visit_Function : 'd -> Clang__bindings.cxlinkagekind -> function_type -> label_ref -> stmt option -> decl_desc * 'e; visit_FunctionType : 'd -> function_type -> type_desc * 'e; visit_GCCAsm : 'd -> label_ref -> (label_refqual_type) open_node list -> stmt_desc * 'e; visit_Goto : 'd -> label_ref -> stmt_desc * 'e; visit_If : 'd -> stmt option -> var_decl option -> expr -> stmt -> stmt option -> stmt_desc * 'e; visit_ImaginaryLiteral : 'd -> expr -> expr_desc * 'e; visit_Implicit : 'd -> cast_kind * 'e; visit_IncompleteArray : 'd -> qual_type -> type_desc * 'e; visit_IndirectGoto : 'd -> expr -> stmt_desc * 'e; visit_InitList : 'd -> expr list -> expr_desc * 'e; visit_IntegerLiteral : 'd -> integer_literal -> expr_desc * 'e; visit_Label : 'd -> label_ref -> stmt -> stmt_desc * 'e; visit_MSAsm : 'd -> label_ref -> stmt_desc * 'e; visit_Member : 'd -> expr -> bool -> (label_refqual_type) open_node -> expr_desc * 'e; visit_Null : 'd -> stmt_desc * 'e; visit_OtherDecl : 'd -> decl_desc * 'e; visit_OtherExpr : 'd -> expr_desc * 'e; visit_OtherStmt : 'd -> stmt_desc * 'e; visit_Paren : 'd -> expr -> expr_desc * 'e; visit_ParenType : 'd -> qual_type -> type_desc * 'e; visit_Pointer : 'd -> qual_type -> type_desc * 'e; visit_Record : 'd -> label_ref -> type_desc * 'e; visit_RecordDecl : 'd -> elaborated_type_keyword -> label_ref -> decl list -> decl_desc * 'e; visit_Return : 'd -> expr option -> stmt_desc * 'e; visit_StringLiteral : 'd -> label_ref -> expr_desc * 'e; visit_Switch : 'd -> stmt option -> var_decl option -> expr -> stmt -> stmt_desc * 'e; visit_Typedef : 'd -> label_ref -> type_desc * 'e; visit_TypedefDecl : 'd -> label_ref -> qual_type -> decl_desc * 'e; visit_UnaryExpr : 'd -> unary_expr_kind -> unary_expr_or_type_trait -> expr_desc * 'e; visit_UnaryOperator : 'd -> unary_operator_kind -> expr -> expr_desc * 'e; visit_UnexposedExpr : 'd -> label_ref -> expr_desc * 'e; visit_Var : 'd -> var_decl_desc -> decl_desc * 'e; visit_VariableArray : 'd -> qual_type -> expr -> type_desc * 'e; visit_While : 'd -> var_decl option -> expr -> stmt -> stmt_desc * 'e; visit_args : 'd -> args -> args * 'e; visit_binary_operator_kind : env. 'env -> binary_operator_kind -> binary_operator_kind * 'e; visit_builtin_type : env. 'env -> builtin_type -> builtin_type * 'e; visit_cast_kind : 'd -> cast_kind -> cast_kind * 'e; visit_character_kind : env. 'env -> character_kind -> character_kind * 'e; visit_cxcallingconv : env. 'env -> Clang__bindings.cxcallingconv -> Clang__bindings.cxcallingconv * 'e; visit_cxlinkagekind : env. 'env -> Clang__bindings.cxlinkagekind -> Clang__bindings.cxlinkagekind * 'e; visit_decl : 'd -> decl -> decl * 'e; visit_decl_desc : 'd -> decl_desc -> decl_desc * 'e; visit_elaborated_type_keyword : env. 'env -> elaborated_type_keyword -> elaborated_type_keyword * 'e; visit_enum_constant : 'd -> enum_constant -> enum_constant * 'e; visit_enum_constant_desc : 'd -> enum_constant_desc -> enum_constant_desc * 'e; visit_expr : 'd -> expr -> expr * 'e; visit_expr_desc : 'd -> expr_desc -> expr_desc * 'e; visit_floating_literal : env. 'env -> floating_literal -> floating_literal * 'e; visit_function_type : 'd -> function_type -> function_type * 'e; visit_integer_literal : env. 'env -> integer_literal -> integer_literal * 'e; visit_label_ref : 'd -> label_ref -> label_ref * 'e; visit_open_node : env a qual_type. ('env -> 'a -> 'a * 'e) -> ('env -> 'qual_type -> 'qual_type * 'e) -> 'env -> ('a'qual_type) open_node -> ('a'qual_type) open_node * 'e; visit_qual_type : 'd -> qual_type -> qual_type * 'e; visit_stmt : 'd -> stmt -> stmt * 'e; visit_stmt_desc : 'd -> stmt_desc -> stmt_desc * 'e; visit_translation_unit : 'd -> (translation_unit_descqual_type) open_node -> (translation_unit_descqual_type) open_node * 'e; visit_translation_unit_desc : 'd -> translation_unit_desc -> translation_unit_desc * 'e; visit_type_desc : 'd -> type_desc -> type_desc * 'e; visit_unary_expr_kind : env. 'env -> unary_expr_kind -> unary_expr_kind * 'e; visit_unary_expr_or_type_trait : 'd -> unary_expr_or_type_trait -> unary_expr_or_type_trait * 'e; visit_unary_operator_kind : env. 'env -> unary_operator_kind -> unary_operator_kind * 'e; visit_var_decl : 'd -> var_decl -> var_decl * 'e; visit_var_decl_desc : 'd -> var_decl_desc -> var_decl_desc * 'e; .. >
method private virtual plus : 'e -> 'e -> 'e
method visit_AddrLabel : 'd -> label_ref -> expr_desc * 'e
method visit_ArgumentExpr : 'd -> expr -> unary_expr_or_type_trait * 'e
method visit_ArgumentType : 'd -> qual_type -> unary_expr_or_type_trait * 'e
method visit_ArraySubscript : 'd -> expr -> expr -> expr_desc * 'e
method visit_BinaryOperator : 'd -> expr -> binary_operator_kind -> expr -> expr_desc * 'e
method visit_Break : 'd -> stmt_desc * 'e
method visit_BuiltinType : 'd -> builtin_type -> type_desc * 'e
method visit_CStyle : 'd -> cast_kind * 'e
method visit_Call : 'd -> expr -> expr list -> expr_desc * 'e
method visit_Case : 'd -> expr -> expr option -> stmt -> stmt_desc * 'e
method visit_Cast : 'd -> cast_kind -> qual_type -> expr -> expr_desc * 'e
method visit_CharacterLiteral : 'd -> character_kind -> int -> expr_desc * 'e
method visit_Complex : 'd -> qual_type -> type_desc * 'e
method visit_Compound : 'd -> stmt list -> stmt_desc * 'e
method visit_CompoundLiteral : 'd -> qual_type -> expr -> expr_desc * 'e
method visit_ConditionalOperator : 'd -> expr -> expr option -> expr -> expr_desc * 'e
method visit_ConstantArray : 'd -> qual_type -> int -> type_desc * 'e
method visit_Continue : 'd -> stmt_desc * 'e
method visit_Decl : 'd -> decl list -> stmt_desc * 'e
method visit_DeclRef : 'd -> label_ref -> expr_desc * 'e
method visit_Default : 'd -> stmt -> stmt_desc * 'e
method visit_Do : 'd -> stmt -> expr -> stmt_desc * 'e
method visit_Elaborated : 'd -> elaborated_type_keyword -> qual_type -> type_desc * 'e
method visit_Enum : 'd -> label_ref -> type_desc * 'e
method visit_EnumDecl : 'd -> label_ref -> enum_constant list -> decl_desc * 'e
method visit_Expr : 'd -> expr -> stmt_desc * 'e
method visit_Field : 'd -> label_ref -> qual_type -> expr option -> decl_desc * 'e
method visit_FloatingLiteral : 'd -> floating_literal -> expr_desc * 'e
method visit_For : 'd -> stmt option -> var_decl option -> expr option -> stmt option -> stmt -> stmt_desc * 'e
method visit_Function : 'd -> Clang__bindings.cxlinkagekind -> function_type -> label_ref -> stmt option -> decl_desc * 'e
method visit_FunctionType : 'd -> function_type -> type_desc * 'e
method visit_GCCAsm : 'd -> label_ref -> (label_refqual_type) open_node list -> stmt_desc * 'e
method visit_Goto : 'd -> label_ref -> stmt_desc * 'e
method visit_If : 'd -> stmt option -> var_decl option -> expr -> stmt -> stmt option -> stmt_desc * 'e
method visit_ImaginaryLiteral : 'd -> expr -> expr_desc * 'e
method visit_Implicit : 'd -> cast_kind * 'e
method visit_IncompleteArray : 'd -> qual_type -> type_desc * 'e
method visit_IndirectGoto : 'd -> expr -> stmt_desc * 'e
method visit_InitList : 'd -> expr list -> expr_desc * 'e
method visit_IntegerLiteral : 'd -> integer_literal -> expr_desc * 'e
method visit_Label : 'd -> label_ref -> stmt -> stmt_desc * 'e
method visit_MSAsm : 'd -> label_ref -> stmt_desc * 'e
method visit_Member : 'd -> expr -> bool -> (label_refqual_type) open_node -> expr_desc * 'e
method visit_Null : 'd -> stmt_desc * 'e
method visit_OtherDecl : 'd -> decl_desc * 'e
method visit_OtherExpr : 'd -> expr_desc * 'e
method visit_OtherStmt : 'd -> stmt_desc * 'e
method visit_Paren : 'd -> expr -> expr_desc * 'e
method visit_ParenType : 'd -> qual_type -> type_desc * 'e
method visit_Pointer : 'd -> qual_type -> type_desc * 'e
method visit_Record : 'd -> label_ref -> type_desc * 'e
method visit_RecordDecl : 'd -> elaborated_type_keyword -> label_ref -> decl list -> decl_desc * 'e
method visit_Return : 'd -> expr option -> stmt_desc * 'e
method visit_StringLiteral : 'd -> label_ref -> expr_desc * 'e
method visit_Switch : 'd -> stmt option -> var_decl option -> expr -> stmt -> stmt_desc * 'e
method visit_Typedef : 'd -> label_ref -> type_desc * 'e
method visit_TypedefDecl : 'd -> label_ref -> qual_type -> decl_desc * 'e
method visit_UnaryExpr : 'd -> unary_expr_kind -> unary_expr_or_type_trait -> expr_desc * 'e
method visit_UnaryOperator : 'd -> unary_operator_kind -> expr -> expr_desc * 'e
method visit_UnexposedExpr : 'd -> label_ref -> expr_desc * 'e
method visit_Var : 'd -> var_decl_desc -> decl_desc * 'e
method visit_VariableArray : 'd -> qual_type -> expr -> type_desc * 'e
method visit_While : 'd -> var_decl option -> expr -> stmt -> stmt_desc * 'e
method visit_args : 'd -> args -> args * 'e
method private visit_array : env a b. ('env -> 'a -> 'b * 'e) -> 'env -> 'a array -> 'b array * 'e
method visit_binary_operator_kind : env. 'env -> binary_operator_kind -> binary_operator_kind * 'e
method private visit_bool : env. 'env -> bool -> bool * 'e
method visit_builtin_type : env. 'env -> builtin_type -> builtin_type * 'e
method private visit_bytes : env. 'env -> bytes -> bytes * 'e
method visit_cast_kind : 'd -> cast_kind -> cast_kind * 'e
method private visit_char : env. 'env -> char -> char * 'e
method visit_character_kind : env. 'env -> character_kind -> character_kind * 'e
method visit_cxcallingconv : env. 'env -> Clang__bindings.cxcallingconv -> Clang__bindings.cxcallingconv * 'e
method visit_cxlinkagekind : env. 'env -> Clang__bindings.cxlinkagekind -> Clang__bindings.cxlinkagekind * 'e
method visit_decl : 'd -> decl -> decl * 'e
method visit_decl_desc : 'd -> decl_desc -> decl_desc * 'e
method visit_elaborated_type_keyword : env. 'env -> elaborated_type_keyword -> elaborated_type_keyword * 'e
method visit_enum_constant : 'd -> enum_constant -> enum_constant * 'e
method visit_enum_constant_desc : 'd -> enum_constant_desc -> enum_constant_desc * 'e
method visit_expr : 'd -> expr -> expr * 'e
method visit_expr_desc : 'd -> expr_desc -> expr_desc * 'e
method private visit_float : env. 'env -> float -> float * 'e
method visit_floating_literal : env. 'env -> floating_literal -> floating_literal * 'e
method visit_function_type : 'd -> function_type -> function_type * 'e
method private visit_int : env. 'env -> int -> int * 'e
method private visit_int32 : env. 'env -> int32 -> int32 * 'e
method private visit_int64 : env. 'env -> int64 -> int64 * 'e
method visit_integer_literal : env. 'env -> integer_literal -> integer_literal * 'e
method visit_label_ref : 'd -> label_ref -> label_ref * 'e
method private visit_lazy_t : env a b. ('env -> 'a -> 'b * 'e) -> 'env -> 'a Lazy.t -> 'b Lazy.t * 'e
method private visit_list : env a b. ('env -> 'a -> 'b * 'e) -> 'env -> 'a list -> 'b list * 'e
method private visit_nativeint : env. 'env -> nativeint -> nativeint * 'e
method visit_open_node : env a qual_type. ('env -> 'a -> 'a * 'e) -> ('env -> 'qual_type -> 'qual_type * 'e) -> 'env -> ('a'qual_type) open_node -> ('a'qual_type) open_node * 'e
method private visit_option : env a_0 a_1. ('env -> 'a_0 -> 'a_1 * 'e) -> 'env -> 'a_0 option -> 'a_1 option * 'e
method visit_qual_type : 'd -> qual_type -> qual_type * 'e
method private visit_ref : env a_0 a_1. ('env -> 'a_0 -> 'a_1 * 'e) -> 'env -> 'a_0 Pervasives.ref -> 'a_1 Pervasives.ref * 'e
method private visit_result : env a_0 a_1 b_0 b_1. ('env -> 'a_0 -> 'a_1 * 'e) -> ('env -> 'b_0 -> 'b_1 * 'e) -> 'env -> ('a_0'b_0) Result.result -> ('a_1'b_1) Result.result * 'e
method visit_stmt : 'd -> stmt -> stmt * 'e
method visit_stmt_desc : 'd -> stmt_desc -> stmt_desc * 'e
method private visit_string : env. 'env -> label_ref -> label_ref * 'e
method visit_translation_unit : 'd -> (translation_unit_descqual_type) open_node -> (translation_unit_descqual_type) open_node * 'e
method visit_translation_unit_desc : 'd -> translation_unit_desc -> translation_unit_desc * 'e
method visit_type_desc : 'd -> type_desc -> type_desc * 'e
method visit_unary_expr_kind : env. 'env -> unary_expr_kind -> unary_expr_kind * 'e
method visit_unary_expr_or_type_trait : 'd -> unary_expr_or_type_trait -> unary_expr_or_type_trait * 'e
method visit_unary_operator_kind : env. 'env -> unary_operator_kind -> unary_operator_kind * 'e
method private visit_unit : env. 'env -> unit -> unit * 'e
method visit_var_decl : 'd -> var_decl -> var_decl * 'e
method visit_var_decl_desc : 'd -> var_decl_desc -> var_decl_desc * 'e
method private virtual zero : 'e