|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.asm.ClassAdapter
org.codehaus.aspectwerkz.transform.inlining.weaver.MethodExecutionVisitor
public class MethodExecutionVisitor
Adds a "proxy method" to the methods that matches an execution pointcut as well as prefixing the "original
method".
The proxy method calls the JPClass.invoke static method. The signature of the invoke method depends if the
target method is static or not as follow:
invoke(callee, args.., caller) // non static invoke(args.., caller) // static(The reason why is that it simplifies call pointcut stack management)
Field Summary |
---|
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 | |
---|---|
MethodExecutionVisitor(org.objectweb.asm.ClassVisitor cv,
ClassInfo classInfo,
Context ctx,
Set addedMethods)
Creates a new class adapter. |
Method Summary | |
---|---|
static boolean |
methodFilter(Set definitions,
ExpressionContext ctx,
MethodInfo methodInfo)
Filters out the methods that are not eligible for transformation. |
void |
visit(int version,
int access,
String name,
String superName,
String[] interfaces,
String sourceFile)
Visits the class. |
org.objectweb.asm.CodeVisitor |
visitMethod(int access,
String name,
String desc,
String[] exceptions,
org.objectweb.asm.Attribute attrs)
Visits the methods. |
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 |
---|
public MethodExecutionVisitor(org.objectweb.asm.ClassVisitor cv, ClassInfo classInfo, Context ctx, Set addedMethods)
cv
- classInfo
- ctx
- addedMethods
- Method Detail |
---|
public void visit(int version, int access, String name, String superName, String[] interfaces, String sourceFile)
visit
in interface org.objectweb.asm.ClassVisitor
visit
in class org.objectweb.asm.ClassAdapter
access
- name
- superName
- interfaces
- sourceFile
- public org.objectweb.asm.CodeVisitor visitMethod(int access, String name, String desc, String[] exceptions, org.objectweb.asm.Attribute attrs)
visitMethod
in interface org.objectweb.asm.ClassVisitor
visitMethod
in class org.objectweb.asm.ClassAdapter
access
- name
- desc
- exceptions
- attrs
-
public static boolean methodFilter(Set definitions, ExpressionContext ctx, MethodInfo methodInfo)
definitions
- ctx
- methodInfo
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |