Server.Packagetype jtype = | Jany| Jnull| Jboolean| Jnumber| Jstring| Jalphastring primarily compared without case
*)| Jtag of stringsingle constant string
*)| Jkey of stringkind of a string used for indexing
*)| Jindex of stringkind of an integer used for indexing
*)| Joption of jtype| Jdict of jtypedictionaries
*)| Jarray of jtypeorder matters
*)| Jtuple of jtype list| Junion of jtype list| Jrecord of (string * jtype) list| Jenum of ident * string listtype and tags
*)| Jdata of ident * jtypetype and definition
*)| Jselffor (simply) recursive types
*)type tagInfo = {tg_name : string;tg_label : Frama_c_kernel.Markdown.text;tg_descr : Frama_c_kernel.Markdown.text;}type packageInfo = {p_plugin : plugin;p_package : string list;p_title : string;p_descr : Frama_c_kernel.Markdown.text;p_readme : string option;p_content : declInfo list;}val pp_plugin : Stdlib.Format.formatter -> plugin -> unitval pp_pkgname : Stdlib.Format.formatter -> packageInfo -> unitval pp_ident : Stdlib.Format.formatter -> ident -> unitval pp_jtype : Stdlib.Format.formatter -> jtype -> unitmodule Derived : sig ... endmodule Scope : sig ... endval isRecursive : jtype -> boolval visit_request : (ident -> unit) -> requestInfo -> unitval visit_dkind : (ident -> unit) -> declKindInfo -> unitval visit_package_decl : (ident -> unit) -> packageInfo -> unitval visit_package_used : (ident -> unit) -> packageInfo -> unitval package :
?plugin:string ->
?name:string ->
title:string ->
?descr:Frama_c_kernel.Markdown.text ->
?readme:string ->
unit ->
packageval declare :
package:package ->
name:string ->
?descr:Frama_c_kernel.Markdown.text ->
declKindInfo ->
unitRegister the declaration in the Server API. This is only way to obtain identifiers. This ensures identifiers are declared before being used.
val declare_id :
package:package ->
name:string ->
?descr:Frama_c_kernel.Markdown.text ->
declKindInfo ->
identSame as declare but returns the associated identifier.
val update : package:package -> name:string -> declKindInfo -> unitReplace the declaration for the given name in the package.
val iter : (packageInfo -> unit) -> unitval resolve : ?keywords:string list -> packageInfo -> string IdMap.tAssigns non-classing names for each identifier.
val name_of_pkg : ?sep:string -> plugin -> string list -> stringval name_of_pkginfo : ?sep:string -> packageInfo -> stringval name_of_package : ?sep:string -> package -> stringval name_of_ident : ?sep:string -> ident -> stringval litteral : string -> Frama_c_kernel.Markdown.textQuoted string
val md_jtype : pp -> jtype -> Frama_c_kernel.Markdown.textval md_tags : ?title:string -> tagInfo list -> Frama_c_kernel.Markdown.tableval md_fields :
?title:string ->
pp ->
fieldInfo list ->
Frama_c_kernel.Markdown.table