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
 
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, ClassLoader classLoader, String sourceFile)
           
 
Method Summary
protected  String checkValidType(String type, ASTNode node, String message)
           
protected  CompileUnit getCompileUnit()
           
protected static boolean isPrimitiveFieldType(String type)
           
protected  Class loadClass(String name)
           
protected  String resolveClassName(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
 

Constructor Detail

DummyClassGenerator

public DummyClassGenerator(GeneratorContext context,
                           org.objectweb.asm.ClassVisitor classVisitor,
                           ClassLoader classLoader,
                           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 String checkValidType(String type,
                                ASTNode node,
                                String message)

resolveClassName

protected String resolveClassName(String type)

isPrimitiveFieldType

protected static boolean isPrimitiveFieldType(String type)

loadClass

protected Class loadClass(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.