Module Cabsvisit

module Cabsvisit: sig .. end

type nameKind = 
| NVar (*

Variable or function prototype name

*)
| NFun (*

Function definition name

*)
| NField (*

The name of a field

*)
| NType (*

The name of a type

*)
class type cabsVisitor = object .. end
class nopCabsVisitor : cabsVisitor
val visitCabsTypeSpecifier : cabsVisitor -> Cabs.typeSpecifier -> Cabs.typeSpecifier
val visitCabsSpecifier : cabsVisitor -> Cabs.specifier -> Cabs.specifier
val visitCabsDeclType : cabsVisitor -> bool -> Cabs.decl_type -> Cabs.decl_type

Visits a decl_type. The bool argument is saying whether we are in a function definition and thus the scope in a PROTO should extend until the end of the function

val visitCabsDefinition : cabsVisitor -> Cabs.definition -> Cabs.definition list
val visitCabsBlock : cabsVisitor -> Cabs.block -> Cabs.block
val visitCabsStatement : cabsVisitor -> Cabs.statement -> Cabs.statement list
val visitCabsExpression : cabsVisitor -> Cabs.expression -> Cabs.expression
val visitCabsAttributes : cabsVisitor -> Cabs.attribute list -> Cabs.attribute list
val visitCabsName : cabsVisitor ->
nameKind -> Cabs.specifier -> Cabs.name -> Cabs.name
val visitCabsFile : cabsVisitor -> Cabs.file -> Cabs.file