Module InferModules.Topl

val is_active : unit -> bool

Returns whether the TOPL analysis is active.

val get_proc_attr : InferIR.Typ.Procname.t -> InferIR.ProcAttributes.t option

get_proc_attr proc_name returns the attributes of get_proc_desc proc_name

val get_proc_desc : InferIR.Typ.Procname.t -> InferIR.Procdesc.t option

Returns a synthesized Procdesc.t, when it corresponds to instrumentation for a TOPL property.

val instrument : InferIR.Tenv.t -> InferIR.Procdesc.t -> unit

Inserts calls to the TOPL automaton. Mutates the arguments: it is the caller's responsibility to instrument procedures at most once.

val add_errors : Exe_env.t -> Summary.t -> unit

Adds error using Reporting.

val sourcefile : unit -> InferBase.SourceFile.t

The (fake) sourcefile in which synthesized code resides. This function has a side-effect, because that's how SourceFile works, so do NOT call when Topl is inactive.

val cfg : unit -> InferIR.Cfg.t

The CFG of the synthesized code. This function has a side-effect, because that's how Cfg works, so do NOT call when Topl is inactive.