Server.Packagetype jtype = | Jany | |
| Jnull | |
| Jboolean | |
| Jnumber | |
| Jstring | |
| Jalpha | (* string primarily compared without case *) |
| Jtag of string | (* single constant string *) |
| Jkey of string | (* kind of a string used for indexing *) |
| Jindex of string | (* kind of an integer used for indexing *) |
| Joption of jtype | |
| Jdict of jtype | (* dictionaries *) |
| Jarray of jtype | (* order matters *) |
| Jtuple of jtype list | |
| Junion of jtype list | |
| Jrecord of (string * jtype) list | |
| Jdata of ident | |
| Jenum of ident | (* data that is an enum *) |
| Jself | (* for (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