Module InferIR__DecompiledExp
The Smallfoot Intermediate Language: Decompiled Expressions
type t
=
|
Darray of t * t
|
Dbinop of InferIR.Binop.t * t * t
|
Dconst of InferIR.Const.t
|
Dsizeof of InferIR.Typ.t * t option * InferIR.Subtype.t
|
Dderef of t
|
Dfcall of t * t list * InferBase.Location.t * InferIR.CallFlags.t
|
Darrow of t * InferIR.Typ.Fieldname.t
|
Ddot of t * InferIR.Typ.Fieldname.t
|
Dpvar of InferIR.Pvar.t
|
Dpvaraddr of InferIR.Pvar.t
|
Dunop of InferIR.Unop.t * t
|
Dunknown
|
Dretcall of t * t list * InferBase.Location.t * InferIR.CallFlags.t
expression representing the result of decompilation
type vpath
= t option
Value paths: identify an occurrence of a value in a symbolic heap each expression represents a path, with Dpvar being the simplest one
val pp_vpath : InferStdlib.Pp.env -> F.formatter -> vpath -> unit
Pretty print a value path
val has_tmp_var : t -> bool
return true if
dexp
contains a temporary pvar