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.Object
public BranchEntry clone()
clone
in class java.lang.Object