package ocaml-migrate-parsetree

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

State a rewriter can access

type extra = ..
type config = {
  1. tool_name : string;
  2. include_dirs : string list;
  3. load_path : string list;
  4. debug : bool;
  5. for_package : string option;
    (*

    Additional parameters that can be passed by a caller of rewrite_{signature,strucutre} to a specific register rewriter.

    *)
  6. extras : extra list;
}
val make_config : tool_name:string -> ?include_dirs:string list -> ?load_path:string list -> ?debug:bool -> ?for_package:string -> ?extras:extra list -> unit -> config
type cookies

Registering rewriters

type 'types rewriter = config -> cookies -> 'types Migrate_parsetree_versions.get_mapper
val register : name:string -> ?reset_args:(unit -> unit) -> ?args:(Arg.key * Arg.spec * Arg.doc) list -> 'types Migrate_parsetree_versions.ocaml_version -> 'types rewriter -> unit

Running registered rewriters

val run_as_ast_mapper : string list -> Ast_mapper.mapper
val run_as_ppx_rewriter : unit -> 'a
val run_main : unit -> 'a

Manual mapping

type some_signature =
  1. | Sig : (module Migrate_parsetree_versions.OCaml_version with type Ast.Parsetree.signature = 'concrete) * 'concrete -> some_signature
type some_structure =
  1. | Str : (module Migrate_parsetree_versions.OCaml_version with type Ast.Parsetree.structure = 'concrete) * 'concrete -> some_structure
OCaml

Innovation. Community. Security.