Module Node0

Node functions to avoid dependency cycles.

type 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 hash : t -> int
val to_yojson : t -> Yojson.Safe.t
val _ : t -> Yojson.Safe.t
val location : t -> GoblintCil.Cil.location
val current_node : t option Stdlib.ref