Package com.strobel.assembler.ir
Class StackMappingVisitor.InstructionAnalyzer
java.lang.Object
com.strobel.assembler.ir.StackMappingVisitor.InstructionAnalyzer
- All Implemented Interfaces:
InstructionVisitor
- Enclosing class:
StackMappingVisitor
private final class StackMappingVisitor.InstructionAnalyzer
extends Object
implements InstructionVisitor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private final MethodBody
private final CoreMetadataFactory
private final InstructionVisitor
private final Stack
<FrameValue> Fields inherited from interface com.strobel.assembler.ir.InstructionVisitor
EMPTY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
private
InstructionAnalyzer
(MethodBody body, InstructionVisitor innerVisitor) -
Method Summary
Modifier and TypeMethodDescriptionprivate int
computeSize
(List<ParameterDefinition> parameters) private void
execute
(Instruction instruction) private TypeReference
substituteTypeArguments
(TypeReference type, MemberReference member) void
visit
(Instruction instruction) void
void
visitBranch
(OpCode code, Instruction target) void
visitConstant
(OpCode code, double value) void
visitConstant
(OpCode code, float value) void
visitConstant
(OpCode code, int value) void
visitConstant
(OpCode code, long value) void
visitConstant
(OpCode opCode, MethodHandle value) void
visitConstant
(OpCode code, TypeReference value) void
visitConstant
(OpCode code, String value) void
visitDynamicCallSite
(OpCode opCode, DynamicCallSite callSite) void
visitEnd()
void
visitField
(OpCode code, FieldReference field) void
visitLabel
(Label label) void
visitMethod
(OpCode code, MethodReference method) void
visitSwitch
(OpCode code, SwitchInfo switchInfo) void
visitType
(OpCode code, TypeReference type) void
visitVariable
(OpCode code, VariableReference variable) void
visitVariable
(OpCode code, VariableReference variable, int operand)
-
Field Details
-
_innerVisitor
-
_body
-
_factory
-
_afterExecute
private boolean _afterExecute -
_temp
-
-
Constructor Details
-
InstructionAnalyzer
-
InstructionAnalyzer
-
-
Method Details
-
visit
- Specified by:
visit
in interfaceInstructionVisitor
-
visit
- Specified by:
visit
in interfaceInstructionVisitor
-
visitConstant
- Specified by:
visitConstant
in interfaceInstructionVisitor
-
visitConstant
- Specified by:
visitConstant
in interfaceInstructionVisitor
-
visitConstant
- Specified by:
visitConstant
in interfaceInstructionVisitor
-
visitConstant
- Specified by:
visitConstant
in interfaceInstructionVisitor
-
visitConstant
- Specified by:
visitConstant
in interfaceInstructionVisitor
-
visitConstant
- Specified by:
visitConstant
in interfaceInstructionVisitor
-
visitConstant
- Specified by:
visitConstant
in interfaceInstructionVisitor
-
visitBranch
- Specified by:
visitBranch
in interfaceInstructionVisitor
-
visitVariable
- Specified by:
visitVariable
in interfaceInstructionVisitor
-
visitVariable
- Specified by:
visitVariable
in interfaceInstructionVisitor
-
visitType
- Specified by:
visitType
in interfaceInstructionVisitor
-
visitMethod
- Specified by:
visitMethod
in interfaceInstructionVisitor
-
visitDynamicCallSite
- Specified by:
visitDynamicCallSite
in interfaceInstructionVisitor
-
visitField
- Specified by:
visitField
in interfaceInstructionVisitor
-
visitLabel
- Specified by:
visitLabel
in interfaceInstructionVisitor
-
visitSwitch
- Specified by:
visitSwitch
in interfaceInstructionVisitor
-
visitEnd
public void visitEnd()- Specified by:
visitEnd
in interfaceInstructionVisitor
-
execute
-
computeSize
-
substituteTypeArguments
-