public abstract class Select extends BranchInstruction implements VariableLengthInstruction, StackConsumer, StackProducer
We use our super's target property as the default target.
LOOKUPSWITCH,
TABLESWITCH,
InstructionList| Modifier and Type | Field and Description |
|---|---|
protected int |
fixed_length
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
protected int[] |
indices
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
protected int[] |
match
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
protected int |
match_length
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
protected int |
padding
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
protected InstructionHandle[] |
targets
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
index, position, targetlength, opcode| Modifier and Type | Method and Description |
|---|---|
protected Object |
clone() |
boolean |
containsTarget(InstructionHandle ih)
Tests whether this targeter targets the specified instruction handle.
|
void |
dump(DataOutputStream out)
Dump instruction as byte code to stream out.
|
int[] |
getIndices() |
int[] |
getMatchs() |
InstructionHandle[] |
getTargets() |
protected void |
initFromFile(ByteSequence bytes,
boolean wide)
Read needed data (e.g.
|
void |
setTarget(int i,
InstructionHandle target)
Sets branch target for 'i'th case
|
String |
toString(boolean verbose)
Long output format:
<position in byte code> <name of opcode> "["<opcode number>"]" "("<length of instruction>")"
"<"<target instruction>">" "@"<branch target offset>
|
protected int |
updatePosition(int offset,
int maxOffset)
Since this is a variable length instruction, it may shift the following instructions which then need to update their
position.
|
void |
updateTarget(InstructionHandle oldIh,
InstructionHandle newIh)
Replaces the target of this targeter from this old handle to the new handle.
|
getIndex, getPosition, getTarget, getTargetOffset, getTargetOffset, setIndex, setPosition, setTargetaccept, consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitconsumeStackproduceStack@Deprecated protected int[] match
@Deprecated protected int[] indices
@Deprecated protected InstructionHandle[] targets
@Deprecated protected int fixed_length
@Deprecated protected int match_length
@Deprecated protected int padding
protected Object clone() throws CloneNotSupportedException
clone in class ObjectCloneNotSupportedExceptionpublic boolean containsTarget(InstructionHandle ih)
InstructionTargetercontainsTarget in interface InstructionTargetercontainsTarget in class BranchInstructionih - the instruction handle to test.public void dump(DataOutputStream out) throws IOException
dump in class BranchInstructionout - Output streamIOException - Thrown when an I/O exception of some sort has occurred.public int[] getIndices()
public int[] getMatchs()
public InstructionHandle[] getTargets()
protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException
initFromFile in class BranchInstructionbytes - input streamwide - wide prefix?IOException - may be thrown if the implementation needs to read data from the fileInstructionListpublic void setTarget(int i,
InstructionHandle target)
public String toString(boolean verbose)
BranchInstructiontoString in class BranchInstructionverbose - long/short format switchprotected int updatePosition(int offset,
int maxOffset)
updatePosition in class BranchInstructionoffset - additional offset caused by preceding (variable length) instructionsmaxOffset - the maximum offset that may be caused by these instructionspublic void updateTarget(InstructionHandle oldIh, InstructionHandle newIh)
InstructionTargeterupdateTarget in interface InstructionTargeterupdateTarget in class BranchInstructionoldIh - old targetnewIh - new targetCopyright © 2004–2025 The Apache Software Foundation. All rights reserved.