IR.DecompiledExp
The Smallfoot Intermediate Language: Decompiled Expressions
type t =
| Darray of t * t
| Dbinop of Binop.t * t * t
| Dconst of Const.t
| Dsizeof of Typ.t * t option * Subtype.t
| Dderef of t
| Dfcall of t * t list * IBase.Location.t * CallFlags.t
| Darrow of t * Fieldname.t
| Ddot of t * Fieldname.t
| Dpvar of Pvar.t
| Dpvaraddr of Pvar.t
| Dunop of Unop.t * t
| Dunknown
| Dretcall of t * t list * IBase.Location.t * 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 : F.formatter -> t -> unit
val to_string : t -> string
convert to a string
val pp_vpath : IStdlib.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