org.objectweb.speedo.genclass.merger
Class GenClassAdapter

java.lang.Object
  extended by org.objectweb.asm.ClassAdapter
      extended by org.objectweb.speedo.generation.enhancer.common.LoggedClassAdapter
          extended by org.objectweb.speedo.genclass.merger.GenClassAdapter
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor, org.objectweb.asm.Constants

public class GenClassAdapter
extends LoggedClassAdapter

Writes the non abstract methods and the fields of a class.


Field Summary
 
Fields inherited from class org.objectweb.speedo.generation.enhancer.common.LoggedClassAdapter
debug, logger, personality
 
Fields inherited from class org.objectweb.asm.ClassAdapter
cv
 
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
GenClassAdapter(org.objectweb.asm.ClassVisitor classVisitor, org.objectweb.util.monolog.api.Logger logger, GCInfo gc, Personality p)
           
 
Method Summary
 boolean isVisitConstructor()
           
 void setVisitConstructor(boolean v)
           
 void visit(int version, int access, java.lang.String name, java.lang.String supername, java.lang.String[] interfaces, java.lang.String sourceFile)
          Makes the classes no more abstract
 org.objectweb.asm.CodeVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String[] exceptions, org.objectweb.asm.Attribute attrs)
          Add only non abstract method.
 
Methods inherited from class org.objectweb.speedo.generation.enhancer.common.LoggedClassAdapter
getJVMClassName, getJVMClassName, getJVMType, getJVMType, getJVMType, getLogger, setLogger
 
Methods inherited from class org.objectweb.asm.ClassAdapter
visitAttribute, visitEnd, visitField, visitInnerClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenClassAdapter

public GenClassAdapter(org.objectweb.asm.ClassVisitor classVisitor,
                       org.objectweb.util.monolog.api.Logger logger,
                       GCInfo gc,
                       Personality p)
Method Detail

isVisitConstructor

public boolean isVisitConstructor()

setVisitConstructor

public void setVisitConstructor(boolean v)

visit

public void visit(int version,
                  int access,
                  java.lang.String name,
                  java.lang.String supername,
                  java.lang.String[] interfaces,
                  java.lang.String sourceFile)
Makes the classes no more abstract

Specified by:
visit in interface org.objectweb.asm.ClassVisitor
Overrides:
visit in class org.objectweb.asm.ClassAdapter

visitMethod

public org.objectweb.asm.CodeVisitor visitMethod(int access,
                                                 java.lang.String name,
                                                 java.lang.String desc,
                                                 java.lang.String[] exceptions,
                                                 org.objectweb.asm.Attribute attrs)
Add only non abstract method.

Specified by:
visitMethod in interface org.objectweb.asm.ClassVisitor
Overrides:
visitMethod in class org.objectweb.asm.ClassAdapter