com.ikokoon.serenity.instrumentation.dependency
Class DependencyMethodAdapter

java.lang.Object
  extended by org.objectweb.asm.MethodAdapter
      extended by com.ikokoon.serenity.instrumentation.dependency.DependencyMethodAdapter
All Implemented Interfaces:
org.objectweb.asm.MethodVisitor, org.objectweb.asm.Opcodes

public class DependencyMethodAdapter
extends org.objectweb.asm.MethodAdapter
implements org.objectweb.asm.Opcodes

This class visits the method instructions and collects dependency metrics on the method.

Since:
18.07.09
Version:
01.00
Author:
Michael Couck

Field Summary
 
Fields inherited from class org.objectweb.asm.MethodAdapter
mv
 
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, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, 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, INTEGER, 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, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, 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, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6
 
Constructor Summary
DependencyMethodAdapter(org.objectweb.asm.MethodVisitor methodVisitor, java.lang.Integer access, java.lang.String className, java.lang.String methodName, java.lang.String methodDescription)
          The constructor initialises a DependencyMethodAdapter and takes all the interesting items for the method that are used for the collection of the data.
 
Method Summary
 org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
          
 void visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
          
 void visitLineNumber(int lineNumber, org.objectweb.asm.Label label)
          
 void visitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)
          
 void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
          
 void visitMultiANewArrayInsn(java.lang.String desc, int dims)
          
 org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int parameter, java.lang.String desc, boolean visible)
          
 
Methods inherited from class org.objectweb.asm.MethodAdapter
visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLookupSwitchInsn, visitMaxs, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn, visitVarInsn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DependencyMethodAdapter

public DependencyMethodAdapter(org.objectweb.asm.MethodVisitor methodVisitor,
                               java.lang.Integer access,
                               java.lang.String className,
                               java.lang.String methodName,
                               java.lang.String methodDescription)
The constructor initialises a DependencyMethodAdapter and takes all the interesting items for the method that are used for the collection of the data.

Parameters:
methodVisitor - the method visitor of the parent
className - the name of the class the method belongs to
methodName - the name of the method
methodDescription - the description of the method
Method Detail

visitAnnotation

public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc,
                                                           boolean visible)

Specified by:
visitAnnotation in interface org.objectweb.asm.MethodVisitor
Overrides:
visitAnnotation in class org.objectweb.asm.MethodAdapter

visitFieldInsn

public void visitFieldInsn(int opcode,
                           java.lang.String owner,
                           java.lang.String name,
                           java.lang.String desc)

Specified by:
visitFieldInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitFieldInsn in class org.objectweb.asm.MethodAdapter

visitLineNumber

public void visitLineNumber(int lineNumber,
                            org.objectweb.asm.Label label)

Specified by:
visitLineNumber in interface org.objectweb.asm.MethodVisitor
Overrides:
visitLineNumber in class org.objectweb.asm.MethodAdapter

visitLocalVariable

public void visitLocalVariable(java.lang.String name,
                               java.lang.String desc,
                               java.lang.String signature,
                               org.objectweb.asm.Label start,
                               org.objectweb.asm.Label end,
                               int index)

Specified by:
visitLocalVariable in interface org.objectweb.asm.MethodVisitor
Overrides:
visitLocalVariable in class org.objectweb.asm.MethodAdapter

visitMethodInsn

public void visitMethodInsn(int opcode,
                            java.lang.String owner,
                            java.lang.String name,
                            java.lang.String desc)

Specified by:
visitMethodInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitMethodInsn in class org.objectweb.asm.MethodAdapter

visitMultiANewArrayInsn

public void visitMultiANewArrayInsn(java.lang.String desc,
                                    int dims)

Specified by:
visitMultiANewArrayInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitMultiANewArrayInsn in class org.objectweb.asm.MethodAdapter

visitParameterAnnotation

public org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int parameter,
                                                                    java.lang.String desc,
                                                                    boolean visible)

Specified by:
visitParameterAnnotation in interface org.objectweb.asm.MethodVisitor
Overrides:
visitParameterAnnotation in class org.objectweb.asm.MethodAdapter


Copyright © 2010. All Rights Reserved.