org.codehaus.groovy.classgen
Class ReflectorGenerator

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

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

Code generates a Reflector

Version:
$Revision: 9750 $
Author:
James Strachan

Field Summary
private  java.lang.String classInternalName
           
private  org.objectweb.asm.ClassVisitor cv
           
private  BytecodeHelper helper
           
private static java.util.List m_names
           
private  java.util.List methods
           
 
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, 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, V1_6
 
Constructor Summary
ReflectorGenerator(java.util.List methods)
           
 
Method Summary
 void generate(org.objectweb.asm.ClassVisitor cv, java.lang.String className)
           
protected  void generateInvokeMethod()
           
private static java.lang.String get_m_name(int i)
           
protected  void invokeMethod(CachedMethod method, org.objectweb.asm.MethodVisitor mv)
           
protected  void loadParameters(CachedMethod method, int argumentIndex, org.objectweb.asm.MethodVisitor mv)
           
 
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

cv

private org.objectweb.asm.ClassVisitor cv

helper

private BytecodeHelper helper

classInternalName

private java.lang.String classInternalName

m_names

private static java.util.List m_names
Constructor Detail

ReflectorGenerator

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

get_m_name

private static java.lang.String get_m_name(int i)

generate

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

generateInvokeMethod

protected void generateInvokeMethod()

invokeMethod

protected void invokeMethod(CachedMethod method,
                            org.objectweb.asm.MethodVisitor mv)

loadParameters

protected void loadParameters(CachedMethod method,
                              int argumentIndex,
                              org.objectweb.asm.MethodVisitor mv)


Copyright © ${year} The Codehaus. All Rights Reserved.