Module InferIR__Var
Single abstraction for all the kinds of variables in SIL
type t
= private
|
LogicalVar of InferIR.Ident.t
|
ProgramVar of InferIR.Pvar.t
val equal : t -> t -> bool
val compare_modulo_this : t -> t -> int
val of_id : InferIR.Ident.t -> t
val of_pvar : InferIR.Pvar.t -> t
val of_formal_index : int -> t
Create a variable representing the ith formal of the current procedure
val get_all_vars_in_exp : InferIR.Exp.t -> t InferStdlib.IStd.Sequence.t
Get all free and program vars
val to_exp : t -> InferIR.Exp.t
val get_ident : t -> InferIR.Ident.t option
val get_pvar : t -> InferIR.Pvar.t option
val is_global : t -> bool
val is_local_to_procedure : InferIR.Typ.Procname.t -> t -> bool
val is_return : t -> bool
val is_footprint : t -> bool
val is_none : t -> bool
val appears_in_source_code : t -> bool
return true if this variable appears in source code (i.e., is not a LogicalVar or a frontend-generated ProgramVar)
val is_cpp_temporary : t -> bool
val get_footprint_index : t -> int option
val pp : Stdlib.Format.formatter -> t -> unit
module Map : InferStdlib.PrettyPrintable.PPMap with type PPMap.key = t