From 606001e99593372d0a71c566a5efdefd48175305 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 5 Mar 2015 14:30:18 +0100 Subject: add generateTree add jumpbackward node --- node/scalaroperatornode.cpp | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'node/scalaroperatornode.cpp') diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp index 6cef1a9..67fc344 100644 --- a/node/scalaroperatornode.cpp +++ b/node/scalaroperatornode.cpp @@ -38,7 +38,10 @@ void ScalarOperatorNode::run(ExecutionNode* previous) Result* internalResult = internal->getResult(); m_result->setPrevious(internalResult); - m_internalNode->getResult()->setPrevious(previousResult); + if(NULL!=m_internalNode->getResult()) + { + m_internalNode->getResult()->setPrevious(previousResult); + } switch(m_myOperator) { @@ -112,3 +115,31 @@ qint64 ScalarOperatorNode::getPriority() const else return 2; } +void ScalarOperatorNode::generateDotTree(QString& s) +{ + s.append(toString()); + if(NULL!=m_nextNode) + { + s.append(" -> "); + s.append(m_nextNode->toString()); + s.append(" [label=\"nextNode\"];\n"); + m_nextNode->generateDotTree(s); + } + else + { + s.append(" -> "); + s.append("NULL"); + s.append(" [label=\"nextNode\"];\n"); + } + QString str; + str.append("\n"); + if(NULL!=m_internalNode) + { + str.append(toString()); + str.append(" -> "); + str.append(m_internalNode->toString()); + str.append(" [label=\"internalNode\"];\n"); + m_internalNode->generateDotTree(str); + } + s.append(str); +} -- cgit v1.2.3-70-g09d2