public class Block extends Instruction
| Modifier and Type | Field and Description |
|---|---|
InstructionCollection<Instruction> |
instructions |
opcode| Modifier and Type | Method and Description |
|---|---|
<R,C> R |
accept(InsnVisitor<R,C> visitor,
C ctx)
Pass this
Instruction through the supplied InsnVisitor. |
Block |
copy()
Deep copy this instruction.
|
Block |
extractRange(Instruction first,
Instruction last) |
Block |
extractRange(@Nullable java.lang.String subName,
Instruction first,
Instruction last)
Extracts a range of
Instructions from this block into a new block. |
net.covers1624.quack.collection.FastStream<Branch> |
getBranches() |
EnumBitSet<InstructionFlag> |
getDirectFlags()
Any direct flags for this
Instruction. |
int |
getIncomingEdgeCount() |
java.lang.String |
getName() |
AType |
getResultType()
Gets the stack type of the value produced by this
Instruction. |
java.lang.String |
getSubName(java.lang.String nameSuffix) |
protected void |
onConnected() |
void |
setName(java.lang.String name) |
accept, addRef, ancestorsOfType, computeFlags, descendantsMatching, descendantsOfType, descendantsToList, descendantsToListWhere, descendantsWhere, firstAncestorOfType, getBytecodeOffset, getChildren, getDescendants, getFirstChild, getFirstChildOrNull, getFlags, getLastChild, getLastChildOrNull, getNextSibling, getNextSiblingOrNull, getParent, getParentOrNull, getPrevSibling, getPrevSiblingOrNull, getSourceLine, getTag, hasDirectFlag, hasFlag, insertAfter, insertBefore, invalidateFlags, isConnected, isDescendantOf, onChildModified, onDisconnected, releaseRef, remove, replaceWith, setBytecodeOffset, setOffsets, setSourceLine, setTag, toString, toString, withOffsetspublic final InstructionCollection<Instruction> instructions
public AType getResultType()
InstructionInstruction.getResultType in class InstructionAType.public EnumBitSet<InstructionFlag> getDirectFlags()
InstructionInstruction.
The return value should be cached statically inside the Instruction impl.
getDirectFlags in class InstructionEnumBitSet representing the flags.Instruction.getFlags()public Block copy()
InstructionThis many not be supported by all instructions.
Implementors should use copy-constructor syntax.
copy in interface net.covers1624.quack.util.Copyable<Instruction>copy in class Instructionprotected void onConnected()
onConnected in class Instructionpublic <R,C> R accept(InsnVisitor<R,C> visitor, C ctx)
InstructionInstruction through the supplied InsnVisitor.accept in class Instructionvisitor - The InsnVisitor.ctx - The context.InsnVisitor.public Block extractRange(Instruction first, Instruction last)
public Block extractRange(@Nullable @Nullable java.lang.String subName, Instruction first, Instruction last)
Instructions from this block into a new block.first - The first instruction to move. (Inclusive)last - The last instruction to move. (Inclusive)public net.covers1624.quack.collection.FastStream<Branch> getBranches()
public int getIncomingEdgeCount()
public java.lang.String getName()
public void setName(java.lang.String name)
public java.lang.String getSubName(java.lang.String nameSuffix)