1
0
mirror of synced 2024-09-27 04:58:26 +02:00

patterns: Fix member access inside if body

This commit is contained in:
WerWolv 2021-09-26 02:22:50 +02:00
parent 62656f4c51
commit aab865fe25

View File

@ -1515,16 +1515,16 @@ namespace hex::pl {
} }
[[nodiscard]] std::vector<PatternData*> createPatterns(Evaluator *evaluator) const override { [[nodiscard]] std::vector<PatternData*> createPatterns(Evaluator *evaluator) const override {
std::vector<PatternData *> patterns; auto &scope = *evaluator->getScope(0).scope;
auto &body = evaluateCondition(evaluator) ? this->m_trueBody : this->m_falseBody; auto &body = evaluateCondition(evaluator) ? this->m_trueBody : this->m_falseBody;
for (auto &node : body) { for (auto &node : body) {
auto newPatterns = node->createPatterns(evaluator); 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() { [[nodiscard]] ASTNode* getCondition() {