Module Generator_state.Make
Parameters
Signature
type state = {value_env : (string, Llvm.llvalue, Base.String.comparator_witness) Base.Map.t;type_env : (string, Llvm.lltype, Base.String.comparator_witness) Base.Map.t;current_module : Llvm.llmodule;gc_allocas : (string, Llvm.llvalue, Base.String.comparator_witness) Base.Map.t
option;gc_entry_block : Llvm.llbasicblock option;naming_state : N.t;resolve : (int -> string -> (string * int) option) option;current_func_index : int;
}type 'a t = state -> ('a * state, string) Stdlib.Result.tval bind : 'a t -> ('a -> 'b t) -> 'b tval (let*) : 'a t -> ('a -> 'b t) -> 'b tval fail : string -> 'a tval map_find_opt : (string, 'a, 'cmp) Base.Map.t -> string -> 'a optionval find_value_opt : string -> Llvm.llvalue option tval find_type_opt : string -> Llvm.lltype option tval resolved_find_value_opt : string -> Llvm.llvalue option tval resolved_find_type_opt : string -> Llvm.lltype option tval set_value : string -> Llvm.llvalue -> unit tval set_type : string -> Llvm.lltype -> unit tval remove_value : string -> unit tval get_gc_allocas :
(string, Llvm.llvalue, Base.String.comparator_witness) Base.Map.t option tval set_gc_allocas :
(string, Llvm.llvalue, Base.String.comparator_witness) Base.Map.t option ->
unit tval get_gc_entry_block : Llvm.llbasicblock option tval set_gc_entry_block : Llvm.llbasicblock option -> unit tval fresh_blocks : (string * string * string) tval run : 'a t -> state -> ('a * state, string) Stdlib.Result.t