Node
CFG node. Corresponds to a program point between program statements.
include module type of struct include Printable.StdLeaf end
Default dummy definitions for leaf types: primitive and CIL types, which don't contain inner types that require relifting.
include module type of struct include Printable.Std end
Default dummy definitions.
Include as the first thing to avoid these overriding actual definitions.
include module type of struct include Node0 end
type t = Node0.t =
| Statement of CilType.Stmt.t
The statements as identified by CIL
*)| FunctionEntry of CilType.Fundec.t
| Function of CilType.Fundec.t
The variable information associated with the function declaration.
*)A node in the Control Flow Graph is either a statement or function. Think of * the function node as last node that all the returning nodes point to. So * the result of the function call is contained in the function node.
val hash : t -> int
val _ : t -> Yojson.Safe.t
val location : t -> GoblintCil.Cil.location
val current_node : t option Stdlib.ref
val pretty_plain : unit -> t -> GoblintCil.Pretty.doc
Pretty node plainly with entire stmt.
val pretty_plain_short : unit -> t -> GoblintCil.Pretty.doc
Pretty node plainly with stmt location.
val pretty_trace : unit -> t -> GoblintCil.Pretty.doc
Pretty node for solver variable tracing with short stmt.
val pretty : unit -> t -> GoblintCil.Pretty.doc
Output functions for Printable interface
val show_id : t -> string
Show node ID for CFG and results output.
val show_cfg : t -> string
Show node label for CFG.
val find_fundec : t -> GoblintCil.fundec
Find fundec
which the node is in. In an incremental run this might yield old fundecs for pseudo-return nodes from the old file.
val of_id : string -> t