org.jboss.byteman.agent.adapter
Class InvokeTriggerAdapter.InvokeTriggerMethodAdapter

java.lang.Object
  extended by MethodAdapter
      extended by org.jboss.byteman.agent.adapter.RuleMethodAdapter
          extended by org.jboss.byteman.agent.adapter.RuleGeneratorAdapter
              extended by org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
                  extended by 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
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
InvokeTriggerAdapter.InvokeTriggerMethodAdapter(MethodVisitor mv, TransformContext transformContext, int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
           
 
Method Summary
 Type[] getInvokedTypes()
          method overridden by AT INVOKE method adapter allowing types for the invoked method owner, parameters and return value to be identified.
 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)
           
 
Methods inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
getMethodName, inBytemanHandler, inBytemanTrigger, injectTriggerPoint, inRethrowHandler, visitCode, visitEnd, visitFieldInsn, visitIincInsn, visitInsn, visitIntInsn, 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, 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, putField, putStatic, ret, returnValue, storeArg, storeLocal, swap, swap, tableSwitch, tableSwitch, throwException, throwException, unbox, visitFrame
 
Methods inherited from class org.jboss.byteman.agent.adapter.RuleMethodAdapter
getTriggerClass, lookup, visitLocalVariable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

latched

protected boolean latched
flag used by subclass to avoid inserting trigger until after super constructor has been called

Constructor Detail

InvokeTriggerAdapter.InvokeTriggerMethodAdapter

InvokeTriggerAdapter.InvokeTriggerMethodAdapter(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 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 class RuleTriggerMethodAdapter
Returns:
an array containing the types of the invoked method owner, parameters and return value

getReturnBindingType

public 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 class RuleTriggerMethodAdapter
Returns:
the appropriate return type

visitMethodInsn

public void visitMethodInsn(int opcode,
                            java.lang.String owner,
                            java.lang.String name,
                            java.lang.String desc)
Overrides:
visitMethodInsn in class RuleTriggerMethodAdapter

matchCall

private boolean matchCall(java.lang.String owner,
                          java.lang.String name,
                          java.lang.String desc)