Package com.strobel.assembler.ir
Class StackMappingVisitor
java.lang.Object
com.strobel.assembler.ir.StackMappingVisitor
- All Implemented Interfaces:
MethodVisitor
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map
<Instruction, TypeReference> private final MethodVisitor
private List
<FrameValue> private int
private List
<FrameValue> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Frame
boolean
protected final FrameValue
get
(int local) final Map
<Instruction, TypeReference> final int
final FrameValue[]
final FrameValue
getLocalValue
(int slot) final int
final FrameValue[]
final FrameValue
getStackValue
(int offset) protected void
initialize
(FrameValue value, TypeReference type) protected final FrameValue
peek()
protected final FrameValue
pop()
protected final void
pop
(int count) void
protected final void
push
(FrameValue value) protected final void
push
(TypeReference type) protected final void
set
(int local, FrameValue value) protected final void
set
(int local, TypeReference type) void
visitAnnotation
(CustomAnnotation annotation, boolean visible) void
visitAttribute
(SourceAttribute attribute) visitBody
(MethodBody body) void
visitEnd()
void
visitFrame
(Frame frame) void
visitLineNumber
(Instruction instruction, int lineNumber) void
visitParameterAnnotation
(int parameter, CustomAnnotation annotation, boolean visible)
-
Field Details
-
_innerVisitor
-
_maxLocals
private int _maxLocals -
_stack
-
_locals
-
_initializations
-
-
Constructor Details
-
StackMappingVisitor
public StackMappingVisitor() -
StackMappingVisitor
-
-
Method Details
-
buildFrame
-
getStackSize
public final int getStackSize() -
getLocalCount
public final int getLocalCount() -
getStackValue
-
getLocalValue
-
getInitializations
-
getStackSnapshot
-
getLocalsSnapshot
-
canVisitBody
public boolean canVisitBody()- Specified by:
canVisitBody
in interfaceMethodVisitor
-
visitBody
- Specified by:
visitBody
in interfaceMethodVisitor
-
visitEnd
public void visitEnd()- Specified by:
visitEnd
in interfaceMethodVisitor
-
visitFrame
- Specified by:
visitFrame
in interfaceMethodVisitor
-
visitLineNumber
- Specified by:
visitLineNumber
in interfaceMethodVisitor
-
visitAttribute
- Specified by:
visitAttribute
in interfaceMethodVisitor
-
visitAnnotation
- Specified by:
visitAnnotation
in interfaceMethodVisitor
-
visitParameterAnnotation
- Specified by:
visitParameterAnnotation
in interfaceMethodVisitor
-
get
-
set
-
set
-
pop
-
peek
-
pop
protected final void pop(int count) -
push
-
push
-
initialize
-
pruneLocals
public void pruneLocals()
-