From aab865fe252e6684fde5d35e25618fc3e92e66d2 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 26 Sep 2021 02:22:50 +0200 Subject: [PATCH] patterns: Fix member access inside if body --- .../libimhex/include/hex/pattern_language/ast_node.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/libimhex/include/hex/pattern_language/ast_node.hpp b/plugins/libimhex/include/hex/pattern_language/ast_node.hpp index 6ba35e7fb..dbe994d03 100644 --- a/plugins/libimhex/include/hex/pattern_language/ast_node.hpp +++ b/plugins/libimhex/include/hex/pattern_language/ast_node.hpp @@ -1515,16 +1515,16 @@ namespace hex::pl { } [[nodiscard]] std::vector createPatterns(Evaluator *evaluator) const override { - std::vector patterns; - + auto &scope = *evaluator->getScope(0).scope; auto &body = evaluateCondition(evaluator) ? this->m_trueBody : this->m_falseBody; for (auto &node : body) { auto newPatterns = node->createPatterns(evaluator); - patterns.insert(patterns.end(), newPatterns.begin(), newPatterns.end()); + for (auto &pattern : newPatterns) + scope.push_back(pattern->clone()); } - return patterns; + return { }; } [[nodiscard]] ASTNode* getCondition() {