heptagon/compiler/obc/c/async.ml

25 lines
473 B
OCaml
Raw Normal View History

2020-12-25 22:23:25 +01:00
open Obc
open C
open Idents
open Names
let async_global_var_name od = "g_async__" ^ (name od.o_ident)
let filter_async_objs cd =
List.filter
(fun od ->
match od.o_ack with
| Some _ -> true
| None -> false)
cd.cd_objs
let async_global_objs_defs cd =
List.map
(fun od ->
let name = async_global_var_name od in
let ty = Cty_id (qn_append od.o_class "_async") in
Cvardef (name, ty))
(filter_async_objs cd)