PulseAbductiveDomain.Stack
Safe version of PulseBaseStack
val add : IR.Var.t -> PulseBaseStack.value -> t -> t
val fold :
?pre_or_post:[ `Pre | `Post ] ->
(IR.Var.t -> PulseBaseStack.value -> 'a -> 'a) ->
t ->
'a ->
'a
pre_or_post
defaults to `Post
val find_opt : IR.Var.t -> t -> PulseBaseStack.value option
val eval :
Pulselib.PulseBasicInterface.ValueHistory.t ->
IR.Var.t ->
t ->
t
* (Pulselib.PulseBasicInterface.AbstractValue.t
* Pulselib.PulseBasicInterface.ValueHistory.t)
return the value of the variable in the stack or create a fresh one if needed
val exists : (IR.Var.t -> PulseBaseStack.value -> bool) -> t -> bool