File: ppxlib.ml

package info (click to toggle)
ppxlib 0.15.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 1,284 kB
  • sloc: ml: 17,184; sh: 149; makefile: 36; python: 36
file content (58 lines) | stat: -rw-r--r-- 1,966 bytes parent folder | download
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
(** Standard library for ppx rewriters *)

(** Make sure code using Ppxlib doesn't refer to compiler-libs without being explicit
    about it *)
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 Parser       := Parser
           with module Parsetree    := Parsetree
           with module Pprintast    := Pprintast
           with module Syntaxerr    := Syntaxerr
          )
end (** @inline *)

(** Includes the overrides from Ppxlib_ast, as well as all the Ast definitions since we
    need them in every single ppx *)
include Ppxlib_ast
include Ast

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 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

include Common

(**/**)

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