package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include module type of struct include Node end
include module type of struct include Printable.Std end
type group = Printable.Std.group = |
val show_group : group -> 'a
val to_group : 'a -> 'b option
val trace_enabled : bool
val tag : 'a -> 'b
val arbitrary : unit -> 'a
val relift : 'a -> 'b
include module type of struct include Node0 end
type t = Node0.t =
  1. | Statement of CilType.Stmt.t
    (*

    The statements as identified by CIL

    *)
  2. | FunctionEntry of CilType.Fundec.t
  3. | 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 equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val _ : t -> Yojson.Safe.t
val hash : t -> int
val location : t -> GoblintCil.Cil.location
val current_node : t option ref
val name : unit -> string
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

include sig ... end
val show : t -> string
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> [> `String of string ]
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 var_id : 'a -> string
val node : 'a -> 'b
val is_write_only : 'a -> bool