From 9f0dfbc6a2db4ab65e49f4c2620fec2469268e5b Mon Sep 17 00:00:00 2001 From: John Alanbrook Date: Thu, 12 Feb 2026 18:33:43 -0600 Subject: [PATCH] fix ternary operator in object literals --- parse.cm | 4 ++-- parse.cm.mcode | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/parse.cm b/parse.cm index 037d0b0f..3e172fdc 100644 --- a/parse.cm +++ b/parse.cm @@ -692,10 +692,10 @@ var parse = function(tokens, src, filename, tokenizer) { if (tok.kind == "?") { start = tok advance() - then_expr = parse_expr() + then_expr = parse_assign_expr() if (tok.kind == ":") advance() else parse_error(tok, "expected ':' in ternary expression") - else_expr = parse_expr() + else_expr = parse_assign_expr() node = ast_node("then", start) node.expression = cond node.then = then_expr diff --git a/parse.cm.mcode b/parse.cm.mcode index 4d04e965..63a965a5 100644 --- a/parse.cm.mcode +++ b/parse.cm.mcode @@ -8995,7 +8995,7 @@ ["null", 26, 694, 7], ["setarg", 25, 0, 26, 694, 7], ["invoke", 25, 23, 694, 7], - ["get", 28, 11, 1, 695, 19], + ["get", 28, 7, 1, 695, 19], ["frame", 29, 28, 0, 695, 19], ["null", 30, 695, 19], ["setarg", 29, 0, 30, 695, 19], @@ -9061,7 +9061,7 @@ ["setarg", 45, 2, 42, 697, 12], ["invoke", 45, 43, 697, 12], "if_end_1341", - ["get", 48, 11, 1, 698, 19], + ["get", 48, 7, 1, 698, 19], ["frame", 49, 48, 0, 698, 19], ["null", 50, 698, 19], ["setarg", 49, 0, 50, 698, 19],