com.jogamp.gluegen
Class DebugEmitter

java.lang.Object
  extended by com.jogamp.gluegen.DebugEmitter
All Implemented Interfaces:
GlueEmitter

public class DebugEmitter
extends Object
implements GlueEmitter

Debug emitter which prints the parsing results to standard output.


Constructor Summary
DebugEmitter()
           
 
Method Summary
 void beginDefines()
           
 void beginEmission(GlueEmitterControls controls)
          Begin the emission of glue code.
 void beginFunctions(TypeDictionary typedefDictionary, TypeDictionary structDictionary, Map<Type,Type> canonMap)
           
 void beginStructLayout()
          Begins the process of computing field offsets and type sizes for the structs to be emitted.
 void beginStructs(TypeDictionary typedefDictionary, TypeDictionary structDictionary, Map<Type,Type> canonMap)
           
 void emitDefine(ConstantDefinition def, String optionalComment)
           
 Iterator<FunctionSymbol> emitFunctions(List<FunctionSymbol> originalCFunctions)
          Emit glue code for the list of FunctionSymbols.
 void emitSingleFunction(FunctionSymbol sym)
           
 void emitStruct(CompoundType t, String alternateName)
          Emit glue code for the given CompoundType.
 void endDefines()
           
 void endEmission()
          Finish the emission of glue code.
 void endFunctions()
           
 void endStructLayout()
          Finishes the struct layout process.
 void endStructs()
           
 void layoutStruct(CompoundType t)
          Lays out one struct which will be emitted later.
 void readConfigurationFile(String filename)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DebugEmitter

public DebugEmitter()
Method Detail

readConfigurationFile

public void readConfigurationFile(String filename)
Specified by:
readConfigurationFile in interface GlueEmitter

beginEmission

public void beginEmission(GlueEmitterControls controls)
Description copied from interface: GlueEmitter
Begin the emission of glue code. This might include opening files, emitting class headers, etc.

Specified by:
beginEmission in interface GlueEmitter

endEmission

public void endEmission()
Description copied from interface: GlueEmitter
Finish the emission of glue code. This might include closing files, closing open class definitions, etc.

Specified by:
endEmission in interface GlueEmitter

beginDefines

public void beginDefines()
Specified by:
beginDefines in interface GlueEmitter

emitDefine

public void emitDefine(ConstantDefinition def,
                       String optionalComment)
Specified by:
emitDefine in interface GlueEmitter
optionalComment - If optionalComment is non-null, the emitter can emit that string as a comment providing extra information about the define.

endDefines

public void endDefines()
Specified by:
endDefines in interface GlueEmitter

beginFunctions

public void beginFunctions(TypeDictionary typedefDictionary,
                           TypeDictionary structDictionary,
                           Map<Type,Type> canonMap)
Specified by:
beginFunctions in interface GlueEmitter

emitFunctions

public Iterator<FunctionSymbol> emitFunctions(List<FunctionSymbol> originalCFunctions)
                                       throws Exception
Description copied from interface: GlueEmitter
Emit glue code for the list of FunctionSymbols.

Specified by:
emitFunctions in interface GlueEmitter
Throws:
Exception

emitSingleFunction

public void emitSingleFunction(FunctionSymbol sym)

endFunctions

public void endFunctions()
Specified by:
endFunctions in interface GlueEmitter

beginStructLayout

public void beginStructLayout()
                       throws Exception
Description copied from interface: GlueEmitter
Begins the process of computing field offsets and type sizes for the structs to be emitted.

Specified by:
beginStructLayout in interface GlueEmitter
Throws:
Exception

layoutStruct

public void layoutStruct(CompoundType t)
                  throws Exception
Description copied from interface: GlueEmitter
Lays out one struct which will be emitted later.

Specified by:
layoutStruct in interface GlueEmitter
Throws:
Exception

endStructLayout

public void endStructLayout()
                     throws Exception
Description copied from interface: GlueEmitter
Finishes the struct layout process.

Specified by:
endStructLayout in interface GlueEmitter
Throws:
Exception

beginStructs

public void beginStructs(TypeDictionary typedefDictionary,
                         TypeDictionary structDictionary,
                         Map<Type,Type> canonMap)
Specified by:
beginStructs in interface GlueEmitter

emitStruct

public void emitStruct(CompoundType t,
                       String alternateName)
Description copied from interface: GlueEmitter
Emit glue code for the given CompoundType. alternateName is provided when the CompoundType (e.g. "struct foo_t") has not been typedefed to anything but the type of "pointer to struct foo_t" has (e.g. "typedef struct foo_t {} *Foo"); in this case alternateName would be set to Foo.

Specified by:
emitStruct in interface GlueEmitter

endStructs

public void endStructs()
Specified by:
endStructs in interface GlueEmitter