Zrapp.zraCilPrinterClass
Invoked for each variable declaration. Note that variable declarations are all the GVar
, GVarDecl
, GFun
, all the varinfo
in formals of function types, and the formals and locals for function definitions.
Invoked on each lvalue occurrence
Invoked on each offset occurrence. The second argument is the base.
Invoked on each instruction occurrence.
Control-flow statement. This is used by printGlobal
and by dumpGlobal
.
Dump a control-flow statement to a file with a given indentation. This is used by dumpGlobal
.
Dump a control-flow block to a file with a given indentation. This is used by dumpGlobal
.
Global (vars, types, etc.). This can be slow and is used only by printGlobal
but not by dumpGlobal
.
Dump a global to a file with a given indentation. This is used by dumpGlobal
method pType : GoblintCil__.Pretty.doc option ->
unit ->
GoblintCil.Cil.typ ->
GoblintCil__.Pretty.doc
Use of some type in some declaration. The first argument is used to print the declared element, or is None if we are just printing a type with no name being declared. Note that for structure/union and enumeration types the definition of the composite type is not visited. Use vglob
to visit it.
Attribute. Also return an indication whether this attribute must be printed inside the __attribute__ list or not.
Print a line-number. This is assumed to come always on an empty line. If the forcefile argument is present and is true then the file name will be printed always. Otherwise the file name is printed only if it is different from the last time time this function is called. The last file name is stored in a private field inside the cilPrinter object.
method pStmtKind : GoblintCil.Cil.stmt ->
unit ->
GoblintCil.Cil.stmtkind ->
GoblintCil__.Pretty.doc
Print a statement kind. The code to be printed is given in the stmtkind
argument. The initial stmt
argument records the statement which follows the one being printed; defaultCilPrinterClass
uses this information to prettify statement printing in certain special cases.
Print initializers. This can be slow and is used by printGlobal
but not by dumpGlobal
.