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 -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected String
(package private) HashMap
<String, LinkedList<RuleMethodAdapter.LocalVar>> a hashmap mapping local variable names to all local variables with that name.protected String
protected Rule
protected TransformContext
Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv
-
Constructor Summary
ConstructorsConstructorDescriptionRuleMethodAdapter
(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int access, String name, String desc, Rule rule) -
Method Summary
Modifier and TypeMethodDescriptionprotected List
<RuleMethodAdapter.LocalVar> void
visitLocalVariable
(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index) Methods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, 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 Details
-
localVarsByName
HashMap<String,LinkedList<RuleMethodAdapter.LocalVar>> localVarsByNamea 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
-
rule
-
access
protected int access -
name
-
descriptor
-
-
Constructor Details
-
RuleMethodAdapter
public RuleMethodAdapter(org.objectweb.asm.MethodVisitor mv, TransformContext transformContext, int access, String name, String desc, Rule rule)
-
-
Method Details