aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libparser/node/scalaroperatornode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libparser/node/scalaroperatornode.cpp')
-rw-r--r--src/libparser/node/scalaroperatornode.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/libparser/node/scalaroperatornode.cpp b/src/libparser/node/scalaroperatornode.cpp
index 40f725d..5a5e60b 100644
--- a/src/libparser/node/scalaroperatornode.cpp
+++ b/src/libparser/node/scalaroperatornode.cpp
@@ -21,7 +21,7 @@
***************************************************************************/
#include "scalaroperatornode.h"
-#include "result/diceresult.h"
+#include "include/diceparser/parsingtoolbox.h"
#include <QDebug>
ScalarOperatorNode::ScalarOperatorNode()
@@ -252,7 +252,7 @@ QMap<Dice::ERROR_CODE, QString> ScalarOperatorNode::getExecutionErrorMap()
if(nullptr != m_internalNode)
{
auto keys= m_internalNode->getExecutionErrorMap().keys();
- for(const auto& key : keys)
+ for(const auto& key : std::as_const(keys))
{
m_errors.insert(key, m_internalNode->getExecutionErrorMap().value(key));
}
@@ -260,7 +260,7 @@ QMap<Dice::ERROR_CODE, QString> ScalarOperatorNode::getExecutionErrorMap()
if(nullptr != m_nextNode)
{
auto keys= m_nextNode->getExecutionErrorMap().keys();
- for(auto const& key : keys)
+ for(auto const& key : std::as_const(keys))
{
m_errors.insert(key, m_nextNode->getExecutionErrorMap().value(key));
}
@@ -278,3 +278,15 @@ ExecutionNode* ScalarOperatorNode::getCopy() const
}
return node;
}
+
+void ScalarOperatorNode::setNextNode(ExecutionNode* node)
+{
+ if(node && node->getPriority() > getPriority())
+ {
+ auto temp= m_internalNode;
+ temp= ParsingToolBox::getLeafNode(temp);
+ temp->setNextNode(node);
+ }
+ else
+ ExecutionNode::setNextNode(node);
+}