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