Frama_c_kernel.Printer_tagUtilities to pretty print source with located Ast elements
type localizable = | PStmt of Cil_types.kernel_function * Cil_types.stmtFull statement (with attributes, annotations, etc.)
*)| PStmtStart of Cil_types.kernel_function * Cil_types.stmtNaked statement (only skind, without attributes, annotations, etc.)
*)| PLval of Cil_types.kernel_function option * Cil_types.kinstr * Cil_types.lvalL-Values
*)| PExp of Cil_types.kernel_function option * Cil_types.kinstr * Cil_types.expNon l-value expressions
*)| PTermLval of Cil_types.kernel_function option
* Cil_types.kinstr
* Property.t
* Cil_types.term_lvalTerm l-values inside properties
*)| PVDecl of Cil_types.kernel_function option
* Cil_types.kinstr
* Cil_types.varinfoDeclaration and definition of variables and function. Check the type of the varinfo to distinguish between the various possibilities. If the varinfo is a global or a local, the kernel_function is the one in which the variable is declared. The kinstr argument is given for local variables with an explicit initializer.
| PGlobal of Cil_types.globalGlobal definitions except global variables and functions.
*)| PIP of Property.t| PType of Cil_types.typThe kind of object that can be selected in the source viewer.
val label : localizable -> stringName (or category).
val glabel : Cil_types.global -> stringName (or category).
val pretty : Stdlib.Format.formatter -> localizable -> unitDescription of a localizable.
val pp_debug : Stdlib.Format.formatter -> localizable -> unitDebugging.
module Localizable : Datatype.S_with_collections with type t = localizableval localizable_of_global : Cil_types.global -> localizableval localizable_of_kf : Cil_types.kernel_function -> localizableval kf_of_localizable : localizable -> Cil_types.kernel_function optionval ki_of_localizable : localizable -> Cil_types.kinstrval varinfo_of_localizable : localizable -> Cil_types.varinfo optionval typ_of_localizable : localizable -> Cil_types.typ optionval loc_of_localizable : localizable -> Cil_types.locationMight return Location.unknown
val loc_to_localizable :
?precise_col:bool ->
Filepath.position ->
localizable optionreturn the (hopefully) most precise localizable that contains the given Filepath.position. If precise_col is true, takes the column number into account (possibly a more precise, but costly, result).
module type Tag = sig ... endmodule type S_pp = sig ... end