sota.ast.nodes
Class ASTIterationNode
java.lang.Object
sota.ast.nodes.ASTNode
sota.ast.nodes.ASTStatementNode
sota.ast.nodes.ASTBranchNode
sota.ast.nodes.ASTIterationNode
- All Implemented Interfaces:
- java.lang.Comparable<ASTNode>, IConditionNode, IStatementNode
- Direct Known Subclasses:
- JavaASTIterationNode
public abstract class ASTIterationNode
- extends ASTBranchNode
- implements IConditionNode
AST-Knoten für iterierende Statements/Blöcke
.. * ..
ASTNode entryNode * ASTNode entryNode
(ASTLabelNode) * (ASTLabelNode)
ASTIterationNode this * ASTDoNode doNode
ASTStatementNode loopNode * ASTStatementNode loopNode
> .. * > ..
ASTStatementNode endNode * ASTIterationNode this
.. * ASTStatementNode endNode
Fields inherited from class sota.ast.nodes.ASTNode |
ascContent, BRANCH, CASE, CATCH, CONDITION, content, controlingBranchNode, DO, functionNode, id, IF, isDirectReachable, isReachable, isVirtual, ITERATION, JUMP, lineNr, next, NODE, prev, SCOPE, STATEMENT, SWITCH, TRY |
Methods inherited from class sota.ast.nodes.ASTBranchNode |
addExitNode, addFollowUpNode, getEndNode, getEntryNode, getExitString, getSetOfExitNodes, getSetOfFollowUpNodes, isWithinBranchConstruct, printExits, setEndNode, setEntryNode |
Methods inherited from class sota.ast.nodes.ASTNode |
appendToASCContent, compareTo, createASCContent, getASCContent, getContent, getControlingBranchNode, getFunctionNode, getID, getLineNr, getNextNode, getPrevNode, getReachString, getType, isDirectReachable, isDirectReachable, isReachable, isReachable, isVirtual, isVirtual, print, printReach, setASCContent, setContent, setControlingBranchNode, setFunctionNode, setID, setNextNode, setPrevNode, typeToString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
cond
protected Condition cond
doNode
protected ASTDoNode doNode
- Bei der Konstruktion zu setzende Informationen und Verknüpfungen *
forInit
protected java.lang.String forInit
forUpdate
protected java.lang.String forUpdate
hasDoNode
protected boolean hasDoNode
isForNode
protected boolean isForNode
loopNode
protected ASTStatementNode loopNode
nrConditions
protected int nrConditions
nrMultipleLoops
protected int nrMultipleLoops
nrSingleLoops
protected int nrSingleLoops
nrSkips
protected int nrSkips
setOfTruthVectors
protected java.util.HashSet<java.lang.String> setOfTruthVectors
- Von ASTBranchNode: *
protected ASTNode entryNode
protected ASTStatementNode endNode
/
ASTIterationNode
public ASTIterationNode(int ln,
java.lang.String s)
ASTIterationNode
public ASTIterationNode(int ln,
java.lang.String s,
Condition c)
ASTIterationNode
public ASTIterationNode(int ln,
java.lang.String s,
java.lang.String _forInit,
Condition _cond,
java.lang.String _forUpdate)
completeNode
public void completeNode()
- Specified by:
completeNode
in class ASTBranchNode
computeConditionCoverage
public void computeConditionCoverage()
- Specified by:
computeConditionCoverage
in interface IConditionNode
fillConditions
public void fillConditions(java.util.TreeSet<java.lang.String> list)
- fügt Conditions mit Booleanstring aus Logfile
- Specified by:
fillConditions
in interface IConditionNode
getCondition
public Condition getCondition()
- Specified by:
getCondition
in interface IConditionNode
getDoNode
public ASTDoNode getDoNode()
getEvaluatedTVString
public java.lang.String getEvaluatedTVString(java.lang.String s)
- Specified by:
getEvaluatedTVString
in interface IConditionNode
getLoopNode
public ASTStatementNode getLoopNode()
getMetrics
public Metrics getMetrics()
- Specified by:
getMetrics
in interface IConditionNode
getNodeString
public java.lang.String getNodeString()
- Overrides:
getNodeString
in class ASTStatementNode
getNrConditions
public int getNrConditions()
getNrCoveredModBIPaths
public long getNrCoveredModBIPaths()
getNrLoops
public int getNrLoops()
getNrModBIPaths
public long getNrModBIPaths()
getNrMultipleLoops
public int getNrMultipleLoops()
getNrSingleLoops
public int getNrSingleLoops()
getNrSkips
public int getNrSkips()
getTruthVectors
public java.util.HashSet<java.lang.String> getTruthVectors()
- Specified by:
getTruthVectors
in interface IConditionNode
hasDoNode
public boolean hasDoNode()
hasNonTrivialCondition
public boolean hasNonTrivialCondition()
- Specified by:
hasNonTrivialCondition
in interface IConditionNode
incNrMultipleLoops
public void incNrMultipleLoops()
incNrMultipleLoops
public void incNrMultipleLoops(int i)
incNrSingleLoops
public void incNrSingleLoops()
incNrSingleLoops
public void incNrSingleLoops(int i)
incNrSkips
public void incNrSkips()
incNrSkips
public void incNrSkips(int i)
isForNode
public boolean isForNode()
numerateCondition
public int numerateCondition(int i)
- numeriert die Konditionen, startend mit Parameterwert
- Specified by:
numerateCondition
in interface IConditionNode
printCFG
public void printCFG()
- Overrides:
printCFG
in class ASTStatementNode
printNode
public void printNode()
- Prints **
- Overrides:
printNode
in class ASTStatementNode
resetHits
public void resetHits()
- Specified by:
resetHits
in interface IConditionNode
- Specified by:
resetHits
in interface IStatementNode
- Overrides:
resetHits
in class ASTStatementNode
setDoNode
public void setDoNode(ASTDoNode dn)
setForNode
public void setForNode()
setLoopNode
public void setLoopNode(ASTStatementNode ln)