sig
type group = Cmdline.Group.t
module type Parameter =
sig
type t
val parameter : Parameter.t
val set : Plugin.Parameter.t -> unit
val add_set_hook :
(Plugin.Parameter.t -> Plugin.Parameter.t -> unit) -> unit
val add_update_hook :
(Plugin.Parameter.t -> Plugin.Parameter.t -> unit) -> unit
val get : unit -> Plugin.Parameter.t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : Plugin.Parameter.t -> Plugin.Parameter.t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : Plugin.Parameter.t -> unit
end
module type Bool =
sig
type t = bool
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val on : unit -> unit
val off : unit -> unit
end
module type WithOutput =
sig
type t = bool
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val on : unit -> unit
val off : unit -> unit
val set_output_dependencies : State.t list -> unit
val output : (unit -> unit) -> unit
end
module type Int =
sig
type t = int
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val incr : unit -> unit
val set_range : min:int -> max:int -> unit
val get_range : unit -> int * int
end
module type String =
sig
type t = string
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
end
module type String_collection =
sig
type t
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val add : string -> unit
val remove : string -> unit
val is_empty : unit -> bool
val get_set : ?sep:string -> unit -> string
val iter : (string -> unit) -> unit
val fold : (string -> 'a -> 'a) -> 'a -> 'a
val exists : (string -> bool) -> bool
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
end
module type String_set =
sig
type t = Datatype.String.Set.t
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val add : string -> unit
val remove : string -> unit
val is_empty : unit -> bool
val get_set : ?sep:string -> unit -> string
val iter : (string -> unit) -> unit
val fold : (string -> 'a -> 'a) -> 'a -> 'a
val exists : (string -> bool) -> bool
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
end
module type String_list =
sig
type t = string list
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val add : string -> unit
val remove : string -> unit
val is_empty : unit -> bool
val get_set : ?sep:string -> unit -> string
val iter : (string -> unit) -> unit
val fold : (string -> 'a -> 'a) -> 'a -> 'a
val exists : (string -> bool) -> bool
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
end
module type String_hashtbl =
sig
type t = Datatype.String.Set.t
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val add : string -> unit
val remove : string -> unit
val is_empty : unit -> bool
val get_set : ?sep:string -> unit -> string
val iter : (string -> unit) -> unit
val fold : (string -> 'a -> 'a) -> 'a -> 'a
val exists : (string -> bool) -> bool
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
type value
val find : string -> Plugin.String_hashtbl.value
end
module type Indexed_val =
sig
type t = string
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
type value
val add_choice : string -> Plugin.Indexed_val.value -> unit
val get_val : unit -> Plugin.Indexed_val.value
end
module type Parameter_input =
sig val option_name : string val help : string end
module type Parameter_input_with_arg =
sig val option_name : string val help : string val arg_name : string end
module type Indexed_val_input =
sig
val option_name : string
val help : string
val arg_name : string
type t
val default_val : Plugin.Indexed_val_input.t
val default_key : string
val ty : Plugin.Indexed_val_input.t Type.t
end
module type S =
sig
type category = private string
val register_category : string -> category
module Category_set :
sig
type elt = category
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> t * bool * t
end
val get_category : string -> Category_set.t
val get_all_categories : unit -> Category_set.t
val verbose_atleast : int -> bool
val debug_atleast : int -> bool
val add_debug_keys : Category_set.t -> unit
val del_debug_keys : Category_set.t -> unit
val get_debug_keys : unit -> Category_set.t
val is_debug_key_enabled : category -> bool
val get_debug_keyset : unit -> category list
val result : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val feedback : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val debug : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val warning : 'a Log.pretty_printer
val error : 'a Log.pretty_printer
val abort : ('a, 'b) Log.pretty_aborter
val failure : 'a Log.pretty_printer
val fatal : ('a, 'b) Log.pretty_aborter
val verify : bool -> ('a, bool) Log.pretty_aborter
val not_yet_implemented :
('a, Format.formatter, unit, 'b) format4 -> 'a
val deprecated : string -> now:string -> ('a -> 'b) -> 'a -> 'b
val with_result : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_warning : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_error : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_failure : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val log :
?kind:Log.kind -> ?verbose:int -> ?debug:int -> 'a Log.pretty_printer
val with_log :
(Log.event -> 'b) -> ?kind:Log.kind -> ('a, 'b) Log.pretty_aborter
val register : Log.kind -> (Log.event -> unit) -> unit
val register_tag_handlers :
(string -> string) * (string -> string) -> unit
val add_group : ?memo:bool -> string -> Plugin.group
module Help : Bool
module Verbose : Int
module Debug : Int
module Debug_category : String_set
module Share :
sig
exception No_dir
val dir : ?error:bool -> unit -> string
val file : ?error:bool -> string -> string
end
val help : Plugin.group
val messages : Plugin.group
val parameters : unit -> Plugin.Parameter.t list
end
type plugin = private {
p_name : string;
p_shortname : string;
p_help : string;
p_parameters : (string, Plugin.Parameter.t list) Hashtbl.t;
}
module type General_services =
sig
type category = private string
val register_category : string -> category
module Category_set :
sig
type elt = category
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> t * bool * t
end
val get_category : string -> Category_set.t
val get_all_categories : unit -> Category_set.t
val verbose_atleast : int -> bool
val debug_atleast : int -> bool
val add_debug_keys : Category_set.t -> unit
val del_debug_keys : Category_set.t -> unit
val get_debug_keys : unit -> Category_set.t
val is_debug_key_enabled : category -> bool
val get_debug_keyset : unit -> category list
val result : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val feedback : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val debug : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val warning : 'a Log.pretty_printer
val error : 'a Log.pretty_printer
val abort : ('a, 'b) Log.pretty_aborter
val failure : 'a Log.pretty_printer
val fatal : ('a, 'b) Log.pretty_aborter
val verify : bool -> ('a, bool) Log.pretty_aborter
val not_yet_implemented :
('a, Format.formatter, unit, 'b) format4 -> 'a
val deprecated : string -> now:string -> ('a -> 'b) -> 'a -> 'b
val with_result : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_warning : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_error : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_failure : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val log :
?kind:Log.kind -> ?verbose:int -> ?debug:int -> 'a Log.pretty_printer
val with_log :
(Log.event -> 'b) -> ?kind:Log.kind -> ('a, 'b) Log.pretty_aborter
val register : Log.kind -> (Log.event -> unit) -> unit
val register_tag_handlers :
(string -> string) * (string -> string) -> unit
val add_group : ?memo:bool -> string -> group
module Help : Bool
module Verbose : Int
module Debug : Int
module Debug_category : String_set
module Share :
sig
exception No_dir
val dir : ?error:bool -> unit -> string
val file : ?error:bool -> string -> string
end
val help : group
val messages : group
val parameters : unit -> Parameter.t list
module Bool :
functor
(X : sig
val option_name : string
val help : string
val default : bool
end) ->
Bool
module Action : functor (X : Parameter_input) -> Bool
module False : functor (X : Parameter_input) -> Bool
module True : functor (X : Parameter_input) -> Bool
module WithOutput :
functor
(X : sig
val option_name : string
val help : string
val output_by_default : bool
end) ->
WithOutput
module Int :
functor
(X : sig
val default : int
val option_name : string
val help : string
val arg_name : string
end) ->
Int
module Zero : functor (X : Parameter_input_with_arg) -> Int
module String :
functor
(X : sig
val option_name : string
val help : string
val arg_name : string
val default : string
end) ->
String
module EmptyString : functor (X : Parameter_input_with_arg) -> String
module StringSet : functor (X : Parameter_input_with_arg) -> String_set
module FilledStringSet :
functor
(X : sig
val option_name : string
val help : string
val arg_name : string
val default : Datatype.String.Set.t
end) ->
String_set
module StringList :
functor (X : Parameter_input_with_arg) -> String_list
module IndexedVal :
functor (V : Indexed_val_input) ->
sig
type t = string
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
type value = V.t
val add_choice : string -> value -> unit
val get_val : unit -> value
end
module StringHashtbl :
functor (X : Parameter_input_with_arg) ->
functor
(V : sig
type t
val ty : t Type.t
val name : string
val descr : t Descr.t
val packed_descr : Structural_descr.pack
val reprs : t list
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pretty_code : Format.formatter -> t -> unit
val internal_pretty_code :
Type.precedence -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val varname : t -> string
val mem_project :
(Project_skeleton.t -> bool) -> t -> bool
val copy : t -> t
val parse : string -> string * t
val redefine_binding : string -> old:t -> t -> t
val no_binding : string -> t
end) ->
sig
type t = Datatype.String.Set.t
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val add : string -> unit
val remove : string -> unit
val is_empty : unit -> bool
val get_set : ?sep:string -> unit -> string
val iter : (string -> unit) -> unit
val fold : (string -> 'a -> 'a) -> 'a -> 'a
val exists : (string -> bool) -> bool
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
type value = V.t
val find : string -> value
end
end
val set_cmdline_stage : Cmdline.stage -> unit
val do_not_journalize : unit -> unit
val do_not_projectify : unit -> unit
val do_not_save : unit -> unit
val set_negative_option_name : string -> unit
val set_negative_option_help : string -> unit
val set_unset_option_name : string -> unit
val set_unset_option_help : string -> unit
val set_optional_help :
(unit, Format.formatter, unit) Pervasives.format -> unit
val set_group : Plugin.group -> unit
val is_invisible : unit -> unit
val argument_is_function_name : unit -> unit
val do_iterate : unit -> unit
val do_not_iterate : unit -> unit
val register_kernel : unit -> unit
val set_module_name : string -> unit
module Register :
functor
(P : sig val name : string val shortname : string val help : string end) ->
General_services
val is_share_visible : unit -> unit
val get_from_shortname : string -> Plugin.plugin
val get_from_name : string -> Plugin.plugin
val get : string -> Plugin.plugin
val iter_on_plugins : (Plugin.plugin -> unit) -> unit
val get_selection : ?is_set:bool -> unit -> State_selection.t
val get_selection_context : ?is_set:bool -> unit -> State_selection.t
val at_normal_exit : (unit -> unit) -> unit
val run_normal_exit_hook : unit -> unit
val positive_debug_ref : int Pervasives.ref
val set_function_names : (unit -> string list) -> unit
val set_ast_hook : ((Cil_types.file -> unit) -> unit) -> unit
val init_ast_hooks : (Cil_types.file -> unit) list Pervasives.ref
end