package zanuda

  1. Overview
  2. Docs

Module My_untypeSource

These extra functions are an extension of Untypeast module from compiler libs. Maybe in new versions of compiler they will be available out of box.

include module type of struct include Untypeast end
val lident_of_path : Path.t -> Longident.t
type mapper = Untypeast.mapper = {
  1. attribute : mapper -> Typedtree.attribute -> Parsetree.attribute;
  2. attributes : mapper -> Typedtree.attribute list -> Parsetree.attribute list;
  3. binding_op : mapper -> Typedtree.binding_op -> Typedtree.pattern -> Parsetree.binding_op;
  4. case : 'k. mapper -> 'k Typedtree.case -> Parsetree.case;
  5. class_declaration : mapper -> Typedtree.class_declaration -> Parsetree.class_declaration;
  6. class_description : mapper -> Typedtree.class_description -> Parsetree.class_description;
  7. class_expr : mapper -> Typedtree.class_expr -> Parsetree.class_expr;
  8. class_field : mapper -> Typedtree.class_field -> Parsetree.class_field;
  9. class_signature : mapper -> Typedtree.class_signature -> Parsetree.class_signature;
  10. class_structure : mapper -> Typedtree.class_structure -> Parsetree.class_structure;
  11. class_type : mapper -> Typedtree.class_type -> Parsetree.class_type;
  12. class_type_declaration : mapper -> Typedtree.class_type_declaration -> Parsetree.class_type_declaration;
  13. class_type_field : mapper -> Typedtree.class_type_field -> Parsetree.class_type_field;
  14. constructor_declaration : mapper -> Typedtree.constructor_declaration -> Parsetree.constructor_declaration;
  15. expr : mapper -> Typedtree.expression -> Parsetree.expression;
  16. extension_constructor : mapper -> Typedtree.extension_constructor -> Parsetree.extension_constructor;
  17. include_declaration : mapper -> Typedtree.include_declaration -> Parsetree.include_declaration;
  18. include_description : mapper -> Typedtree.include_description -> Parsetree.include_description;
  19. label_declaration : mapper -> Typedtree.label_declaration -> Parsetree.label_declaration;
  20. location : mapper -> Location.t -> Location.t;
  21. module_binding : mapper -> Typedtree.module_binding -> Parsetree.module_binding;
  22. module_declaration : mapper -> Typedtree.module_declaration -> Parsetree.module_declaration;
  23. module_substitution : mapper -> Typedtree.module_substitution -> Parsetree.module_substitution;
  24. module_expr : mapper -> Typedtree.module_expr -> Parsetree.module_expr;
  25. module_type : mapper -> Typedtree.module_type -> Parsetree.module_type;
  26. module_type_declaration : mapper -> Typedtree.module_type_declaration -> Parsetree.module_type_declaration;
  27. package_type : mapper -> Typedtree.package_type -> Parsetree.package_type;
  28. open_declaration : mapper -> Typedtree.open_declaration -> Parsetree.open_declaration;
  29. open_description : mapper -> Typedtree.open_description -> Parsetree.open_description;
  30. pat : 'k. mapper -> 'k Typedtree.general_pattern -> Parsetree.pattern;
  31. row_field : mapper -> Typedtree.row_field -> Parsetree.row_field;
  32. object_field : mapper -> Typedtree.object_field -> Parsetree.object_field;
  33. signature : mapper -> Typedtree.signature -> Parsetree.signature;
  34. signature_item : mapper -> Typedtree.signature_item -> Parsetree.signature_item;
  35. structure : mapper -> Typedtree.structure -> Parsetree.structure;
  36. structure_item : mapper -> Typedtree.structure_item -> Parsetree.structure_item;
  37. typ : mapper -> Typedtree.core_type -> Parsetree.core_type;
  38. type_declaration : mapper -> Typedtree.type_declaration -> Parsetree.type_declaration;
  39. type_extension : mapper -> Typedtree.type_extension -> Parsetree.type_extension;
  40. type_exception : mapper -> Typedtree.type_exception -> Parsetree.type_exception;
  41. type_kind : mapper -> Typedtree.type_kind -> Parsetree.type_kind;
  42. value_binding : mapper -> Typedtree.value_binding -> Parsetree.value_binding;
  43. value_description : mapper -> Typedtree.value_description -> Parsetree.value_description;
  44. with_constraint : mapper -> (Path.t * Longident.t Location.loc * Typedtree.with_constraint) -> Parsetree.with_constraint;
}
val default_mapper : mapper
val untype_structure : ?mapper:mapper -> Typedtree.structure -> Parsetree.structure
val untype_signature : ?mapper:mapper -> Typedtree.signature -> Parsetree.signature
val untype_expression : ?mapper:mapper -> Typedtree.expression -> Parsetree.expression
val untype_pattern : ?mapper:mapper -> 'a Typedtree.general_pattern -> Parsetree.pattern
val constant : Asttypes.constant -> Parsetree.constant

New functions

Sourceval expr : ?mapper:mapper -> Typedtree.expression -> Parsetree.expression
Sourceval untype_stru_item : Typedtree.structure_item -> Parsetree.structure_item