public class RuleTriggerMethodAdapter extends RuleGeneratorAdapter
RuleMethodAdapter.LocalVar
Modifier and Type | Field and Description |
---|---|
protected String[] |
exceptions |
ADD, AND, DIV, EQ, GE, GT, LE, LT, MUL, NE, NEG, OR, REM, SHL, SHR, SUB, USHR, XOR
access, descriptor, name, rule, transformContext
Modifier and Type | Method and 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.
|
protected String |
getMethodName() |
org.objectweb.asm.Type |
getReturnBindingType()
method overridden by AT INVOKE method adapter allowing the type of the $! binding to be identified.
|
protected boolean |
inBytemanHandler()
return true if the current block is a handler which catches a byteman exception thrown by the byteman runtime
|
protected boolean |
inBytemanTrigger()
return true if the current block is in a trigger block injected by Byteman
|
protected void |
injectTriggerPoint()
inject the rule trigger code
|
protected boolean |
inRethrowHandler()
return true if the current block is handler which catches a thrown exception within the scope
of a monitor enter in order to be able exit the monitor and rethrow the exception
|
void |
visitCode() |
void |
visitEnd() |
void |
visitFieldInsn(int opcode,
String owner,
String name,
String desc) |
void |
visitIincInsn(int var,
int increment) |
void |
visitInsn(int opcode) |
void |
visitIntInsn(int opcode,
int operand) |
void |
visitJumpInsn(int opcode,
org.objectweb.asm.Label label) |
void |
visitLabel(org.objectweb.asm.Label label) |
void |
visitLdcInsn(Object cst) |
void |
visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels) |
void |
visitMaxs(int maxStack,
int maxLocals)
ensure we allow enough room for any extra locals on the stack
|
void |
visitMethodInsn(int opcode,
String owner,
String name,
String desc) |
void |
visitMultiANewArrayInsn(String desc,
int dims) |
void |
visitTableSwitchInsn(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels) |
void |
visitTriggerEnd(org.objectweb.asm.Label label) |
void |
visitTriggerStart(org.objectweb.asm.Label label) |
void |
visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
String type) |
void |
visitTypeInsn(int opcode,
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
|
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
getTriggerClassName, lookup, visitLocalVariable
protected String[] exceptions
public org.objectweb.asm.Type[] getInvokedTypes()
public org.objectweb.asm.Type getReturnBindingType()
protected boolean inBytemanHandler()
protected boolean inBytemanTrigger()
protected boolean inRethrowHandler()
protected String getMethodName()
public void visitCode()
visitCode
in interface org.objectweb.asm.MethodVisitor
visitCode
in class org.objectweb.asm.MethodAdapter
public void visitInsn(int opcode)
visitInsn
in interface org.objectweb.asm.MethodVisitor
visitInsn
in class org.objectweb.asm.MethodAdapter
public void visitIincInsn(int var, int increment)
visitIincInsn
in interface org.objectweb.asm.MethodVisitor
visitIincInsn
in class org.objectweb.asm.MethodAdapter
public void visitIntInsn(int opcode, int operand)
visitIntInsn
in interface org.objectweb.asm.MethodVisitor
visitIntInsn
in class org.objectweb.asm.MethodAdapter
public void visitLdcInsn(Object cst)
visitLdcInsn
in interface org.objectweb.asm.MethodVisitor
visitLdcInsn
in class org.objectweb.asm.MethodAdapter
public void visitVarInsn(int opcode, int var)
RuleGeneratorAdapter
visitVarInsn
in interface org.objectweb.asm.MethodVisitor
visitVarInsn
in class RuleGeneratorAdapter
public void visitTypeInsn(int opcode, String desc)
visitTypeInsn
in interface org.objectweb.asm.MethodVisitor
visitTypeInsn
in class org.objectweb.asm.MethodAdapter
public void visitFieldInsn(int opcode, String owner, String name, String desc)
visitFieldInsn
in interface org.objectweb.asm.MethodVisitor
visitFieldInsn
in class org.objectweb.asm.MethodAdapter
public void visitMethodInsn(int opcode, String owner, String name, String desc)
visitMethodInsn
in interface org.objectweb.asm.MethodVisitor
visitMethodInsn
in class org.objectweb.asm.MethodAdapter
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label)
visitJumpInsn
in interface org.objectweb.asm.MethodVisitor
visitJumpInsn
in class org.objectweb.asm.MethodAdapter
public void visitLabel(org.objectweb.asm.Label label)
visitLabel
in interface org.objectweb.asm.MethodVisitor
visitLabel
in class org.objectweb.asm.MethodAdapter
public void visitTriggerStart(org.objectweb.asm.Label label)
public void visitTriggerEnd(org.objectweb.asm.Label label)
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels)
visitTableSwitchInsn
in interface org.objectweb.asm.MethodVisitor
visitTableSwitchInsn
in class org.objectweb.asm.MethodAdapter
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)
visitLookupSwitchInsn
in interface org.objectweb.asm.MethodVisitor
visitLookupSwitchInsn
in class org.objectweb.asm.MethodAdapter
public void visitMultiANewArrayInsn(String desc, int dims)
visitMultiANewArrayInsn
in interface org.objectweb.asm.MethodVisitor
visitMultiANewArrayInsn
in class org.objectweb.asm.MethodAdapter
public void visitTryCatchBlock(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type)
visitTryCatchBlock
in interface org.objectweb.asm.MethodVisitor
visitTryCatchBlock
in class org.objectweb.asm.MethodAdapter
public void visitMaxs(int maxStack, int maxLocals)
RuleGeneratorAdapter
visitMaxs
in interface org.objectweb.asm.MethodVisitor
visitMaxs
in class RuleGeneratorAdapter
public void visitEnd()
visitEnd
in interface org.objectweb.asm.MethodVisitor
visitEnd
in class org.objectweb.asm.MethodAdapter
protected void injectTriggerPoint()
Copyright © 2016. All rights reserved.