Package: org.codehaus.groovy.classgen

## [Java] Class DummyClassGenerator

- org.codehaus.groovy.classgen.DummyClassGenerator

-     public class DummyClassGenerator
      extends ClassGenerator

  To generate a class that has all the fields and methods, except that fields are not initialized and methods are empty. It's intended for being used as a placeholder during code generation of reference to the "this" class itself.

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class ClassGenerator` | `innerClasses`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `DummyClassGenerator(GeneratorContext context, org.objectweb.asm.ClassVisitor classVisitor, ClassLoader classLoader, String sourceFile)` Creates a new dummy class generator that produces class structures without implementation.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected CompileUnit` | `getCompileUnit()` Returns the compile unit associated with the class currently being emitted.
    `` | `public void` | `visitAnnotations(AnnotatedNode node)` * Visits annotations on an AnnotatedNode, delegating to visitAnnotation(AnnotationNode). * * Parameters: `node` - the annotated node containing annotations to visit
    `` | `public void` | `visitClass(ClassNode classNode)` * Visits a ClassNode, processing its annotations, package, imports, contents, and object initializers. * * Parameters: `node` - the class node to visit
    `` | `public void` | `visitConstructor(ConstructorNode node)` * Visits a ConstructorNode, processing its annotations, parameter annotations, and code block. * * Parameters: `node` - the constructor node to visit
    `` | `public void` | `visitField(FieldNode fieldNode)` * Visits a FieldNode, processing its annotations and initial value expression if present. * * Parameters: `node` - the field node to visit
    `` | `public void` | `visitMethod(MethodNode node)` * Visits a MethodNode, processing its annotations, parameter annotations, and code block. * * Parameters: `node` - the method node to visit
    `` | `protected void` | `visitParameter(ASTNode node, Parameter parameter)` Visits a single parameter declared by the supplied member node.
    `` | `protected void` | `visitParameters(ASTNode node, Parameter[] parameters)` Visits the parameters declared by the supplied member node.
    `` | `public void` | `visitProperty(PropertyNode statement)` * Visits a PropertyNode, processing its annotations, initial value expression, * and getter/setter blocks if present. * * Parameters: `node` - the property node to visit

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class ClassGenerator` | `getInnerClasses, getSourceUnit, visitBytecodeSequence`
    `class ClassCodeVisitorSupport` | `addError, getSourceUnit, visitAnnotation, visitAnnotations, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitClosureExpression, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitStatementAnnotations, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop, visitYieldStatement`
    `class CodeVisitorSupport` | `afterSwitchCaseStatementsVisited, afterSwitchCaseStatementsVisited, afterSwitchConditionExpressionVisited, afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSwitchExpression, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop, visitYieldStatement`

- - ### Constructor Detail

    - #### public DummyClassGenerator(GeneratorContext context, org.objectweb.asm.ClassVisitor classVisitor, ClassLoader classLoader, String sourceFile)

      Creates a new dummy class generator that produces class structures without implementation.

      Parameters:
        `context` - the generator context
        `classVisitor` - the ASM class visitor to write to
        `classLoader` - the class loader (currently unused)
        `sourceFile` - the source file name (currently unused)

  - ### Method Detail

    - #### protected CompileUnit getCompileUnit()

      Returns the compile unit associated with the class currently being emitted.

      Returns:
        the active compile unit

    - #### public void visitAnnotations(AnnotatedNode node)

      * Visits annotations on an AnnotatedNode, delegating to visitAnnotation(AnnotationNode). * *

      Parameters:
        `node` - the annotated node containing annotations to visit

    - #### public void visitClass(ClassNode classNode)

      * Visits a ClassNode, processing its annotations, package, imports, contents, and object initializers. * *

      Parameters:
        `node` - the class node to visit

    - #### public void visitConstructor(ConstructorNode node)

      * Visits a ConstructorNode, processing its annotations, parameter annotations, and code block. * *

      Parameters:
        `node` - the constructor node to visit

    - #### public void visitField(FieldNode fieldNode)

      * Visits a FieldNode, processing its annotations and initial value expression if present. * *

      Parameters:
        `node` - the field node to visit

    - #### public void visitMethod(MethodNode node)

      * Visits a MethodNode, processing its annotations, parameter annotations, and code block. * *

      Parameters:
        `node` - the method node to visit

    - #### protected void visitParameter(ASTNode node, Parameter parameter)

      Visits a single parameter declared by the supplied member node.

      Parameters:
        `node` - the owning constructor or method
        `parameter` - the parameter to visit

    - #### protected void visitParameters(ASTNode node, Parameter[] parameters)

      Visits the parameters declared by the supplied member node.

      Parameters:
        `node` - the owning constructor or method
        `parameters` - the parameters to visit

    - #### public void visitProperty(PropertyNode statement)

      * Visits a PropertyNode, processing its annotations, initial value expression, * and getter/setter blocks if present. * *

      Parameters:
        `node` - the property node to visit