Class Block
java.lang.Object
net.covers1624.coffeegrinder.bytecode.Instruction
net.covers1624.coffeegrinder.bytecode.insns.Block
- All Implemented Interfaces:
net.covers1624.quack.util.Copyable<Instruction>
Created by covers1624 on 24/2/21.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<R,C> R accept(InsnVisitor<R, C> visitor, C ctx) Pass thisInstructionthrough the suppliedInsnVisitor.copy()Deep copy this instruction.extractRange(@Nullable String subName, Instruction first, Instruction last) Extracts a range ofInstructions from this block into a new block.extractRange(Instruction first, Instruction last) net.covers1624.quack.collection.FastStream<Branch> Any direct flags for thisInstruction.intgetName()Gets the stack type of the value produced by thisInstruction.getSubName(String nameSuffix) protected voidvoidMethods inherited from class net.covers1624.coffeegrinder.bytecode.Instruction
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, withOffsets
-
Field Details
-
instructions
-
-
Constructor Details
-
Block
public Block() -
Block
-
-
Method Details
-
getResultType
Description copied from class:InstructionGets the stack type of the value produced by thisInstruction.- Specified by:
getResultTypein classInstruction- Returns:
- The
AType.
-
getDirectFlags
Description copied from class:InstructionAny direct flags for thisInstruction.The return value should be cached statically inside the
Instructionimpl.- Specified by:
getDirectFlagsin classInstruction- Returns:
- An
EnumBitSetrepresenting the flags. - See Also:
-
copy
Description copied from class:InstructionDeep copy this instruction.This many not be supported by all instructions.
Implementors should use copy-constructor syntax.
- Specified by:
copyin interfacenet.covers1624.quack.util.Copyable<Instruction>- Overrides:
copyin classInstruction- Returns:
- The copied instruction.
-
onConnected
protected void onConnected()- Overrides:
onConnectedin classInstruction
-
accept
Description copied from class:InstructionPass thisInstructionthrough the suppliedInsnVisitor.- Specified by:
acceptin classInstruction- Parameters:
visitor- TheInsnVisitor.ctx- The context.- Returns:
- The return result from the
InsnVisitor.
-
extractRange
-
extractRange
Extracts a range ofInstructions from this block into a new block.- Parameters:
first- The first instruction to move. (Inclusive)last- The last instruction to move. (Inclusive)- Returns:
- THe new block.
-
getBranches
-
getIncomingEdgeCount
public int getIncomingEdgeCount() -
getName
-
setName
-
getSubName
-