package server-reason-react

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

Source file double_hash.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
open Ppxlib
module Builder = Ast_builder.Default

let expander e =
  let loc = e.pexp_loc in
  match e.pexp_desc with
  | Pexp_apply
      ( {
          pexp_desc = Pexp_ident { txt = Lident "##"; _ };
          pexp_loc_stack = _;
          pexp_loc = _;
          pexp_attributes = _;
        },
        [ (Nolabel, objectArg); (Nolabel, methodArg) ] ) -> (
      match methodArg with
      | { pexp_desc = Pexp_ident { txt = Lident li; _ }; _ } ->
          Some (Builder.pexp_send ~loc objectArg { txt = li; loc })
      | _ -> None)
  | _ -> None

let rule = Context_free.Rule.special_function "##" expander
OCaml

Innovation. Community. Security.