Up
module
Flow
:
sig
#
type
def =
#
| Phi
of
Code
.
VarSet
.
t
#
| Expr
of
Code
.
expr
#
| Param
#
type
info = {
#
info_defs
:
def
array
;
#
info_known_origins
:
Code
.
VarSet
.
t
Code
.
VarTbl
.
t
;
#
info_maybe_unknown
: bool
Code
.
VarTbl
.
t
;
#
info_possibly_mutable
: bool array
;
}
#
val
get_approx :
info
->
(
Code
.
VarSet
.
elt
->
'b)
->
'b
->
('b
->
'b
->
'b)
->
Code
.
VarTbl
.
key
->
'b
#
val
the_def_of :
info
->
Code
.
prim_arg
->
Code
.
expr
option
#
val
the_const_of :
info
->
Code
.
prim_arg
->
Code
.
constant
option
#
val
the_string_of :
info
->
Code
.
prim_arg
->
string option
#
val
the_int :
info
->
Code
.
prim_arg
->
int32 option
#
val
f : ?skip_param:bool
->
Code
.
program
->
Code
.
program
*
info
end