$`int:stop_line$, $`int:stop_bol$, $`int:stop_off$,
$`bool:ghost$) >>
-let add_entry_point _loc local name parameters rtype code =
+let add_entry_point _loc local name parameters rtype code includes =
let loc = expr_of_loc _loc _loc in
let local =
let code = expr_of_option _loc code in
+ let includes = match includes with None -> <:expr< [] >> | Some xs -> xs in
+
<:str_item<
let ep = { Wrappi_types.ep_loc = $loc$;
ep_local = $local$;
ep_name = $str:name$;
ep_ftype = ($rtype$, $parameters$, []);
- ep_code = $code$ } in
+ ep_code = $code$;
+ ep_includes = $includes$ } in
Wrappi_accumulator.add_entry_point ep
>>
local = OPT "local";
rtype = rtype; name = LIDENT;
"("; parameters = LIST0 parameter SEP ","; ")";
- code = OPT [ code = expr -> code ] ->
- add_entry_point _loc local name parameters rtype code
+ code = OPT [ code = expr -> code ];
+ includes = OPT [ "includes"; includes = expr -> includes ]
+ ->
+ add_entry_point _loc local name parameters rtype code includes
]
| [ "typedef"; t = ptype; name = LIDENT ->
add_typedef _loc name t