aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node/parenthesesnode.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2018-12-15 02:15:27 +0100
committerRenaud G <renaud@rolisteam.org>2018-12-15 02:18:16 +0100
commit2eaaedebc6750d5984190fd0f87caf771b248ae0 (patch)
tree3a45b8bf7406cade153e088cd04a495a4c29e53f /node/parenthesesnode.cpp
parent6204fbaab592179f0556eb673c61fa3d3313d2a7 (diff)
downloadOneRoll-2eaaedebc6750d5984190fd0f87caf771b248ae0.tar.gz
OneRoll-2eaaedebc6750d5984190fd0f87caf771b248ae0.zip
WIP
Diffstat (limited to 'node/parenthesesnode.cpp')
-rw-r--r--node/parenthesesnode.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/node/parenthesesnode.cpp b/node/parenthesesnode.cpp
index 5e2d0e0..9e6bcec 100644
--- a/node/parenthesesnode.cpp
+++ b/node/parenthesesnode.cpp
@@ -30,18 +30,28 @@ void ParenthesesNode::setInternelNode(ExecutionNode* node)
{
m_internalNode = node;
}
-void ParenthesesNode::run(ExecutionNode* /*previous*/)
+void ParenthesesNode::run(ExecutionNode* previous)
{
- //m_previousNode = previous;
+ m_previousNode = previous;
if(nullptr!=m_internalNode)
{
- m_internalNode->run(this);
- ExecutionNode* temp=m_internalNode;
+ m_internalNode->run(this);
+ ExecutionNode* temp=m_internalNode;
while(nullptr!=temp->getNextNode())
{
temp=temp->getNextNode();
}
m_result = temp->getResult();
+ //m_result->setPrevious(internalResult);
+ if(nullptr!=previous)
+ {
+ auto previousResult = previous->getResult();
+ if(nullptr!=m_internalNode->getResult())
+ {
+ m_internalNode->getResult()->setPrevious(previousResult);
+ }
+ }
+ //m_result = temp->getResult();
}
if(nullptr!=m_nextNode)