Module Melange_compiler_libs.Tast_mapper
A generic Typedtree mapper
type mapper = {
attribute: mapper => Typedtree.attribute => Typedtree.attribute,
attributes: mapper => Typedtree.attributes => Typedtree.attributes,
binding_op: mapper => Typedtree.binding_op => Typedtree.binding_op,
case: 'k. mapper => Typedtree.case('k) => Typedtree.case('k),
class_declaration: mapper =>
Typedtree.class_declaration =>
Typedtree.class_declaration,
class_description: mapper =>
Typedtree.class_description =>
Typedtree.class_description,
class_expr: mapper => Typedtree.class_expr => Typedtree.class_expr,
class_field: mapper => Typedtree.class_field => Typedtree.class_field,
class_signature: mapper =>
Typedtree.class_signature =>
Typedtree.class_signature,
class_structure: mapper =>
Typedtree.class_structure =>
Typedtree.class_structure,
class_type: mapper => Typedtree.class_type => Typedtree.class_type,
class_type_declaration: mapper =>
Typedtree.class_type_declaration =>
Typedtree.class_type_declaration,
class_type_field: mapper =>
Typedtree.class_type_field =>
Typedtree.class_type_field,
env: mapper => Env.t => Env.t,
expr: mapper => Typedtree.expression => Typedtree.expression,
extension_constructor: mapper =>
Typedtree.extension_constructor =>
Typedtree.extension_constructor,
location: mapper => Location.t => Location.t,
module_binding: mapper => Typedtree.module_binding => Typedtree.module_binding,
module_coercion: mapper =>
Typedtree.module_coercion =>
Typedtree.module_coercion,
module_declaration: mapper =>
Typedtree.module_declaration =>
Typedtree.module_declaration,
module_substitution: mapper =>
Typedtree.module_substitution =>
Typedtree.module_substitution,
module_expr: mapper => Typedtree.module_expr => Typedtree.module_expr,
module_type: mapper => Typedtree.module_type => Typedtree.module_type,
module_type_declaration: mapper =>
Typedtree.module_type_declaration =>
Typedtree.module_type_declaration,
package_type: mapper => Typedtree.package_type => Typedtree.package_type,
pat: 'k. mapper =>
Typedtree.general_pattern('k) =>
Typedtree.general_pattern('k),
row_field: mapper => Typedtree.row_field => Typedtree.row_field,
object_field: mapper => Typedtree.object_field => Typedtree.object_field,
open_declaration: mapper =>
Typedtree.open_declaration =>
Typedtree.open_declaration,
open_description: mapper =>
Typedtree.open_description =>
Typedtree.open_description,
signature: mapper => Typedtree.signature => Typedtree.signature,
signature_item: mapper => Typedtree.signature_item => Typedtree.signature_item,
structure: mapper => Typedtree.structure => Typedtree.structure,
structure_item: mapper => Typedtree.structure_item => Typedtree.structure_item,
typ: mapper => Typedtree.core_type => Typedtree.core_type,
type_declaration: mapper =>
Typedtree.type_declaration =>
Typedtree.type_declaration,
type_declarations: mapper =>
(Asttypes.rec_flag, list(Typedtree.type_declaration)) =>
(Asttypes.rec_flag, list(Typedtree.type_declaration)),
type_extension: mapper => Typedtree.type_extension => Typedtree.type_extension,
type_exception: mapper => Typedtree.type_exception => Typedtree.type_exception,
type_kind: mapper => Typedtree.type_kind => Typedtree.type_kind,
value_binding: mapper => Typedtree.value_binding => Typedtree.value_binding,
value_bindings: mapper =>
(Asttypes.rec_flag, list(Typedtree.value_binding)) =>
(Asttypes.rec_flag, list(Typedtree.value_binding)),
value_description: mapper =>
Typedtree.value_description =>
Typedtree.value_description,
with_constraint: mapper =>
Typedtree.with_constraint =>
Typedtree.with_constraint,
};