public class StacktraceModel.Branch
extends java.lang.Object
StacktraceModel.Fork
and ends
with a fork.
When first constructed, the branch only has the first frame calculated. On demand, a list of non-branching "tail" frames and a fork after the branch can be calculated and retrieved.
Note that all frames within a branch do not necessarily have the same number of items. Stack traces that are similar in all aspects except for their sizes (e.g. [a, b] and [a, b, c]) can share a branch. Forks are only created if there are two or more different frames on the same level (e.g. [a, b, c] and [a, b, d]).
Modifier and Type | Field and Description |
---|---|
private StacktraceModel.Fork |
branchEnding |
private StacktraceFrame |
firstFrame |
private java.lang.Boolean |
hasTail |
private int |
itemOffsetInFork |
private StacktraceModel.Fork |
parentFork |
private int |
siblingIndex |
private StacktraceFrame[] |
tailFrames |
Modifier | Constructor and Description |
---|---|
private |
Branch(StacktraceModel.Fork parent,
SimpleArray<IItem> items,
IMCFrame frame,
int siblingIndex,
int itemOffsetInFork) |
Modifier and Type | Method and Description |
---|---|
private StacktraceFrame[] |
buildTail() |
private boolean |
calculateHasTail() |
StacktraceModel.Fork |
getEndFork() |
StacktraceFrame |
getFirstFrame() |
int |
getItemOffsetInFork() |
StacktraceFrame |
getLastFrame() |
StacktraceModel.Fork |
getParentFork() |
StacktraceFrame[] |
getTailFrames() |
boolean |
hasTail() |
StacktraceModel.Branch |
selectSibling(java.lang.Integer siblingOffset)
Deprecated.
Will eventually be moved to UI code
|
private final StacktraceModel.Fork parentFork
private final StacktraceFrame firstFrame
private final int siblingIndex
private final int itemOffsetInFork
private java.lang.Boolean hasTail
private StacktraceFrame[] tailFrames
private StacktraceModel.Fork branchEnding
private Branch(StacktraceModel.Fork parent, SimpleArray<IItem> items, IMCFrame frame, int siblingIndex, int itemOffsetInFork)
public int getItemOffsetInFork()
public StacktraceModel.Fork getParentFork()
public boolean hasTail()
@Deprecated public StacktraceModel.Branch selectSibling(java.lang.Integer siblingOffset)
siblingOffset
- Use 1 or -1 to select the next or previous sibling branch. If 0, then this
branch is selected. If null, clear branch selection.public StacktraceFrame getFirstFrame()
public StacktraceFrame getLastFrame()
public StacktraceFrame[] getTailFrames()
public StacktraceModel.Fork getEndFork()
private boolean calculateHasTail()
private StacktraceFrame[] buildTail()