org.codehaus.groovy.classgen
Class ReflectorGenerator

java.lang.Object
  extended byorg.codehaus.groovy.classgen.ReflectorGenerator
All Implemented Interfaces:
org.objectweb.asm.Constants

public class ReflectorGenerator
extends java.lang.Object
implements org.objectweb.asm.Constants

Code generates a Reflector

Version:
$Revision: 1.8 $
Author:
James Strachan

Field Summary
private  java.lang.String classInternalName
           
private  org.objectweb.asm.CodeVisitor cv
           
private  org.objectweb.asm.ClassVisitor cw
           
private  BytecodeHelper helper
           
private  java.util.List methods
           
 
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
ReflectorGenerator(java.util.List methods)
           
 
Method Summary
 void generate(org.objectweb.asm.ClassVisitor cw, java.lang.String className)
           
protected  void generateInvokeMethod()
           
protected  void invokeMethod(MetaMethod method)
           
protected  void loadParameters(MetaMethod method, int argumentIndex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

methods

private java.util.List methods

cw

private org.objectweb.asm.ClassVisitor cw

cv

private org.objectweb.asm.CodeVisitor cv

helper

private BytecodeHelper helper

classInternalName

private java.lang.String classInternalName
Constructor Detail

ReflectorGenerator

public ReflectorGenerator(java.util.List methods)
Method Detail

generate

public void generate(org.objectweb.asm.ClassVisitor cw,
                     java.lang.String className)

generateInvokeMethod

protected void generateInvokeMethod()

invokeMethod

protected void invokeMethod(MetaMethod method)

loadParameters

protected void loadParameters(MetaMethod method,
                              int argumentIndex)


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