patterns: Fixed function parameters being set in the wrong order

This commit is contained in:
WerWolv
2021-09-24 11:34:06 +02:00
parent c8114347dc
commit 93c1fbd65e
2 changed files with 7 additions and 6 deletions

View File

@@ -424,7 +424,7 @@ namespace hex::pl {
ASTNode* Parser::parseFunctionDefinition() {
const auto &functionName = getValue<Token::Identifier>(-2).get();
std::map<std::string, ASTNode*> params;
std::vector<std::pair<std::string, ASTNode*>> params;
// Parse parameter list
bool hasParams = !peek(SEPARATOR_ROUNDBRACKETCLOSE);
@@ -433,9 +433,9 @@ namespace hex::pl {
auto type = parseType(true);
if (MATCHES(sequence(IDENTIFIER)))
params.emplace(getValue<Token::Identifier>(-1).get(), type);
params.emplace_back(getValue<Token::Identifier>(-1).get(), type);
else {
params.emplace(std::to_string(unnamedParamCount), type);
params.emplace_back(std::to_string(unnamedParamCount), type);
unnamedParamCount++;
}