Package org.jboss.byteman.agent.adapter
Class InvokeTriggerAdapter.InvokeTriggerMethodAdapter
- 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.InvokeTriggerAdapter.InvokeTriggerMethodAdapter
-
- Direct Known Subclasses:
InvokeTriggerAdapter.InvokeTriggerConstructorAdapter
- Enclosing class:
- InvokeTriggerAdapter
private class InvokeTriggerAdapter.InvokeTriggerMethodAdapter 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 protected boolean
latched
flag used by subclass to avoid inserting trigger until after super constructor has been called-
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 InvokeTriggerMethodAdapter(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 org.objectweb.asm.Type[]
getInvokedTypes()
method overridden by AT INVOKE method adapter allowing types for the invoked method owner, parameters and return value to be identified.org.objectweb.asm.Type
getReturnBindingType()
method overridden by AT INVOKE method adapter allowing the type of the $! binding to be identified.private boolean
matchCall(java.lang.String owner, java.lang.String name, java.lang.String desc)
void
visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc, boolean itf)
-
Methods inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
getMethodName, getNewClassName, inBytemanHandler, inBytemanTrigger, injectTriggerPoint, inRethrowHandler, visitCode, visitEnd, visitFieldInsn, visitIincInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLookupSwitchInsn, visitMaxs, visitMultiANewArrayInsn, visitTableSwitchInsn, visitTriggerEnd, visitTriggerStart, visitTryCatchBlock, visitTypeInsn, visitVarInsn
-
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
-
InvokeTriggerMethodAdapter
InvokeTriggerMethodAdapter(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
-
getInvokedTypes
public org.objectweb.asm.Type[] getInvokedTypes()
Description copied from class:RuleTriggerMethodAdapter
method overridden by AT INVOKE method adapter allowing types for the invoked method owner, parameters and return value to be identified. this default version should never get invoked- Overrides:
getInvokedTypes
in classRuleTriggerMethodAdapter
- Returns:
- an array containing the types of the invoked method owner, parameters and return value
-
getReturnBindingType
public org.objectweb.asm.Type getReturnBindingType()
method overridden by AT INVOKE method adapter allowing the type of the $! binding to be identified. this version should only get invoked for an AFTER INVOKE rule where it returns the invoked method return type- Overrides:
getReturnBindingType
in classRuleTriggerMethodAdapter
- Returns:
- the appropriate return type
-
visitMethodInsn
public void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc, boolean itf)
- Overrides:
visitMethodInsn
in classRuleTriggerMethodAdapter
-
matchCall
private boolean matchCall(java.lang.String owner, java.lang.String name, java.lang.String desc)
-
-