Allows the implementation of typed tree inspection using open recursion
type iterator = {- attribute : iterator -> Typedtree.attribute -> unit;
- attributes : iterator -> Typedtree.attributes -> unit;
- binding_op : iterator -> Typedtree.binding_op -> unit;
- case : 'k. iterator -> 'k Typedtree.case -> unit;
- class_declaration : iterator -> Typedtree.class_declaration -> unit;
- class_description : iterator -> Typedtree.class_description -> unit;
- class_expr : iterator -> Typedtree.class_expr -> unit;
- class_field : iterator -> Typedtree.class_field -> unit;
- class_signature : iterator -> Typedtree.class_signature -> unit;
- class_structure : iterator -> Typedtree.class_structure -> unit;
- class_type : iterator -> Typedtree.class_type -> unit;
- class_type_declaration : iterator -> Typedtree.class_type_declaration -> unit;
- class_type_field : iterator -> Typedtree.class_type_field -> unit;
- env : iterator -> Env.t -> unit;
- expr : iterator -> Typedtree.expression -> unit;
- extension_constructor : iterator -> Typedtree.extension_constructor -> unit;
- location : iterator -> Location.t -> unit;
- module_binding : iterator -> Typedtree.module_binding -> unit;
- module_coercion : iterator -> Typedtree.module_coercion -> unit;
- module_declaration : iterator -> Typedtree.module_declaration -> unit;
- module_substitution : iterator -> Typedtree.module_substitution -> unit;
- module_expr : iterator -> Typedtree.module_expr -> unit;
- module_type : iterator -> Typedtree.module_type -> unit;
- module_type_declaration : iterator -> Typedtree.module_type_declaration -> unit;
- package_type : iterator -> Typedtree.package_type -> unit;
- pat : 'k. iterator -> 'k Typedtree.general_pattern -> unit;
- row_field : iterator -> Typedtree.row_field -> unit;
- object_field : iterator -> Typedtree.object_field -> unit;
- open_declaration : iterator -> Typedtree.open_declaration -> unit;
- open_description : iterator -> Typedtree.open_description -> unit;
- signature : iterator -> Typedtree.signature -> unit;
- signature_item : iterator -> Typedtree.signature_item -> unit;
- structure : iterator -> Typedtree.structure -> unit;
- structure_item : iterator -> Typedtree.structure_item -> unit;
- typ : iterator -> Typedtree.core_type -> unit;
- type_declaration : iterator -> Typedtree.type_declaration -> unit;
- type_declarations : iterator -> (Asttypes.rec_flag * Typedtree.type_declaration list) -> unit;
- type_extension : iterator -> Typedtree.type_extension -> unit;
- type_exception : iterator -> Typedtree.type_exception -> unit;
- type_kind : iterator -> Typedtree.type_kind -> unit;
- value_binding : iterator -> Typedtree.value_binding -> unit;
- value_bindings : iterator -> (Asttypes.rec_flag * Typedtree.value_binding list) -> unit;
- value_description : iterator -> Typedtree.value_description -> unit;
- with_constraint : iterator -> Typedtree.with_constraint -> unit;
- item_declaration : iterator -> Typedtree.item_declaration -> unit;
}val default_iterator : iterator
