com.jogamp.gluegen

## Class DebugEmitter

- java.lang.Object
- - 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

    Constructors
    Constructor and Description
    `DebugEmitter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`