package ppxlib

  1. Overview
  2. Docs
Standard library for ppx rewriters

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ppxlib-0.28.0.tbz
sha256=d87ae5f9a081206308ca964809b50a66aeb8e83d254801e8b9675448b60cf377
sha512=03270d43e91485e63c7dc115a71933ffd8cb2910c273d605d2800fa69f523dcd4de1fbe31fd6c2f6979675c681343bcf4e35be06934565bf28edf4ea03f5da8e

doc/src/ppxlib/ppxlib.ml.html

Source file ppxlib.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
(** Standard library for ppx rewriters *)

(** Make sure code using Ppxlib doesn't refer to compiler-libs without being
    explicit about it:

    @closed *)
include struct
  [@@@warning "-3"]

  open Ocaml_shadow

  include (
    Ocaml_shadow :
      module type of struct
        include Ocaml_shadow
      end
      with module Ast_helper := Ast_helper
      with module Asttypes := Asttypes
      with module Docstrings := Docstrings
      with module Identifiable := Identifiable
      with module Lexer := Lexer
      with module Location := Location
      with module Longident := Longident
      with module Parse := Parse
      with module Parsetree := Parsetree
      with module Pprintast := Pprintast
      with module Syntaxerr := Syntaxerr)
end

(** Expose some modules from {!Ppxlib_ast}; in particular, overwrite some of the
    modules above *)

module Ast = Ppxlib_ast.Ast
module Ast_helper = Ppxlib_ast.Ast_helper
module Asttypes = Ppxlib_ast.Asttypes
module Parse = Ppxlib_ast.Parse
module Parsetree = Ppxlib_ast.Parsetree
module Pprintast = Ppxlib_ast.Pprintast
module Selected_ast = Ppxlib_ast.Selected_ast

include Ast
(** Include all the Ast definitions since we need them in every single ppx

    @closed *)

module Ast_builder = Ast_builder
module Ast_pattern = Ast_pattern
module Ast_traverse = Ast_traverse
module Attribute = Attribute
module Code_path = Code_path
module Caller_id = Caller_id
module Context_free = Context_free
module Deriving = Deriving
module Driver = Driver
module Expansion_context = Expansion_context
module Extension = Extension
module File_path = File_path
module Keyword = Keyword
module Loc = Loc
module Location = Location
module Longident = Longident
module Merlin_helpers = Merlin_helpers
module Reserved_namespaces = Name.Reserved_namespaces
module Spellcheck = Spellcheck
module Quoter = Quoter
module Ast_io = Utils.Ast_io.Read_bin

include Common
(** @closed *)

(**/**)

(* For tests and Ppx_core compatibility layer *)
module Ppxlib_private = struct
  module Common = Common
  module Name = Name
end