org.jboss.byteman.agent.adapter
Class EntryTriggerAdapter.EntryTriggerMethodAdapter

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.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
protected  boolean unlatched
           
private  boolean visited
          flag 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
EntryTriggerAdapter.EntryTriggerMethodAdapter(MethodVisitor mv, TransformContext transformContext, int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.String[] exceptions)
           
 
Method Summary
 void visitCode()
           
 void visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
           
 void visitIincInsn(int var, int increment)
           
 void visitInsn(int opcode)
           
 void visitIntInsn(int opcode, int operand)
           
 void visitJumpInsn(int opcode, Label label)
           
 void visitLdcInsn(java.lang.Object cst)
           
 void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels)
           
 void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
           
 void visitMultiANewArrayInsn(java.lang.String desc, int dims)
           
 void visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels)
           
 void visitTypeInsn(int opcode, java.lang.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 them
 
Methods inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
getInvokedTypes, getMethodName, getReturnBindingType, inBytemanHandler, inBytemanTrigger, injectTriggerPoint, inRethrowHandler, visitEnd, 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, 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

unlatched

protected boolean unlatched

visited

private boolean visited
flag which says whether a trigger has been injected into this method

Constructor Detail

EntryTriggerAdapter.EntryTriggerMethodAdapter

EntryTriggerAdapter.EntryTriggerMethodAdapter(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:
visitCode in class RuleTriggerMethodAdapter

visitInsn

public void visitInsn(int opcode)
Overrides:
visitInsn in class RuleTriggerMethodAdapter

visitIincInsn

public void visitIincInsn(int var,
                          int increment)
Overrides:
visitIincInsn in class RuleTriggerMethodAdapter

visitIntInsn

public void visitIntInsn(int opcode,
                         int operand)
Overrides:
visitIntInsn in class RuleTriggerMethodAdapter

visitLdcInsn

public void visitLdcInsn(java.lang.Object cst)
Overrides:
visitLdcInsn in class RuleTriggerMethodAdapter

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 class RuleTriggerMethodAdapter

visitTypeInsn

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

visitFieldInsn

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

visitMethodInsn

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

visitJumpInsn

public void visitJumpInsn(int opcode,
                          Label label)
Overrides:
visitJumpInsn in class RuleTriggerMethodAdapter

visitTableSwitchInsn

public void visitTableSwitchInsn(int min,
                                 int max,
                                 Label dflt,
                                 Label[] labels)
Overrides:
visitTableSwitchInsn in class RuleTriggerMethodAdapter

visitLookupSwitchInsn

public void visitLookupSwitchInsn(Label dflt,
                                  int[] keys,
                                  Label[] labels)
Overrides:
visitLookupSwitchInsn in class RuleTriggerMethodAdapter

visitMultiANewArrayInsn

public void visitMultiANewArrayInsn(java.lang.String desc,
                                    int dims)
Overrides:
visitMultiANewArrayInsn in class RuleTriggerMethodAdapter