public final class BranchEntry
extends java.lang.Object
BranchEntry represents a node of the internal representation of a branch structure.| Modifier and Type | Class and Description |
|---|---|
static class |
BranchEntry.Type |
| Constructor and Description |
|---|
BranchEntry(BranchEntry.Type type,
int groupId,
int branchLabel) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canInsertStepIntoBlock()
Checks whether the block coverage is not
null. |
boolean |
canInsertStepIntoSlot()
Checks whether the slot coverage is not
null. |
BranchEntry |
clone() |
java.util.Set<java.lang.Integer> |
getBlockCoverage()
Returns the block coverage of the branch instruction.
|
int |
getBranchLabel()
Returns the branch label (index of the target instruction in the branch structure).
|
BranchTrace |
getBranchTrace()
Returns the execution trace of the branch instruction.
|
int |
getGroupId()
Returns the group identifier of the entry.
|
java.util.Set<java.lang.Integer> |
getSlotCoverage()
Returns the slot coverage of the branch instruction.
|
BranchEntry.Type |
getType()
Returns the type of the entry.
|
boolean |
isBasicBlock()
Checks if the entry is a basic block.
|
boolean |
isBranch()
Checks whether the entry is a conditional or an unconditional branch.
|
boolean |
isDelaySlot()
Checks whether the entry is a delay slot.
|
boolean |
isGoto()
Checks whether the entry is an unconditional branch.
|
boolean |
isIfThen()
Checks whether the entry is a conditional branch.
|
void |
setBlockCoverage(java.util.Set<java.lang.Integer> blockCoverage)
Sets the block coverage of the branch instruction.
|
void |
setBranchLabel(int branchLabel)
Sets the branch label (index of the target instruction in the branch structure).
|
void |
setGroupId(int groupId)
Sets the group identifier of the entry.
|
void |
setSlotCoverage(java.util.Set<java.lang.Integer> slotCoverage)
Sets the slot coverage of the branch instruction.
|
void |
setType(BranchEntry.Type type)
Sets the type of the entry.
|
java.lang.String |
toString() |
public BranchEntry(BranchEntry.Type type, int groupId, int branchLabel)
public BranchEntry.Type getType()
public void setType(BranchEntry.Type type)
type - the type to be set.public boolean isIfThen()
true if the entry is a conditional branch; false otherwise.public boolean isGoto()
true if the entry is a unconditional branch; false otherwise.public boolean isDelaySlot()
true if the entry is a delay slot; false otherwise.public boolean isBasicBlock()
true if the entry is a basic block; false otherwise.public boolean isBranch()
true if the entry is a branch; false otherwise.public int getGroupId()
public void setGroupId(int groupId)
groupId - the group identifier to be set.public int getBranchLabel()
public void setBranchLabel(int branchLabel)
branchLabel - the branch label to be set.public BranchTrace getBranchTrace()
public java.util.Set<java.lang.Integer> getBlockCoverage()
public void setBlockCoverage(java.util.Set<java.lang.Integer> blockCoverage)
blockCoverage - the block coverage to be set.public java.util.Set<java.lang.Integer> getSlotCoverage()
public void setSlotCoverage(java.util.Set<java.lang.Integer> slotCoverage)
slotCoverage - the slot coverage to be set.public boolean canInsertStepIntoBlock()
null.true if the block coverage is not null; false otherwise.public boolean canInsertStepIntoSlot()
null.true if slot coverage is not null; false otherwise.public java.lang.String toString()
toString in class java.lang.Objectpublic BranchEntry clone()
clone in class java.lang.Object