package ppx_optcomp

  1. Overview
  2. Docs
module Filename = Filename
module Env : sig ... end
module Value : sig ... end
module Of_item : sig ... end
module Ast_utils : sig ... end
module Token_stream : sig ... end
module Meta_ast : sig ... end
val rewrite : drop_item:('a -> Base.unit) -> eval_item:(Env.t -> 'a -> 'a) -> of_item:('a -> 'a Ppx_optcomp__.Token.t) -> env:Env.t -> 'a Base.list -> Env.t * 'a Base.list
val map : < arg_label : Env.t -> Ppxlib_ast.Ast.arg_label -> Ppxlib_ast.Ast.arg_label ; array : 'a. (Env.t, 'a) Ppxlib_traverse_builtins.T.map_with_context -> (Env.t, 'a array) Ppxlib_traverse_builtins.T.map_with_context ; attribute : Env.t -> Ppxlib_ast.Ast.attribute -> Ppxlib_ast.Ast.attribute ; attributes : Env.t -> Ppxlib_ast.Ast.attributes -> Ppxlib_ast.Ast.attributes ; binding_op : Env.t -> Ppxlib_ast.Ast.binding_op -> Ppxlib_ast.Ast.binding_op ; bool : (Env.t, bool) Ppxlib_traverse_builtins.T.map_with_context ; case : Env.t -> Ppxlib_ast.Ast.case -> Ppxlib_ast.Ast.case ; cases : Env.t -> Ppxlib_ast.Ast.cases -> Ppxlib_ast.Ast.cases ; char : (Env.t, char) Ppxlib_traverse_builtins.T.map_with_context ; class_declaration : Env.t -> Ppxlib_ast.Ast.class_declaration -> Ppxlib_ast.Ast.class_declaration ; class_description : Env.t -> Ppxlib_ast.Ast.class_description -> Ppxlib_ast.Ast.class_description ; class_expr : Env.t -> Ppxlib_ast.Ast.class_expr -> Ppxlib_ast.Ast.class_expr ; class_expr_desc : Env.t -> Ppxlib_ast.Ast.class_expr_desc -> Ppxlib_ast.Ast.class_expr_desc ; class_field : Env.t -> Ppxlib_ast.Ast.class_field -> Ppxlib_ast.Ast.class_field ; class_field_desc : Env.t -> Ppxlib_ast.Ast.class_field_desc -> Ppxlib_ast.Ast.class_field_desc ; class_field_kind : Env.t -> Ppxlib_ast.Ast.class_field_kind -> Ppxlib_ast.Ast.class_field_kind ; class_infos : 'a. (Env.t -> 'a -> 'a) -> Env.t -> 'a Ppxlib_ast.Ast.class_infos -> 'a Ppxlib_ast.Ast.class_infos ; class_signature : Env.t -> Ppxlib_ast.Ast.class_signature -> Ppxlib_ast.Ast.class_signature ; class_structure : Env.t -> Ppxlib_ast.Ast.class_structure -> Ppxlib_ast.Ast.class_structure ; class_type : Env.t -> Ppxlib_ast.Ast.class_type -> Ppxlib_ast.Ast.class_type ; class_type_declaration : Env.t -> Ppxlib_ast.Ast.class_type_declaration -> Ppxlib_ast.Ast.class_type_declaration ; class_type_desc : Env.t -> Ppxlib_ast.Ast.class_type_desc -> Ppxlib_ast.Ast.class_type_desc ; class_type_field : Env.t -> Ppxlib_ast.Ast.class_type_field -> Ppxlib_ast.Ast.class_type_field ; class_type_field_desc : Env.t -> Ppxlib_ast.Ast.class_type_field_desc -> Ppxlib_ast.Ast.class_type_field_desc ; closed_flag : Env.t -> Ppxlib_ast.Ast.closed_flag -> Ppxlib_ast.Ast.closed_flag ; constant : Env.t -> Ppxlib_ast.Ast.constant -> Ppxlib_ast.Ast.constant ; constructor_arguments : Env.t -> Ppxlib_ast.Ast.constructor_arguments -> Ppxlib_ast.Ast.constructor_arguments ; constructor_declaration : Env.t -> Ppxlib_ast.Ast.constructor_declaration -> Ppxlib_ast.Ast.constructor_declaration ; core_type : Env.t -> Ppxlib_ast.Ast.core_type -> Ppxlib_ast.Ast.core_type ; core_type_desc : Env.t -> Ppxlib_ast.Ast.core_type_desc -> Ppxlib_ast.Ast.core_type_desc ; direction_flag : Env.t -> Ppxlib_ast.Ast.direction_flag -> Ppxlib_ast.Ast.direction_flag ; directive_argument : Env.t -> Ppxlib_ast.Ast.directive_argument -> Ppxlib_ast.Ast.directive_argument ; directive_argument_desc : Env.t -> Ppxlib_ast.Ast.directive_argument_desc -> Ppxlib_ast.Ast.directive_argument_desc ; expression : Env.t -> Ppxlib_ast.Ast.expression -> Ppxlib_ast.Ast.expression ; expression_desc : Env.t -> Ppxlib_ast.Ast.expression_desc -> Ppxlib_ast.Ast.expression_desc ; extension : Env.t -> Ppxlib_ast.Ast.extension -> Ppxlib_ast.Ast.extension ; extension_constructor : Env.t -> Ppxlib_ast.Ast.extension_constructor -> Ppxlib_ast.Ast.extension_constructor ; extension_constructor_kind : Env.t -> Ppxlib_ast.Ast.extension_constructor_kind -> Ppxlib_ast.Ast.extension_constructor_kind ; functor_parameter : Env.t -> Ppxlib_ast.Ast.functor_parameter -> Ppxlib_ast.Ast.functor_parameter ; include_declaration : Env.t -> Ppxlib_ast.Ast.include_declaration -> Ppxlib_ast.Ast.include_declaration ; include_description : Env.t -> Ppxlib_ast.Ast.include_description -> Ppxlib_ast.Ast.include_description ; include_infos : 'a. (Env.t -> 'a -> 'a) -> Env.t -> 'a Ppxlib_ast.Ast.include_infos -> 'a Ppxlib_ast.Ast.include_infos ; injectivity : Env.t -> Ppxlib_ast.Ast.injectivity -> Ppxlib_ast.Ast.injectivity ; int : (Env.t, int) Ppxlib_traverse_builtins.T.map_with_context ; label : Env.t -> Ppxlib_ast.Ast.label -> Ppxlib_ast.Ast.label ; label_declaration : Env.t -> Ppxlib_ast.Ast.label_declaration -> Ppxlib_ast.Ast.label_declaration ; letop : Env.t -> Ppxlib_ast.Ast.letop -> Ppxlib_ast.Ast.letop ; list : 'a. (Env.t, 'a) Ppxlib_traverse_builtins.T.map_with_context -> (Env.t, 'a list) Ppxlib_traverse_builtins.T.map_with_context ; loc : 'a. (Env.t -> 'a -> 'a) -> Env.t -> 'a Ppxlib_ast.Ast.loc -> 'a Ppxlib_ast.Ast.loc ; location : Env.t -> Ppxlib_ast.Ast.location -> Ppxlib_ast.Ast.location ; location_stack : Env.t -> Ppxlib_ast.Ast.location_stack -> Ppxlib_ast.Ast.location_stack ; longident : Env.t -> Ppxlib_ast.Ast.longident -> Ppxlib_ast.Ast.longident ; longident_loc : Env.t -> Ppxlib_ast.Ast.longident_loc -> Ppxlib_ast.Ast.longident_loc ; module_binding : Env.t -> Ppxlib_ast.Ast.module_binding -> Ppxlib_ast.Ast.module_binding ; module_declaration : Env.t -> Ppxlib_ast.Ast.module_declaration -> Ppxlib_ast.Ast.module_declaration ; module_expr : Env.t -> Ppxlib_ast.Ast.module_expr -> Ppxlib_ast.Ast.module_expr ; module_expr_desc : Env.t -> Ppxlib_ast.Ast.module_expr_desc -> Ppxlib_ast.Ast.module_expr_desc ; module_substitution : Env.t -> Ppxlib_ast.Ast.module_substitution -> Ppxlib_ast.Ast.module_substitution ; module_type : Env.t -> Ppxlib_ast.Ast.module_type -> Ppxlib_ast.Ast.module_type ; module_type_declaration : Env.t -> Ppxlib_ast.Ast.module_type_declaration -> Ppxlib_ast.Ast.module_type_declaration ; module_type_desc : Env.t -> Ppxlib_ast.Ast.module_type_desc -> Ppxlib_ast.Ast.module_type_desc ; mutable_flag : Env.t -> Ppxlib_ast.Ast.mutable_flag -> Ppxlib_ast.Ast.mutable_flag ; object_field : Env.t -> Ppxlib_ast.Ast.object_field -> Ppxlib_ast.Ast.object_field ; object_field_desc : Env.t -> Ppxlib_ast.Ast.object_field_desc -> Ppxlib_ast.Ast.object_field_desc ; open_declaration : Env.t -> Ppxlib_ast.Ast.open_declaration -> Ppxlib_ast.Ast.open_declaration ; open_description : Env.t -> Ppxlib_ast.Ast.open_description -> Ppxlib_ast.Ast.open_description ; open_infos : 'a. (Env.t -> 'a -> 'a) -> Env.t -> 'a Ppxlib_ast.Ast.open_infos -> 'a Ppxlib_ast.Ast.open_infos ; option : 'a. (Env.t, 'a) Ppxlib_traverse_builtins.T.map_with_context -> (Env.t, 'a option) Ppxlib_traverse_builtins.T.map_with_context ; override_flag : Env.t -> Ppxlib_ast.Ast.override_flag -> Ppxlib_ast.Ast.override_flag ; package_type : Env.t -> Ppxlib_ast.Ast.package_type -> Ppxlib_ast.Ast.package_type ; pattern : Env.t -> Ppxlib_ast.Ast.pattern -> Ppxlib_ast.Ast.pattern ; pattern_desc : Env.t -> Ppxlib_ast.Ast.pattern_desc -> Ppxlib_ast.Ast.pattern_desc ; payload : Env.t -> Ppxlib_ast.Ast.payload -> Ppxlib_ast.Ast.payload ; position : Env.t -> Ppxlib_ast.Ast.position -> Ppxlib_ast.Ast.position ; private_flag : Env.t -> Ppxlib_ast.Ast.private_flag -> Ppxlib_ast.Ast.private_flag ; rec_flag : Env.t -> Ppxlib_ast.Ast.rec_flag -> Ppxlib_ast.Ast.rec_flag ; row_field : Env.t -> Ppxlib_ast.Ast.row_field -> Ppxlib_ast.Ast.row_field ; row_field_desc : Env.t -> Ppxlib_ast.Ast.row_field_desc -> Ppxlib_ast.Ast.row_field_desc ; signature : Env.t -> Ppxlib_ast.Ast.signature -> Ppxlib_ast.Ast.signature ; signature_gen : Env.t -> Ppxlib_ast.Ast.signature_item Base.list -> Env.t * Ppxlib_ast.Ast.signature_item Base.list ; signature_item : Env.t -> Ppxlib_ast.Ast.signature_item -> Ppxlib_ast.Ast.signature_item ; signature_item_desc : Env.t -> Ppxlib_ast.Ast.signature_item_desc -> Ppxlib_ast.Ast.signature_item_desc ; string : (Env.t, string) Ppxlib_traverse_builtins.T.map_with_context ; structure : Env.t -> Ppxlib_ast.Ast.structure -> Ppxlib_ast.Ast.structure ; structure_gen : Env.t -> Ppxlib_ast.Ast.structure_item Base.list -> Env.t * Ppxlib_ast.Ast.structure_item Base.list ; structure_item : Env.t -> Ppxlib_ast.Ast.structure_item -> Ppxlib_ast.Ast.structure_item ; structure_item_desc : Env.t -> Ppxlib_ast.Ast.structure_item_desc -> Ppxlib_ast.Ast.structure_item_desc ; toplevel_directive : Env.t -> Ppxlib_ast.Ast.toplevel_directive -> Ppxlib_ast.Ast.toplevel_directive ; toplevel_phrase : Env.t -> Ppxlib_ast.Ast.toplevel_phrase -> Ppxlib_ast.Ast.toplevel_phrase ; type_declaration : Env.t -> Ppxlib_ast.Ast.type_declaration -> Ppxlib_ast.Ast.type_declaration ; type_exception : Env.t -> Ppxlib_ast.Ast.type_exception -> Ppxlib_ast.Ast.type_exception ; type_extension : Env.t -> Ppxlib_ast.Ast.type_extension -> Ppxlib_ast.Ast.type_extension ; type_kind : Env.t -> Ppxlib_ast.Ast.type_kind -> Ppxlib_ast.Ast.type_kind ; value_binding : Env.t -> Ppxlib_ast.Ast.value_binding -> Ppxlib_ast.Ast.value_binding ; value_description : Env.t -> Ppxlib_ast.Ast.value_description -> Ppxlib_ast.Ast.value_description ; variance : Env.t -> Ppxlib_ast.Ast.variance -> Ppxlib_ast.Ast.variance ; virtual_flag : Env.t -> Ppxlib_ast.Ast.virtual_flag -> Ppxlib_ast.Ast.virtual_flag ; with_constraint : Env.t -> Ppxlib_ast.Ast.with_constraint -> Ppxlib_ast.Ast.with_constraint >
val state : Env.t Base.ref
val preprocess : f:(Env.t -> 'a -> Env.t * 'b) -> 'a -> 'b