summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2024-09-23 16:56:41 +0200
committerGitHub <noreply@github.com>2024-09-23 16:56:41 +0200
commitfa22732f3463a443d5b42d933e245680fc8ed20f (patch)
treeb7dc93da7d07f97efa2479487061f3c6a9665ef1
parent6e88c62203fae7cc7d08d9f84058c515192aca0d (diff)
parent94d1211ce0b5ed962de990a4427b9dea0c25522f (diff)
Merge pull request #225 from jow-/compiler-fix-keyword-property-labels-after-spread
compiler: properly treat property names after spread expressions
-rw-r--r--compiler.c1
-rw-r--r--tests/custom/99_bugs/47_compiler_no_prop_kw_after_spread17
2 files changed, 18 insertions, 0 deletions
diff --git a/compiler.c b/compiler.c
index 1ea0c65..53e61e7 100644
--- a/compiler.c
+++ b/compiler.c
@@ -2060,6 +2060,7 @@ uc_compiler_compile_object(uc_compiler_t *compiler)
/* emit merge operation */
uc_compiler_emit_insn(compiler, 0, I_MOBJ);
+ compiler->parser->lex.no_keyword = true;
continue;
}
diff --git a/tests/custom/99_bugs/47_compiler_no_prop_kw_after_spread b/tests/custom/99_bugs/47_compiler_no_prop_kw_after_spread
new file mode 100644
index 0000000..26f1bff
--- /dev/null
+++ b/tests/custom/99_bugs/47_compiler_no_prop_kw_after_spread
@@ -0,0 +1,17 @@
+Ensure that unquoted property names following spread expressions in object
+declaration literals are not treated as keywords.
+
+-- Testcase --
+{%
+printf("%.J\n", {
+ ...{},
+ for: true
+});
+%}
+-- End --
+
+-- Expect stdout --
+{
+ "for": true
+}
+-- End --