Package org.jboss.byteman.agent.adapter
Class NewArrayTriggerAdapter.NewArrayTriggerMethodAdapter
- 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.NewArrayTriggerAdapter.NewArrayTriggerMethodAdapter
-
- Direct Known Subclasses:
NewArrayTriggerAdapter.NewArrayTriggerConstructorAdapter
- Enclosing class:
- NewArrayTriggerAdapter
private class NewArrayTriggerAdapter.NewArrayTriggerMethodAdapter 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 calledprivate java.lang.String
matchedBaseName
private int
visitedCount
-
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 NewArrayTriggerMethodAdapter(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 java.lang.String
getNewClassName()
method overridden by AT NEW method trigger adapter allowing String value for NEWCLASS binding to be retrieved., this default version should never get invokedorg.objectweb.asm.Type
getReturnBindingType()
method overridden by AT INVOKE method adapter allowing the type of the $! binding to be identified.private boolean
matchType(int operand)
private boolean
matchType(java.lang.String type)
void
visitIntInsn(int opcode, int operand)
void
visitMultiANewArrayInsn(java.lang.String descriptor, int numDimensions)
void
visitTypeInsn(int opcode, java.lang.String type)
-
Methods inherited from class org.jboss.byteman.agent.adapter.RuleTriggerMethodAdapter
getInvokedTypes, getMethodName, inBytemanHandler, inBytemanTrigger, injectTriggerPoint, inRethrowHandler, visitCode, visitEnd, visitFieldInsn, visitIincInsn, visitInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitTableSwitchInsn, visitTriggerEnd, visitTriggerStart, visitTryCatchBlock, 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
-
NewArrayTriggerMethodAdapter
NewArrayTriggerMethodAdapter(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
-
getNewClassName
public java.lang.String getNewClassName()
Description copied from class:RuleTriggerMethodAdapter
method overridden by AT NEW method trigger adapter allowing String value for NEWCLASS binding to be retrieved., this default version should never get invoked- Overrides:
getNewClassName
in classRuleTriggerMethodAdapter
- Returns:
- String value for NEWCLASS binding
-
visitTypeInsn
public void visitTypeInsn(int opcode, java.lang.String type)
- Overrides:
visitTypeInsn
in classRuleTriggerMethodAdapter
-
visitIntInsn
public void visitIntInsn(int opcode, int operand)
- Overrides:
visitIntInsn
in classRuleTriggerMethodAdapter
-
visitMultiANewArrayInsn
public void visitMultiANewArrayInsn(java.lang.String descriptor, int numDimensions)
- Overrides:
visitMultiANewArrayInsn
in classRuleTriggerMethodAdapter
-
matchType
private boolean matchType(int operand)
-
matchType
private boolean matchType(java.lang.String type)
-
getReturnBindingType
public org.objectweb.asm.Type getReturnBindingType()
Description copied from class:RuleTriggerMethodAdapter
method overridden by AT INVOKE method adapter allowing the type of the $! binding to be identified. this default version should only get invoked for an AT EXIT rule where it returns the trigger method return type. the overridden 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
-
-