Fix a load of stuff

This commit is contained in:
2026-03-07 16:26:54 +11:00
parent 445ba032f5
commit 631b587d07

View File

@@ -1076,7 +1076,10 @@ static inline ResultType(Nothing, charptr) parseWhile(SolsParser* parser) {
// Last child of parent is code block, we need to move it // Last child of parent is code block, we need to move it
SolsNode codeBlock = parser->currentParent->children.at[parser->currentParent->children.count - 1]; SolsNode codeBlock = parser->currentParent->children.at[parser->currentParent->children.count - 1];
parser->currentParent->children.count--; parser->currentParent->children.count--;
addChildToSolsNode(&node.as.success, codeBlock);
// We need to get the actual node from the parent to modify it
SolsNode* whileNode = &parser->currentParent->children.at[parser->currentParent->children.count - 1];
addChildToSolsNode(whileNode, codeBlock);
return Success(Nothing, charptr, {}); return Success(Nothing, charptr, {});
@@ -1138,7 +1141,10 @@ static inline ResultType(Nothing, charptr) parseIf(SolsParser* parser) {
// Last child of parent is code block, we need to move it // Last child of parent is code block, we need to move it
SolsNode codeBlock = parser->currentParent->children.at[parser->currentParent->children.count - 1]; SolsNode codeBlock = parser->currentParent->children.at[parser->currentParent->children.count - 1];
parser->currentParent->children.count--; parser->currentParent->children.count--;
addChildToSolsNode(&node.as.success, codeBlock);
// We need to get the actual node from the parent to modify it
SolsNode* ifNode = &parser->currentParent->children.at[parser->currentParent->children.count - 1];
addChildToSolsNode(ifNode, codeBlock);
return Success(Nothing, charptr, {}); return Success(Nothing, charptr, {});
@@ -1414,7 +1420,9 @@ static inline ResultType(Nothing, charptr) parseDef(SolsParser* parser) {
SolsNode codeBlock = parser->currentParent->children.at[parser->currentParent->children.count - 1]; SolsNode codeBlock = parser->currentParent->children.at[parser->currentParent->children.count - 1];
parser->currentParent->children.count--; parser->currentParent->children.count--;
addChildToSolsNode(&parser->currentParent->children.at[0], parser->currentParent->children.at[1]); // We need to get the actual node from the parent to modify it
SolsNode* defNode = &parser->currentParent->children.at[parser->currentParent->children.count - 1];
addChildToSolsNode(defNode, codeBlock);
return Success(Nothing, charptr, {}); return Success(Nothing, charptr, {});
} }