Cil.defaultCilPrinterClassSourcemethod setCurrentFormals : varinfo list -> unitmethod pVDecl : unit -> varinfo -> Pretty.docInvoked 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.
method pVar : varinfo -> Pretty.docInvoked on each variable use.
method pLval : unit -> lval -> Pretty.docInvoked on each lvalue occurrence
method pOffset : Pretty.doc -> offset -> Pretty.docInvoked on each offset occurrence. The second argument is the base.
method pInstr : unit -> instr -> Pretty.docInvoked on each instruction occurrence.
method pLabel : unit -> label -> Pretty.docPrint a label.
method pStmt : unit -> stmt -> Pretty.docControl-flow statement. This is used by * Cil.printGlobal and by Cil.dumpGlobal.
method dStmt : out_channel -> int -> stmt -> unitDump a control-flow statement to a file with a given indentation. * This is used by Cil.dumpGlobal.
method dBlock : out_channel -> int -> block -> unitDump a control-flow block to a file with a given indentation. * This is used by Cil.dumpGlobal.
method pBlock : unit -> block -> Pretty.docPrint a block.
method pGlobal : unit -> global -> Pretty.docGlobal (vars, types, etc.). This can be slow and is used only by * Cil.printGlobal but not by Cil.dumpGlobal.
method dGlobal : out_channel -> global -> unitDump a global to a file with a given indentation. This is used by * Cil.dumpGlobal
method pFieldDecl : unit -> fieldinfo -> Pretty.docA field declaration
method pType : Pretty.doc option -> unit -> typ -> Pretty.docUse 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.
method pAttr : attribute -> Pretty.doc * boolAttribute. Also return an indication whether this attribute must be * printed inside the __attribute__ list or not.
method pAttrParam : unit -> attrparam -> Pretty.docAttribute parameter
method pAttrs : unit -> attributes -> Pretty.docAttribute lists
method pLineDirective : ?forcefile:bool -> location -> Pretty.docPrint 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 : stmt -> unit -> stmtkind -> Pretty.docPrint a statement kind. The code to be printed is given in the * Cil.stmtkind argument. The initial Cil.stmt argument * records the statement which follows the one being printed; * Cil.defaultCilPrinterClass uses this information to prettify * statement printing in certain special cases.
method pExp : unit -> exp -> Pretty.docPrint expressions
method pInit : unit -> init -> Pretty.docPrint initializers. This can be slow and is used by * Cil.printGlobal but not by Cil.dumpGlobal.
method dInit : out_channel -> int -> init -> unitDump a global to a file with a given indentation. This is used by * Cil.dumpGlobal