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.Label
private org.objectweb.asm.Label
label generated before inprotected boolean
private boolean
flag which says whether a trigger has been injected into this methodFields inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
exceptions
Fields 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, XOR
Fields inherited from class org.jboss.byteman.agent.adapter.RuleMethodAdapter
access, descriptor, localVarsByName, name, rule, transformContext
Fields 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 TypeMethodDescriptionvoid
void
visitFieldInsn
(int opcode, String owner, String name, String desc) void
visitIincInsn
(int var, int increment) void
visitInsn
(int opcode) void
visitIntInsn
(int opcode, int operand) void
visitJumpInsn
(int opcode, org.objectweb.asm.Label label) void
visitLdcInsn
(Object cst) void
visitLocalVariable
(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index) void
visitLookupSwitchInsn
(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) void
visitMethodInsn
(int opcode, String owner, String name, String desc, boolean itf) void
visitMultiANewArrayInsn
(String desc, int dims) void
visitTableSwitchInsn
(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels) void
visitTypeInsn
(int opcode, String desc) void
visitVarInsn
(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, visitTryCatchBlock
Methods 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, visitFrame
Methods inherited from class org.jboss.byteman.agent.adapter.RuleMethodAdapter
getTriggerClassName, lookup
Methods 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:
visitCode
in classRuleTriggerMethodAdapter
-
visitLocalVariable
public void visitLocalVariable(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index) - Overrides:
visitLocalVariable
in classRuleMethodAdapter
-
visitInsn
public void visitInsn(int opcode) - Overrides:
visitInsn
in classRuleTriggerMethodAdapter
-
visitIincInsn
public void visitIincInsn(int var, int increment) - Overrides:
visitIincInsn
in classRuleTriggerMethodAdapter
-
visitIntInsn
public void visitIntInsn(int opcode, int operand) - Overrides:
visitIntInsn
in classRuleTriggerMethodAdapter
-
visitLdcInsn
- Overrides:
visitLdcInsn
in classRuleTriggerMethodAdapter
-
visitVarInsn
public void visitVarInsn(int opcode, int var) Description copied from class:RuleGeneratorAdapter
override this so we can see track which local var slots are in use and avoid overwriting them- Overrides:
visitVarInsn
in classRuleTriggerMethodAdapter
- Parameters:
opcode
- the bytecode operationvar
- local variable index
-
visitTypeInsn
- Overrides:
visitTypeInsn
in classRuleTriggerMethodAdapter
-
visitFieldInsn
- Overrides:
visitFieldInsn
in classRuleTriggerMethodAdapter
-
visitMethodInsn
- Overrides:
visitMethodInsn
in classRuleTriggerMethodAdapter
-
visitJumpInsn
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label) - Overrides:
visitJumpInsn
in classRuleTriggerMethodAdapter
-
visitTableSwitchInsn
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels) - Overrides:
visitTableSwitchInsn
in classRuleTriggerMethodAdapter
-
visitLookupSwitchInsn
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) - Overrides:
visitLookupSwitchInsn
in classRuleTriggerMethodAdapter
-
visitMultiANewArrayInsn
- Overrides:
visitMultiANewArrayInsn
in classRuleTriggerMethodAdapter
-