| java.lang.Object com.tc.asm.ClassAdapter com.tc.aspectwerkz.transform.inlining.weaver.ConstructorCallVisitor
ConstructorCallVisitor | public class ConstructorCallVisitor extends ClassAdapter implements TransformationConstants(Code) | | Instruments ctor CALL join points by replacing INVOKEXXX instructions with invocations of the compiled join point.
It calls the JPClass.invoke static method. The signature of the invoke method is:
invoke(args.., caller) - note: no callee as arg0
(The reason why is that it simplifies call pointcut stack management)
Note: The Eclipse compiler is generating "catch(exception) NEW DUP_X1 SWAP getMessage newError(..)"
hence NEW DUP_X1 is a valid sequence as well, and DUP_X1 is replaced by DUP to preserved the SWAP.
Other more complex schemes (DUP_X2) are not implemented (no real test so far)
author: Alexandre Vasseur |
Inner Class :public class ReplaceNewInstructionCodeAdapter extends MethodAdapter | |
Inner Class :static class NewInvocationStruct | |
visitMethod | public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)(Code) | | Visits the caller methods.
Parameters: access - Parameters: name - Parameters: desc - Parameters: signature - Parameters: exceptions - |
Methods inherited from com.tc.asm.ClassAdapter | public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)(Code)(Java Doc) public AnnotationVisitor visitAnnotation(String desc, boolean visible)(Code)(Java Doc) public void visitAttribute(Attribute attr)(Code)(Java Doc) public void visitEnd()(Code)(Java Doc) public FieldVisitor visitField(int access, String name, String desc, String signature, Object value)(Code)(Java Doc) public void visitInnerClass(String name, String outerName, String innerName, int access)(Code)(Java Doc) public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)(Code)(Java Doc) public void visitOuterClass(String owner, String name, String desc)(Code)(Java Doc) public void visitSource(String source, String debug)(Code)(Java Doc)
|
|
|