Package org.jboss.byteman.agent.adapter
Class EntryTriggerAdapter.EntryTriggerMethodAdapter
java.lang.Object
org.objectweb.asm.MethodVisitor
org.jboss.byteman.agent.adapter.RuleMethodAdapter
org.jboss.byteman.agent.adapter.RuleGeneratorAdapter
org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
org.jboss.byteman.agent.adapter.EntryTriggerAdapter.EntryTriggerMethodAdapter
- Direct Known Subclasses:
EntryTriggerAdapter.EntryTriggerConstructorAdapter
- Enclosing class:
EntryTriggerAdapter
a method visitor used to add a rule event trigger call to a method
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jboss.byteman.agent.adapter.RuleMethodAdapter
RuleMethodAdapter.LocalVar -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.objectweb.asm.Labelprivate org.objectweb.asm.Labellabel generated before inprotected booleanprivate booleanflag which says whether a trigger has been injected into this methodFields inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
exceptionsFields inherited from class org.jboss.byteman.agent.adapter.RuleGeneratorAdapter
ADD, AND, DIV, EQ, GE, GT, LE, LT, MUL, NE, NEG, OR, REM, SHL, SHR, SUB, USHR, XORFields inherited from class org.jboss.byteman.agent.adapter.RuleMethodAdapter
access, descriptor, localVarsByName, name, rule, transformContextFields inherited from class org.objectweb.asm.MethodVisitor
api, mv -
Constructor Summary
ConstructorsConstructorDescriptionEntryTriggerMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int access, String name, String descriptor, String signature, String[] exceptions) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvisitFieldInsn(int opcode, String owner, String name, String desc) voidvisitIincInsn(int var, int increment) voidvisitInsn(int opcode) voidvisitIntInsn(int opcode, int operand) voidvisitJumpInsn(int opcode, org.objectweb.asm.Label label) voidvisitLdcInsn(Object cst) voidvisitLocalVariable(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index) voidvisitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) voidvisitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) voidvisitMultiANewArrayInsn(String desc, int dims) voidvisitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels) voidvisitTypeInsn(int opcode, String desc) voidvisitVarInsn(int opcode, int var) override this so we can see track which local var slots are in use and avoid overwriting themMethods inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
getInvokedTypes, getMethodName, getNewClassName, getReturnBindingType, inBytemanHandler, inBytemanTrigger, injectTriggerPoint, inRethrowHandler, visitEnd, visitInvokeDynamicInsn, visitLabel, visitMaxs, visitTriggerEnd, visitTriggerStart, visitTryCatchBlockMethods inherited from class org.jboss.byteman.agent.adapter.RuleGeneratorAdapter
arrayLength, arrayLoad, arrayStore, box, cast, catchException, checkCast, dup, dup2, dup2X1, dup2X2, dupX1, dupX2, endMethod, getField, getLocalType, getStatic, goTo, ifCmp, ifICmp, ifNonNull, ifNull, ifZCmp, iinc, instanceOf, invokeConstructor, invokeDynamic, invokeInterface, invokeStatic, invokeVirtual, loadArg, loadArgArray, loadArgs, loadArgs, loadLocal, loadThis, mark, mark, math, monitorEnter, monitorExit, newArray, newInstance, newLabel, newLocal, not, pop, pop2, popLocal, push, push, push, push, push, push, push, push, putField, putStatic, ret, returnValue, storeArg, storeLocal, swap, swap, tableSwitch, tableSwitch, throwException, throwException, unbox, visitFrameMethods inherited from class org.jboss.byteman.agent.adapter.RuleMethodAdapter
getTriggerClassName, lookupMethods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitInsnAnnotation, visitLineNumber, visitLocalVariableAnnotation, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTypeAnnotation
-
Field Details
-
unlatched
protected boolean unlatched -
visited
private boolean visitedflag which says whether a trigger has been injected into this method -
startMarker
private org.objectweb.asm.Label startMarkerlabel generated before in -
offsetMarker
private org.objectweb.asm.Label offsetMarker
-
-
Constructor Details
-
EntryTriggerMethodAdapter
EntryTriggerMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int access, String name, String descriptor, String signature, String[] exceptions)
-
-
Method Details
-
visitCode
public void visitCode()- Overrides:
visitCodein classRuleTriggerMethodAdapter
-
visitLocalVariable
public void visitLocalVariable(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index) - Overrides:
visitLocalVariablein classRuleMethodAdapter
-
visitInsn
public void visitInsn(int opcode) - Overrides:
visitInsnin classRuleTriggerMethodAdapter
-
visitIincInsn
public void visitIincInsn(int var, int increment) - Overrides:
visitIincInsnin classRuleTriggerMethodAdapter
-
visitIntInsn
public void visitIntInsn(int opcode, int operand) - Overrides:
visitIntInsnin classRuleTriggerMethodAdapter
-
visitLdcInsn
- Overrides:
visitLdcInsnin classRuleTriggerMethodAdapter
-
visitVarInsn
public void visitVarInsn(int opcode, int var) Description copied from class:RuleGeneratorAdapteroverride this so we can see track which local var slots are in use and avoid overwriting them- Overrides:
visitVarInsnin classRuleTriggerMethodAdapter- Parameters:
opcode- the bytecode operationvar- local variable index
-
visitTypeInsn
- Overrides:
visitTypeInsnin classRuleTriggerMethodAdapter
-
visitFieldInsn
- Overrides:
visitFieldInsnin classRuleTriggerMethodAdapter
-
visitMethodInsn
- Overrides:
visitMethodInsnin classRuleTriggerMethodAdapter
-
visitJumpInsn
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label) - Overrides:
visitJumpInsnin classRuleTriggerMethodAdapter
-
visitTableSwitchInsn
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels) - Overrides:
visitTableSwitchInsnin classRuleTriggerMethodAdapter
-
visitLookupSwitchInsn
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) - Overrides:
visitLookupSwitchInsnin classRuleTriggerMethodAdapter
-
visitMultiANewArrayInsn
- Overrides:
visitMultiANewArrayInsnin classRuleTriggerMethodAdapter
-