Package org.jboss.byteman.agent.adapter
Class IndexParamAccessTriggerAdapter.IndexParamAccessTriggerMethodAdapter
- 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.IndexParamAccessTriggerAdapter.IndexParamAccessTriggerMethodAdapter
-
- Direct Known Subclasses:
IndexParamAccessTriggerAdapter.IndexParamAccessTriggerConstructorAdapter
- Enclosing class:
- IndexParamAccessTriggerAdapter
private class IndexParamAccessTriggerAdapter.IndexParamAccessTriggerMethodAdapter extends RuleTriggerMethodAdapter
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
Fields Modifier and Type Field Description private int
index
protected boolean
latched
flag used by subclass to avoid inserting trigger until after super constructor has been calledprivate int
visitedCount
-
Fields 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
-
-
Constructor Summary
Constructors Constructor Description IndexParamAccessTriggerMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int paramSlotIdx, int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
matchCall(int opcode)
void
visitIincInsn(int var, int increment)
void
visitVarInsn(int opcode, int var)
override this so we can see track which local var slots are in use and avoid overwriting them-
Methods inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
getInvokedTypes, getMethodName, getNewClassName, getReturnBindingType, inBytemanHandler, inBytemanTrigger, injectTriggerPoint, inRethrowHandler, visitCode, visitEnd, visitFieldInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMultiANewArrayInsn, visitTableSwitchInsn, visitTriggerEnd, visitTriggerStart, visitTryCatchBlock, visitTypeInsn
-
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, visitLocalVariable
-
Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitInsnAnnotation, visitLineNumber, visitLocalVariableAnnotation, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTypeAnnotation
-
-
-
-
Constructor Detail
-
IndexParamAccessTriggerMethodAdapter
IndexParamAccessTriggerMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int paramSlotIdx, int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
-
-
Method Detail
-
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
-
visitIincInsn
public void visitIincInsn(int var, int increment)
- Overrides:
visitIincInsn
in classRuleTriggerMethodAdapter
-
matchCall
private boolean matchCall(int opcode)
-
-