package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

module Mval : Printable.S

Signature

type t =
  1. | Addr of Mval.t
    (*

    Pointer to mvalue.

    *)
  2. | NullPtr
    (*

    NULL pointer.

    *)
  3. | UnknownPtr
    (*

    Unknown pointer. Could point to globals, heap and escaped variables.

    *)
  4. | StrPtr of string option
    (*

    String literal pointer. StrPtr None abstracts any string pointer

    *)
include Printable.S with type t := t
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val show : t -> string
val pretty : unit -> t -> GoblintCil.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val name : unit -> string
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int

Unique ID, given by HConsed, for context identification in witness

val arbitrary : unit -> t QCheck.arbitrary
val relift : t -> t
val of_string : string -> t

Convert string to StrPtr.

val to_string : t -> string option

Convert StrPtr to string if possible.

C strings are different from OCaml strings as they are not processed after the first NUL byte, even though the OCaml string (and a C string literal) may be longer.

val to_c_string : t -> string option

Convert StrPtr to C string if possible.

val to_n_c_string : int -> t -> string option

Convert StrPtr to C string of given maximum length if possible.

val to_string_length : t -> int option

Find length of C string if possible.

OCaml

Innovation. Community. Security.