org.codehaus.groovy.classgen

## Class DummyClassGenerator

- java.lang.Object
- - org.codehaus.groovy.ast.CodeVisitorSupport
  - - org.codehaus.groovy.ast.ClassCodeVisitorSupport
    - - org.codehaus.groovy.classgen.ClassGenerator
      - - org.codehaus.groovy.classgen.DummyClassGenerator

All Implemented Interfaces:
  GroovyClassVisitor, GroovyCodeVisitor, org.objectweb.asm.Opcodes

    public class DummyClassGenerator
    extends ClassGenerator

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

Version:
  $Revision: 6778 $
Author:
  James Strachan, Bing Ran

### Field Summary

### Fields inherited from class org.codehaus.groovy.classgen.ClassGenerator

`asmJDKVersion, classLoader, innerClasses`

### Fields inherited from interface org.objectweb.asm.Opcodes

`AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7`

### Constructor Summary

Constructors
Constructor and Description
`DummyClassGenerator(GeneratorContext context, org.objectweb.asm.ClassVisitor classVisitor, ClassLoader classLoader, String sourceFile)`

### Method Summary

Methods
`protected CompileUnit` `getCompileUnit()`
`void` `visitAnnotations(AnnotatedNode node)`
`void` `visitClass(ClassNode classNode)`
`void` `visitConstructor(ConstructorNode node)`
`void` `visitField(FieldNode fieldNode)`
`void` `visitMethod(MethodNode node)`
`protected void` `visitParameter(ASTNode node, Parameter parameter)`
`protected void` `visitParameters(ASTNode node, Parameter[] parameters)`
`void` `visitProperty(PropertyNode statement)` Creates a getter, setter and field

### Methods inherited from class org.codehaus.groovy.classgen.ClassGenerator

`getClassLoader, getInnerClasses, getSourceUnit, visitBytecodeSequence`

### Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport

`addError, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitForLoop, visitIfElse, visitImports, visitObjectInitializerStatements, visitPackage, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitVariableExpression, visitWhileLoop`

### Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport

`visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitDeclarationExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DummyClassGenerator

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

### Method Detail

#### visitClass

    public void visitClass(ClassNode classNode)

Specified by:
  `visitClass` in interface `GroovyClassVisitor`
Overrides:
  `visitClass` in class `ClassCodeVisitorSupport`

#### visitConstructor

    public void visitConstructor(ConstructorNode node)

Specified by:
  `visitConstructor` in interface `GroovyClassVisitor`
Overrides:
  `visitConstructor` in class `ClassCodeVisitorSupport`

#### visitMethod

    public void visitMethod(MethodNode node)

Specified by:
  `visitMethod` in interface `GroovyClassVisitor`
Overrides:
  `visitMethod` in class `ClassCodeVisitorSupport`

#### visitField

    public void visitField(FieldNode fieldNode)

Specified by:
  `visitField` in interface `GroovyClassVisitor`
Overrides:
  `visitField` in class `ClassCodeVisitorSupport`

#### visitProperty

    public void visitProperty(PropertyNode statement)

Creates a getter, setter and field

Specified by:
  `visitProperty` in interface `GroovyClassVisitor`
Overrides:
  `visitProperty` in class `ClassCodeVisitorSupport`

#### getCompileUnit

    protected CompileUnit getCompileUnit()

#### visitParameters

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

#### visitParameter

    protected void visitParameter(ASTNode node,
                      Parameter parameter)

#### visitAnnotations

    public void visitAnnotations(AnnotatedNode node)

Overrides:
  `visitAnnotations` in class `ClassCodeVisitorSupport`