org.codehaus.groovy.classgen
Class DummyClassGenerator

java.lang.Object
  extended byorg.codehaus.groovy.ast.CodeVisitorSupport
      extended byorg.codehaus.groovy.classgen.ClassGenerator
          extended byorg.codehaus.groovy.classgen.DummyClassGenerator
All Implemented Interfaces:
org.objectweb.asm.Constants, GroovyClassVisitor, GroovyCodeVisitor

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: 1.2 $
Author:
James Strachan, Bing Ran

Field Summary
(package private)  java.util.Map classCache
           
private  ClassNode classNode
           
private  GeneratorContext context
           
private  org.objectweb.asm.CodeVisitor cv
           
private  org.objectweb.asm.ClassVisitor cw
           
private  java.lang.String internalBaseClassName
           
private  java.lang.String internalClassName
           
private  java.lang.String sourceFile
           
 
Fields inherited from class org.codehaus.groovy.classgen.ClassGenerator
asmJDKVersion, classLoader, innerClasses
 
Fields inherited from interface org.objectweb.asm.Constants
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, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, 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, 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, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, 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, V1_1, V1_2, V1_3, V1_4, V1_5
 
Constructor Summary
DummyClassGenerator(GeneratorContext context, org.objectweb.asm.ClassVisitor classVisitor, java.lang.ClassLoader classLoader, java.lang.String sourceFile)
           
 
Method Summary
protected  java.lang.String checkValidType(java.lang.String type, ASTNode node, java.lang.String message)
           
protected  CompileUnit getCompileUnit()
           
protected static boolean isPrimitiveFieldType(java.lang.String type)
           
protected  java.lang.Class loadClass(java.lang.String name)
           
protected  java.lang.String resolveClassName(java.lang.String type)
           
 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
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitCaseStatement, visitCastExpression, visitClassExpression, visitClosureExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitNegationExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitReturnStatement, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitVariableExpression, visitWhileLoop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cw

private org.objectweb.asm.ClassVisitor cw

cv

private org.objectweb.asm.CodeVisitor cv

context

private GeneratorContext context

sourceFile

private java.lang.String sourceFile

classNode

private ClassNode classNode

internalClassName

private java.lang.String internalClassName

internalBaseClassName

private java.lang.String internalBaseClassName

classCache

java.util.Map classCache
Constructor Detail

DummyClassGenerator

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

visitClass

public void visitClass(ClassNode classNode)

visitConstructor

public void visitConstructor(ConstructorNode node)

visitMethod

public void visitMethod(MethodNode node)

visitField

public void visitField(FieldNode fieldNode)

visitProperty

public void visitProperty(PropertyNode statement)
Creates a getter, setter and field


checkValidType

protected java.lang.String checkValidType(java.lang.String type,
                                          ASTNode node,
                                          java.lang.String message)

resolveClassName

protected java.lang.String resolveClassName(java.lang.String type)

isPrimitiveFieldType

protected static boolean isPrimitiveFieldType(java.lang.String type)

loadClass

protected java.lang.Class loadClass(java.lang.String name)

getCompileUnit

protected CompileUnit getCompileUnit()

visitParameters

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

visitParameter

protected void visitParameter(ASTNode node,
                              Parameter parameter)


Copyright © 2003-2005 The Codehaus. All Rights Reserved.