org.codehaus.groovy.classgen
Class ClassGenerator

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

public abstract class ClassGenerator
extends CodeVisitorSupport
implements GroovyClassVisitor, org.objectweb.asm.Constants

Abstract base class for generator of Java class versions of Groovy AST classes

Version:
$Revision: 1.190 $
Author:
James Strachan, Russel Winder

Field Summary
static int asmJDKVersion
          A constant that is the ASM representation of the JDK version number for use in the ClassWriter.visitor method calls.
protected  java.lang.ClassLoader classLoader
           
protected  java.util.LinkedList 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
ClassGenerator(java.lang.ClassLoader classLoader)
           
 
Method Summary
 java.lang.ClassLoader getClassLoader()
           
 java.util.LinkedList 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
 
Methods inherited from interface org.codehaus.groovy.ast.GroovyClassVisitor
visitClass, visitConstructor, visitField, visitMethod, visitProperty
 

Field Detail

classLoader

protected java.lang.ClassLoader classLoader

innerClasses

protected java.util.LinkedList innerClasses

asmJDKVersion

public static final int asmJDKVersion
A constant that is the ASM representation of the JDK version number for use in the ClassWriter.visitor method calls.

Prior to version 1.5 of ASM, the code generated was always JDK1.3 compliant. As of ASM version 1.5 there is an extra (first) parameter to specify the bytecode version to generate. In version 1.5 these are in Constants. The CVS (as at 2004.12.12) and presumably in version 2.0, the interface Constants is replaced by Opcodes.

See Also:
Constant Field Values
Constructor Detail

ClassGenerator

public ClassGenerator(java.lang.ClassLoader classLoader)
Method Detail

getInnerClasses

public java.util.LinkedList getInnerClasses()

getClassLoader

public java.lang.ClassLoader getClassLoader()


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