- All Known Subinterfaces:
- IArrayLoadInstruction, IArrayStoreInstruction, IBinaryOpInstruction, IComparisonInstruction, IConditionalBranchInstruction, IConversionInstruction, IGetInstruction, IInstanceofInstruction, IInvokeInstruction, ILoadIndirectInstruction, ILoadInstruction, IPutInstruction, IShiftInstruction, IStoreIndirectInstruction, IStoreInstruction, ITypeTestInstruction, IUnaryOpInstruction
- All Known Implementing Classes:
- ArrayLengthInstruction, ArrayLoadInstruction, ArrayStoreInstruction, BinaryOpInstruction, CheckCastInstruction, ComparisonInstruction, ConditionalBranchInstruction, ConstantInstruction, ConversionInstruction, DupInstruction, GetInstruction, GotoInstruction, InstanceofInstruction, Instruction, InvokeInstruction, LoadInstruction, MonitorInstruction, NewInstruction, PopInstruction, PutInstruction, ReturnInstruction, ShiftInstruction, StoreInstruction, SwapInstruction, SwitchInstruction, ThrowInstruction, UnaryOpInstruction
public interface IInstruction
Nested Class Summary
This class is used by IInstruction.visit to dispatch based on the instruction type.
- true if the instruction can "fall through" to the following instruction
- an array containing the labels this instruction can branch to (not including the following instruction if this
instruction 'falls through')
IInstruction redirectTargets(int targetMap)
- an Instruction equivalent to this one but with any branch labels updated by looking them up in the targetMap array
- the number of values this instruction pops off the working stack
java.lang.String getPushedType(java.lang.String poppedTypesToCheck)
- Computes the type of data pushed onto the stack, or null if none is pushed.
poppedTypesToCheck - the types of the data popped off the stack by this instruction; if poppedTypes is null, then we don't
know the incoming stack types and the result of this method may be less accurate
- the JVM word size of the value this instruction pushes onto the stack, or 0 if this instruction doesn't push anything
onto the stack.
void visit(IInstruction.Visitor v)
- Apply a Visitor to this instruction. We invoke the appropriate Visitor method according to the type of this instruction.
- Subclasses must implement toString.
toString in class
- PEI == "Potentially excepting instruction"
- true iff this instruction might throw an exception