mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2025-12-25 16:28:45 +00:00
bug fixes
This commit is contained in:
parent
777fd830b0
commit
bb8b32a7c8
5 changed files with 136 additions and 109 deletions
|
|
@ -1009,7 +1009,8 @@ void BuildVisitor::Visit(FunctionCallExpression* node) {
|
|||
Visit(node->parameters.back().get());
|
||||
} else {
|
||||
if (!current_node_.PreviousSibling().IsNull() && current_node_.PreviousSibling().GetValue() == "::") { // annotation
|
||||
node->arguments.push_back({current_node_.GetValue(), SubExpression()});
|
||||
node->arguments.emplace_back();
|
||||
node->arguments.back().first = current_node_.GetValue();
|
||||
last_child_is_annotation = true;
|
||||
} else if (last_child_is_annotation) { // argument after annotation
|
||||
node->arguments.back().second = std::make_unique<SubExpressionToken>();
|
||||
|
|
@ -1018,7 +1019,6 @@ void BuildVisitor::Visit(FunctionCallExpression* node) {
|
|||
} else { // argument without annotation
|
||||
node->arguments.push_back({std::nullopt, std::make_unique<SubExpressionToken>()});
|
||||
Visit(*std::get<std::unique_ptr<SubExpressionToken>>(node->arguments.back().second));
|
||||
last_child_is_annotation = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue