Module InferBase__SymOp
Symbolic Operations and Failures: the units in which analysis work is measured
val check_wallclock_alarm : unit -> unit
if the wallclock alarm has expired, raise a timeout exception
val get_remaining_wallclock_time : unit -> float
Return the time remaining before the wallclock alarm expires
val restore_state : t -> unit
Restore the old state.
val save_state : keep_symop_total:bool -> t
Return the old state, and revert the current state to the initial one. If keep_symop_total is true, share the total counter.
type failure_kind
=
|
FKtimeout
max time exceeded
|
FKsymops_timeout of int
max symop's exceeded
|
FKrecursion_timeout of int
max recursion level exceeded
|
FKcrash of string
uncaught exception or failed assertion
exception
Analysis_failure_exe of failure_kind
Timeout exception
val try_finally : f:(unit -> 'a) -> finally:(unit -> unit) -> 'a
try_finally ~f ~finally
executesf
and thenfinally
even iff
raises an exception. Assuming thatfinally ()
terminates quicklyAnalysis_failure_exe
exceptions are handled correctly. In particular, an exception raised byf ()
is delayed untilfinally ()
finishes, sofinally ()
should return reasonably quickly.
val pp_failure_kind : Stdlib.Format.formatter -> failure_kind -> unit
val failure_kind_to_string : failure_kind -> string