Package org.jboss.byteman.agent.adapter
Class RuleMethodAdapter
- java.lang.Object
-
- org.objectweb.asm.MethodVisitor
-
- org.jboss.byteman.agent.adapter.RuleMethodAdapter
-
- Direct Known Subclasses:
RuleCheckMethodAdapter
,RuleGeneratorAdapter
public class RuleMethodAdapter extends org.objectweb.asm.MethodVisitor
generic rule method adapter which extends GeneratorAdpater and adds the ability to track in-scope local variables
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
RuleMethodAdapter.LocalVar
-
Field Summary
Fields Modifier and Type Field Description protected int
access
protected java.lang.String
descriptor
(package private) java.util.HashMap<java.lang.String,java.util.LinkedList<RuleMethodAdapter.LocalVar>>
localVarsByName
a hashmap mapping local variable names to all local variables with that name.protected java.lang.String
name
protected Rule
rule
protected TransformContext
transformContext
-
Constructor Summary
Constructors Constructor Description RuleMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int access, java.lang.String name, java.lang.String desc, Rule rule)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getTriggerClassName()
protected java.util.List<RuleMethodAdapter.LocalVar>
lookup(java.lang.String name)
void
visitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)
-
Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsn
-
-
-
-
Field Detail
-
localVarsByName
java.util.HashMap<java.lang.String,java.util.LinkedList<RuleMethodAdapter.LocalVar>> localVarsByName
a hashmap mapping local variable names to all local variables with that name. note that although there may be more than one scope for a given local var name they will all have disjoint extents because Java does not permit shadowing.
-
transformContext
protected TransformContext transformContext
-
rule
protected Rule rule
-
access
protected int access
-
name
protected java.lang.String name
-
descriptor
protected java.lang.String descriptor
-
-
Constructor Detail
-
RuleMethodAdapter
public RuleMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int access, java.lang.String name, java.lang.String desc, Rule rule)
-
-
Method Detail
-
getTriggerClassName
public java.lang.String getTriggerClassName()
-
visitLocalVariable
public void visitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)
- Overrides:
visitLocalVariable
in classorg.objectweb.asm.MethodVisitor
-
lookup
protected java.util.List<RuleMethodAdapter.LocalVar> lookup(java.lang.String name)
-
-