public class LineBreakpoint extends AbstractConditionalBreakpoint
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
classPath
The path of the class this
LineBreakpoint is associated with. |
private int |
lineNumber
The line of the Breakpoint in the respective class.
|
protected int |
methodEnd
The end of the method containing the associated Breakpoint
|
protected int |
methodStart
The start of the method containing the associated Breakpoint
|
Constructor and Description |
---|
LineBreakpoint(java.lang.String classPath,
int lineNumber,
int hitCount,
IProgramMethod pm,
Proof proof,
java.lang.String condition,
boolean enabled,
boolean conditionEnabled,
int methodStart,
int methodEnd)
Creates a new
LineBreakpoint . |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getClassPath() |
int |
getLineNumber()
Returns the line number of the associated Breakpoint.
|
protected StatementBlock |
getStatementBlock(StatementContainer statementContainer)
For a given
StatementContainer this method computes the StatementBlock that contains all lines before the line the Breakpoint is at, including the line itself. |
boolean |
isBreakpointHit(SourceElement activeStatement,
RuleApp ruleApp,
Proof proof,
Node node)
Determines if the breakpoint represented by this BreakpointStopConition is triggered.
|
private boolean |
isInLine(SourceElement activeStatement) |
protected boolean |
isInScope(Node node)
Checks if the statement of a given
Node is in the scope of this breakpoint. |
protected boolean |
isInScopeForCondition(Node node)
Checks if the statement of a given
Node is in the scope of this breakpoint. |
void |
setClassPath(java.lang.String classPath) |
protected boolean |
shouldStopInLine(int line,
java.lang.String path)
Checks if the execution should stop in the given line for the given class.
|
conditionMet, getCondition, getConditionString, getPm, getSelfVar, getToKeep, getVariableNamingMap, getVarsForCondition, isConditionEnabled, refreshVarMaps, setCondition, setConditionEnabled, setPm, setSelfVar, setVariableNamingMap, setVarsForCondition, updateState
getHitCount, hitcountExceeded, setHitCount
getProof, isEnabled, setEnabled
private java.lang.String classPath
LineBreakpoint
is associated with.private int lineNumber
protected int methodStart
protected int methodEnd
public LineBreakpoint(java.lang.String classPath, int lineNumber, int hitCount, IProgramMethod pm, Proof proof, java.lang.String condition, boolean enabled, boolean conditionEnabled, int methodStart, int methodEnd) throws SLTranslationException
LineBreakpoint
.classPath
- the path of the class the associated Breakpoint lies withinlineNumber
- the line where the associated Breakpoint is located in the classhitCount
- the number of hits after which the execution should hold at this breakpointpm
- the IProgramMethod
representing the Method which the Breakpoint is located atproof
- the Proof
that will be executed and should stopcondition
- the condition as given by the userenabled
- flag if the Breakpoint is enabledconditionEnabled
- flag if the condition is enabledmethodStart
- the line the containing method of this breakpoint starts atmethodEnd
- the line the containing method of this breakpoint ends atSLTranslationException
- if the condition could not be parsed to a valid Termprotected StatementBlock getStatementBlock(StatementContainer statementContainer)
StatementContainer
this method computes the StatementBlock
that contains all lines before the line the Breakpoint is at, including the line itself.getStatementBlock
in class AbstractConditionalBreakpoint
statementContainer
- the StatementContainer
to build the block fromStatementBlock
representing the container without the line below the Breakpointprotected boolean shouldStopInLine(int line, java.lang.String path)
line
- The current line of code, that the auto mode is evaluatingpath
- The path of the Class, that contains the currently evaluated codeJavaLineBreakpoint
is in the given line and the condition evaluates to true and the Hitcount is exceeded, false otherwisepublic boolean isBreakpointHit(SourceElement activeStatement, RuleApp ruleApp, Proof proof, Node node)
AbstractConditionalBreakpoint
isBreakpointHit
in interface IBreakpoint
isBreakpointHit
in class AbstractConditionalBreakpoint
activeStatement
- the activeStatement of the noderuleApp
- the applied RuleApp
proof
- the current proofnode
- the current nodeprivate boolean isInLine(SourceElement activeStatement)
public int getLineNumber()
protected boolean isInScope(Node node)
AbstractConditionalBreakpoint
Node
is in the scope of this breakpoint.isInScope
in class AbstractConditionalBreakpoint
node
- the Node
to be checkedprotected boolean isInScopeForCondition(Node node)
AbstractConditionalBreakpoint
Node
is in the scope of this breakpoint.isInScopeForCondition
in class AbstractConditionalBreakpoint
node
- the Node
to be checkedpublic java.lang.String getClassPath()
public void setClassPath(java.lang.String classPath)
classPath
- the classPath to set