package goblint

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

Configuration access.

New, untyped, path-based configuration subsystem.

  path' ::== \epsilon              (*  *)
           | . <field-name> path'  (* field access *)
           | [ <index-nr> ] path'  (* array index access *)
           | [ + ] path'           (* cons to array *)
           | [ - ] path'           (* cons away from array *)
           | [ * ] path'           (* reset array *)

  path ::==              path'     (*  *)
          | <field_name> path'     (* you can leave out the first dot *)

All functions failwith on error. Warnings are generated in verbose mode.

There is a "conf" trace option that traces setting.

exception ConfigError of string
val building_spec : bool ref
module Validator : sig ... end
module ValidatorRequireAll : sig ... end
module type S = sig ... end

The type for gobConfig module.

module Impl : S

The implementation of the gobConfig module.

include module type of struct include Impl end

The implementation of the gobConfig module.

val get_json : string -> Yojson.Safe.t

Get JSON value at a given path.

val set_json : string -> Yojson.Safe.t -> unit

Directly set a JSON value; the result must conform to the schema.

val get_conf : unit -> Yojson.Safe.t

Equivalent to get_json "".

val set_conf : Yojson.Safe.t -> unit

Equivalent to set_conf "".

val get_int : string -> int

Functions to query conf variable of type int.

val set_int : string -> int -> unit

Functions to modify conf variables of type int.

val get_bool : string -> bool

Functions to query conf variable of type bool.

val set_bool : string -> bool -> unit

Functions to modify conf variables of type bool.

val get_string : string -> string

Functions to query conf variable of type string.

val set_string : string -> string -> unit

Functions to modify conf variables of type string.

val set_auto : string -> string -> unit

Functions to modify conf variables by trying to parse the value. The second argument must be valid Json except single quotes represent double quotes.

val get_list : string -> Yojson.Safe.t list

Get a list of values

val get_string_list : string -> string list

Get a list of strings

val set_list : string -> Yojson.Safe.t list -> unit

Set a list of values

val write_file : Fpath.t -> unit

Write the current configuration to filename

val merge_file : Fpath.t -> unit

Merge configurations from a file with current.

val merge : Yojson.Safe.t -> unit

Merge configurations from a JSON object with current.

val is_immutable : unit -> bool

Check whether modification of configuration is currently allowed.

val with_immutable_conf : (unit -> 'a) -> 'a

Run the given computation with modification to configuration disabled.

val earlyglobs : bool ref

Another hack to see if earlyglobs is enabled

val jobs : unit -> int
OCaml

Innovation. Community. Security.