jon.recoil.org

Module Tast_iterator

Allows the implementation of typed tree inspection using open recursion

type iterator = {
  1. attribute : Tast_iterator.iterator -> Typedtree.attribute -> unit;
  2. attributes : Tast_iterator.iterator -> Typedtree.attributes -> unit;
  3. binding_op : Tast_iterator.iterator -> Typedtree.binding_op -> unit;
  4. case : 'k. Tast_iterator.iterator -> 'k Typedtree.case -> unit;
  5. class_declaration : Tast_iterator.iterator -> Typedtree.class_declaration -> unit;
  6. class_description : Tast_iterator.iterator -> Typedtree.class_description -> unit;
  7. class_expr : Tast_iterator.iterator -> Typedtree.class_expr -> unit;
  8. class_field : Tast_iterator.iterator -> Typedtree.class_field -> unit;
  9. class_signature : Tast_iterator.iterator -> Typedtree.class_signature -> unit;
  10. class_structure : Tast_iterator.iterator -> Typedtree.class_structure -> unit;
  11. class_type : Tast_iterator.iterator -> Typedtree.class_type -> unit;
  12. class_type_declaration : Tast_iterator.iterator -> Typedtree.class_type_declaration -> unit;
  13. class_type_field : Tast_iterator.iterator -> Typedtree.class_type_field -> unit;
  14. env : Tast_iterator.iterator -> Env.t -> unit;
  15. expr : Tast_iterator.iterator -> Typedtree.expression -> unit;
  16. extension_constructor : Tast_iterator.iterator -> Typedtree.extension_constructor -> unit;
  17. jkind_annotation : Tast_iterator.iterator -> Parsetree.jkind_annotation -> unit;
  18. location : Tast_iterator.iterator -> Location.t -> unit;
  19. module_binding : Tast_iterator.iterator -> Typedtree.module_binding -> unit;
  20. module_coercion : Tast_iterator.iterator -> Typedtree.module_coercion -> unit;
  21. module_declaration : Tast_iterator.iterator -> Typedtree.module_declaration -> unit;
  22. module_substitution : Tast_iterator.iterator -> Typedtree.module_substitution -> unit;
  23. module_expr : Tast_iterator.iterator -> Typedtree.module_expr -> unit;
  24. module_type : Tast_iterator.iterator -> Typedtree.module_type -> unit;
  25. module_type_declaration : Tast_iterator.iterator -> Typedtree.module_type_declaration -> unit;
  26. package_type : Tast_iterator.iterator -> Typedtree.package_type -> unit;
  27. pat : 'k. Tast_iterator.iterator -> 'k Typedtree.general_pattern -> unit;
  28. row_field : Tast_iterator.iterator -> Typedtree.row_field -> unit;
  29. object_field : Tast_iterator.iterator -> Typedtree.object_field -> unit;
  30. open_declaration : Tast_iterator.iterator -> Typedtree.open_declaration -> unit;
  31. open_description : Tast_iterator.iterator -> Typedtree.open_description -> unit;
  32. signature : Tast_iterator.iterator -> Typedtree.signature -> unit;
  33. signature_item : Tast_iterator.iterator -> Typedtree.signature_item -> unit;
  34. structure : Tast_iterator.iterator -> Typedtree.structure -> unit;
  35. structure_item : Tast_iterator.iterator -> Typedtree.structure_item -> unit;
  36. typ : Tast_iterator.iterator -> Typedtree.core_type -> unit;
  37. type_declaration : Tast_iterator.iterator -> Typedtree.type_declaration -> unit;
  38. type_declarations : Tast_iterator.iterator -> (Asttypes.rec_flag * Typedtree.type_declaration list) -> unit;
  39. type_extension : Tast_iterator.iterator -> Typedtree.type_extension -> unit;
  40. type_exception : Tast_iterator.iterator -> Typedtree.type_exception -> unit;
  41. type_kind : Tast_iterator.iterator -> Typedtree.type_kind -> unit;
  42. value_binding : Tast_iterator.iterator -> Typedtree.value_binding -> unit;
  43. value_bindings : Tast_iterator.iterator -> (Asttypes.rec_flag * Typedtree.value_binding list) -> unit;
  44. value_description : Tast_iterator.iterator -> Typedtree.value_description -> unit;
  45. with_constraint : Tast_iterator.iterator -> Typedtree.with_constraint -> unit;
  46. item_declaration : Tast_iterator.iterator -> Typedtree.item_declaration -> unit;
}
val default_iterator : Tast_iterator.iterator