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
private class EntryTriggerAdapter.EntryTriggerMethodAdapter 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 org.objectweb.asm.LabeloffsetMarkerprivate org.objectweb.asm.LabelstartMarkerlabel generated before inprotected booleanunlatchedprivate booleanvisitedflag which says whether a trigger has been injected into this method-
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 EntryTriggerMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, 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 voidvisitCode()voidvisitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)voidvisitIincInsn(int var, int increment)voidvisitInsn(int opcode)voidvisitIntInsn(int opcode, int operand)voidvisitJumpInsn(int opcode, org.objectweb.asm.Label label)voidvisitLdcInsn(java.lang.Object cst)voidvisitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.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, java.lang.String owner, java.lang.String name, java.lang.String desc, boolean itf)voidvisitMultiANewArrayInsn(java.lang.String desc, int dims)voidvisitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels)voidvisitTypeInsn(int opcode, java.lang.String desc)voidvisitVarInsn(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, 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
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitInsnAnnotation, visitLineNumber, visitLocalVariableAnnotation, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTypeAnnotation
-
-
-
-
Constructor Detail
-
EntryTriggerMethodAdapter
EntryTriggerMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
-
-
Method Detail
-
visitCode
public void visitCode()
- Overrides:
visitCodein classRuleTriggerMethodAdapter
-
visitLocalVariable
public void visitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.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
public void visitLdcInsn(java.lang.Object cst)
- 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
public void visitTypeInsn(int opcode, java.lang.String desc)- Overrides:
visitTypeInsnin classRuleTriggerMethodAdapter
-
visitFieldInsn
public void visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)- Overrides:
visitFieldInsnin classRuleTriggerMethodAdapter
-
visitMethodInsn
public void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc, boolean itf)- 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
public void visitMultiANewArrayInsn(java.lang.String desc, int dims)- Overrides:
visitMultiANewArrayInsnin classRuleTriggerMethodAdapter
-
-