Module Ppx_minidebugSource

module A = Ppxlib.Ast_builder.Default
Sourcetype log_value =
  1. | Sexp
  2. | Show
  3. | Pp
Sourcetype toplevel_kind =
  1. | Nested
  2. | Runtime_outer
  3. | Runtime_passing
  4. | Runtime_local
Sourceval is_local_debug_runtime : toplevel_kind -> bool
Sourceval global_log_count : int ref
Sourcetype log_level =
  1. | Comptime of int
  2. | Runtime of Ppxlib.expression
Sourcetype context = {
  1. log_value : log_value;
  2. track_or_explicit : [ `Diagn | `Debug | `Track ];
  3. output_type_info : bool;
  4. interrupts : bool;
  5. log_level : log_level;
  6. entry_log_level : log_level;
  7. hidden : bool;
  8. toplevel_kind : toplevel_kind;
}
Sourceval init_context : context ref
Sourceval parse_log_level : Ppxlib.expression -> log_level
Sourceval last_ident : Ppxlib.longident -> string
Sourceval typ2str : Ppxlib.core_type -> string
Sourceval pat2descr : default:String.t -> Ppxlib.pattern -> String.t Ppxlib.loc
Sourceval pat2expr : Ppxlib.pattern -> Ppxlib_ast.Ast.expression
Sourceval lift_track_or_explicit : loc:Ppxlib.location -> [< `Debug | `Diagn | `Track ] -> Ppxlib_ast.Ast.expression
Sourceval ll_to_expr : digit_loc:Ppxlib__.Location.t -> log_level -> Ppxlib__.Import.expression
Sourceval open_log : ?message:string -> loc:Ppxlib__.Location.t -> log_level:log_level -> [< `Debug | `Diagn | `Track ] -> Ppxlib__.Import.expression
Sourceval open_log_no_source : message:Ppxlib_ast.Ast.expression -> loc:Ppxlib.location -> log_level:log_level -> [< `Debug | `Diagn | `Track ] -> Ppxlib_ast.Ast.expression
Sourceval close_log : loc:Ppxlib.location -> Ppxlib_ast.Ast.expression
Sourceval to_descr : context -> loc:Ppxlib.location -> descr_loc:string Ppxlib.loc option -> Ppxlib.core_type -> Ppxlib_ast.Ast.expression
Sourceval check_comptime_log_level : context -> is_explicit:bool -> is_result:'a -> log_level:log_level -> Ppxlib.expression -> (unit -> Ppxlib_ast.Ast.expression) -> Ppxlib_ast.Ast.expression
Sourceval log_value_sexp : context -> loc:Ppxlib.location -> typ:Ppxlib.core_type -> ?descr_loc:string Ppxlib.loc -> is_explicit:bool -> is_result:bool -> log_level:log_level -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
Sourceval splice_lident : id_prefix:String.t -> Ppxlib.longident -> Ppxlib.longident
Sourceval log_value_pp : context -> loc:Ppxlib__.Location.t -> typ:Ppxlib.core_type -> ?descr_loc:string Ppxlib.loc -> is_explicit:bool -> is_result:bool -> log_level:log_level -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
Sourceval log_value_show : context -> loc:Ppxlib.location -> typ:Ppxlib.core_type -> ?descr_loc:string Ppxlib.loc -> is_explicit:bool -> is_result:bool -> log_level:log_level -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
Sourceval log_value : context -> loc:Ppxlib.location -> typ:Ppxlib.core_type -> ?descr_loc:string Ppxlib.loc -> is_explicit:bool -> is_result:bool -> log_level:log_level -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
Sourceval log_value_printbox : context -> loc:Ppxlib.location -> log_level:log_level -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
Sourceval log_string : loc:Ppxlib__.Location.t -> descr_loc:string Ppxlib.loc -> log_level:log_level -> string -> Ppxlib__.Import.expression
Sourceval log_string_with_descr : loc:Ppxlib.location -> message:Ppxlib_ast.Ast.expression -> log_level:log_level -> string -> Ppxlib_ast.Ast.expression
Sourcetype fun_arg =
  1. | Pfunction_param of Ppxlib.function_param
  2. | Pexp_newtype_arg of Ppxlib.label Ppxlib.loc * Ppxlib.location * Ppxlib.location_stack * Ppxlib.attributes
Sourceval collect_fun_typs : ?to_drop:'a list -> Ppxlib.core_type list -> Ppxlib.core_type -> Ppxlib.core_type list * Ppxlib.core_type
Sourceval pick : typ:Ppxlib.core_type -> ?alt_typ:Ppxlib.core_type -> unit -> Ppxlib.core_type
Sourceval typ_of_constraint : Ppxlib.type_constraint option -> Ppxlib.core_type option
Sourceval collect_fun : fun_arg list -> Ppxlib.expression -> fun_arg list * Ppxlib.expression * Ppxlib.core_type option
Sourceval expand_fun : Ppxlib.expression -> fun_arg list -> Ppxlib.expression
Sourceval has_unprintable_type : Ppxlib.core_type -> bool
Sourceval bound_patterns : alt_typ:Ppxlib.core_type option -> Ppxlib.pattern -> Ppxlib__.Import.pattern * (String.t Ppxlib.loc * Ppxlib.pattern * Ppxlib.core_type) list
Sourceval entry_with_interrupts : context -> loc:Ppxlib__.Location.t -> ?descr_loc:string Ppxlib.loc -> ?message:Ppxlib_ast.Ast.expression -> log_count_before:int -> ?header:Ppxlib_ast.Ast.expression -> preamble:Ppxlib_ast.Ast.expression -> entry:Ppxlib_ast.Ast.expression -> result:Ppxlib_ast.Ast.pattern -> log_result:Ppxlib_ast.Ast.expression -> unit -> Ppxlib_ast.Ast.expression
Sourceval debug_body : context -> (context -> Ppxlib_ast.Ast.expression -> Ppxlib_ast.Ast.expression) -> loc:Ppxlib__.Location.t -> message:string -> descr_loc:string Ppxlib.loc -> log_count_before:int -> arg_logs:Ppxlib_ast.Ast.expression list -> Ppxlib.core_type option -> Ppxlib_ast.Ast.expression -> Ppxlib_ast.Ast.expression
Sourceval pass_runtime : ?always:bool -> toplevel_kind -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
Sourceval unpack_runtime : toplevel_kind -> Ppxlib.expression -> Ppxlib.expression
Sourceval has_runtime_arg : context -> bool
Sourceval loc_to_name : Ppxlib.location -> string
Sourceval is_comptime_nothing : context -> bool
Sourceval debug_fun : context -> (context -> Ppxlib_ast.Ast.expression -> Ppxlib_ast.Ast.expression) -> ?typ:Ppxlib.core_type -> ?ret_descr:string Ppxlib.loc -> ?ret_typ:Ppxlib.core_type -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
Sourceval debug_case : ?unpack_context:toplevel_kind -> context -> (context -> Ppxlib_ast.Ast.expression -> Ppxlib_ast.Ast.expression) -> ?ret_descr:string Ppxlib.loc -> ?ret_typ:Ppxlib.core_type -> ?arg_typ:Ppxlib.core_type -> string -> int -> Ppxlib.case -> Ppxlib.case
Sourceval debug_function : ?unpack_context:toplevel_kind -> context -> (context -> Ppxlib_ast.Ast.expression -> Ppxlib_ast.Ast.expression) -> loc:Ppxlib.location -> ?constr:Ppxlib.type_constraint -> ?ret_descr:string Ppxlib.loc -> ?ret_typ:Ppxlib.core_type -> ?arg_typ:Ppxlib.core_type -> Ppxlib.case list -> Ppxlib.expression
Sourceval debug_binding : context -> (context -> Ppxlib_ast.Ast.expression -> Ppxlib_ast.Ast.expression) -> Ppxlib.value_binding -> Ppxlib.value_binding
Sourceval extract_type : ?default:Ppxlib_ast.Ast.core_type -> alt_typ:Ppxlib.core_type option -> Ppxlib.expression -> Ppxlib__.Import.core_type
Sourcetype rule = {
  1. ext_point : string;
  2. track_or_explicit : [ `Diagn | `Debug | `Track ];
  3. toplevel_kind : toplevel_kind;
  4. expander : [ `Debug | `Str ];
  5. log_value : log_value;
  6. entry_log_level : log_level option;
}
Sourceval entry_rules : (string, rule) Hashtbl.t
Sourceval with_opt_digit : prefix:string -> suffix:string -> string -> bool
Sourceval get_opt_digit : prefix:string -> suffix:string -> string -> log_level option
Sourceval traverse_expression : context Ppxlib.Ast_traverse.map_with_context
Sourceval debug_expander : context -> Ppxlib.expression -> Ppxlib.expression
Sourceval str_expander : context -> loc:Ppxlib.location -> Ppxlib.structure_item list -> Ppxlib.structure_item
Sourceval global_output_type_info : Ppxlib.Context_free.Rule.t
Sourceval global_interrupts : Ppxlib.Context_free.Rule.t
Sourceval global_log_level : Ppxlib.Context_free.Rule.t
Sourceval global_log_level_from_env_var : check_consistency:bool -> Ppxlib.Context_free.Rule.t
Sourceval noop_for_testing : Ppxlib.Context_free.Rule.t
Sourceval rules : Ppxlib.Context_free.Rule.t list