| org.codehaus.aspectwerkz.transform.inlining.weaver.JoinPointInitVisitor
JoinPointInitVisitor | public class JoinPointInitVisitor extends ClassAdapter implements TransformationConstants(Code) | | A ClassAdapter that take care of all weaved class and add the glue between the class and its JIT dependencies.
Adds a 'private static final Class aw$clazz' field a 'private static void ___AW_$_AW_$initJoinPoints()' method
and patches the 'clinit' method.
If the class has been made advisable, we also add a ___AW_$_AW_$emittedJoinPoints fields that gets populated.
author: Alexandre Vasseur author: Jonas BonŽr |
Inner Class :public class InsertBeforeClinitCodeAdapter extends CodeAdapter | |
Inner Class :public class InsertBeforeInitJoinPointsCodeAdapter extends CodeAdapter | |
Method Summary | |
public void | visitEnd() Finalize the visit. | public void | visitField(int access, String name, String desc, Object value, Attribute attrs) Remember if we have already the static class field for multi-weaving scheme. | public CodeVisitor | visitMethod(int access, String name, String desc, String[] exceptions, Attribute attrs) Visits the methods. |
JoinPointInitVisitor | public JoinPointInitVisitor(ClassVisitor cv, Context ctx)(Code) | | Creates a new instance.
Parameters: cv - Parameters: ctx - |
visitEnd | public void visitEnd()(Code) | | Finalize the visit. Add static class field if needed, add initJoinPoints method if needed, add if
needed.
|
visitField | public void visitField(int access, String name, String desc, Object value, Attribute attrs)(Code) | | Remember if we have already the static class field for multi-weaving scheme.
Parameters: access - Parameters: name - Parameters: desc - Parameters: value - Parameters: attrs - |
visitMethod | public CodeVisitor visitMethod(int access, String name, String desc, String[] exceptions, Attribute attrs)(Code) | | Visits the methods. If the AW joinPointsInit method is found, remember that, it means we are in a multi-weaving
scheme. Patch the 'clinit' method if already present.
See Also: org.objectweb.asm.ClassVisitor.visitMethod(intjava.lang.Stringjava.lang.Stringjava.lang.String[]org.objectweb.asm.Attribute) |
|
|