sota.ast.nodes
Class ASTIterationNode

java.lang.Object
  extended by sota.ast.nodes.ASTNode
      extended by sota.ast.nodes.ASTStatementNode
          extended by sota.ast.nodes.ASTBranchNode
              extended by 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


Field Summary
protected  Condition cond
           
protected  ASTDoNode doNode
          Bei der Konstruktion zu setzende Informationen und Verknüpfungen *
protected  java.lang.String forInit
           
protected  java.lang.String forUpdate
           
protected  boolean hasDoNode
           
protected  boolean isForNode
           
protected  ASTStatementNode loopNode
           
protected  int nrConditions
           
protected  int nrMultipleLoops
           
protected  int nrSingleLoops
           
protected  int nrSkips
           
protected  java.util.HashSet<java.lang.String> setOfTruthVectors
          Von ASTBranchNode: * protected ASTNode entryNode protected ASTStatementNode endNode /
 
Fields inherited from class sota.ast.nodes.ASTBranchNode
endNode, entryNode, setOfBIPaths, setOfExitNodes, setOfFollowUpNodes
 
Fields inherited from class sota.ast.nodes.ASTStatementNode
endOfStatement, nrHits
 
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
 
Constructor Summary
ASTIterationNode(int ln, java.lang.String s)
           
ASTIterationNode(int ln, java.lang.String s, Condition c)
           
ASTIterationNode(int ln, java.lang.String s, java.lang.String _forInit, Condition _cond, java.lang.String _forUpdate)
           
 
Method Summary
 void completeNode()
           
 void computeConditionCoverage()
           
 void fillConditions(java.util.TreeSet<java.lang.String> list)
          fügt Conditions mit Booleanstring aus Logfile
 Condition getCondition()
           
 ASTDoNode getDoNode()
           
 java.lang.String getEvaluatedTVString(java.lang.String s)
           
 ASTStatementNode getLoopNode()
           
 Metrics getMetrics()
           
 java.lang.String getNodeString()
           
 int getNrConditions()
           
 long getNrCoveredModBIPaths()
           
 int getNrLoops()
           
 long getNrModBIPaths()
           
 int getNrMultipleLoops()
           
 int getNrSingleLoops()
           
 int getNrSkips()
           
 java.util.HashSet<java.lang.String> getTruthVectors()
           
 boolean hasDoNode()
           
 boolean hasNonTrivialCondition()
           
 void incNrMultipleLoops()
           
 void incNrMultipleLoops(int i)
           
 void incNrSingleLoops()
           
 void incNrSingleLoops(int i)
           
 void incNrSkips()
           
 void incNrSkips(int i)
           
 boolean isForNode()
           
 int numerateCondition(int i)
          numeriert die Konditionen, startend mit Parameterwert
 void printCFG()
           
 void printNode()
          Prints **
 void resetHits()
           
 void setDoNode(ASTDoNode dn)
           
 void setForNode()
           
 void setLoopNode(ASTStatementNode ln)
           
 
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.ASTStatementNode
decNrHits, getEndOfStatement, getNrHits, incNrHits, incNrHits, isSepareted, setEndOfStatement, setNrHits
 
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
 
Methods inherited from interface sota.ast.nodes.IConditionNode
getID, print
 
Methods inherited from interface sota.ast.nodes.IStatementNode
getID, print
 

Field Detail

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 /

Constructor Detail

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)
Method Detail

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)