diff options
Diffstat (limited to 'src/libparser/node/parenthesesnode.cpp')
| -rw-r--r-- | src/libparser/node/parenthesesnode.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libparser/node/parenthesesnode.cpp b/src/libparser/node/parenthesesnode.cpp index d122fe2..17db85a 100644 --- a/src/libparser/node/parenthesesnode.cpp +++ b/src/libparser/node/parenthesesnode.cpp @@ -39,6 +39,21 @@ void ParenthesesNode::run(ExecutionNode* previous) temp= temp->getNextNode(); } m_result= temp->getResult(); + + if(!m_nextNode) + return; + + auto pNext= m_nextNode->getPriority(); + + if(!m_previousNode) + return; + + auto previousNextNode= m_previousNode->getNextNode(); + if(pNext < getPriority() && previousNextNode != this) + { + m_previousNode->setNextNode(m_nextNode); + m_nextNode= nullptr; + } } QString ParenthesesNode::toString(bool b) const { |