Don't evaluate left of '='

This commit is contained in:
2026-04-12 19:35:56 +10:00
parent 4351821d30
commit d24462f844

View File

@@ -1360,6 +1360,9 @@ ResultType(GroundProgram, charptr) generateCode(SolsNode* node, SolsScope* scope
} }
// Generate code for all children before generating this node's code // Generate code for all children before generating this node's code
for (size_t i = 0; i < node->children.count; i++) { for (size_t i = 0; i < node->children.count; i++) {
if (node->type == SNT_OP_SET && i == 0) {
continue; // Don't evaluate the left of set, just the right
}
ResultType(GroundProgram, charptr) generated = generateCode(&node->children.at[i], scope); ResultType(GroundProgram, charptr) generated = generateCode(&node->children.at[i], scope);
if (generated.error) { if (generated.error) {
return Error(GroundProgram, charptr, createCodegenError(&node->children.at[i], generated.as.error)); return Error(GroundProgram, charptr, createCodegenError(&node->children.at[i], generated.as.error));