Module Melange_compiler_libs.Tast_mapper

A generic Typedtree mapper

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