diff --git a/crates/oxc_codegen/src/gen.rs b/crates/oxc_codegen/src/gen.rs index 3741f121a..6ce7830ae 100644 --- a/crates/oxc_codegen/src/gen.rs +++ b/crates/oxc_codegen/src/gen.rs @@ -1775,7 +1775,7 @@ impl<'a, const MINIFY: bool> Gen for TemplateLiteral<'a> { impl<'a, const MINIFY: bool> Gen for TaggedTemplateExpression<'a> { fn gen(&self, p: &mut Codegen<{ MINIFY }>, ctx: Context) { - self.tag.gen_expr(p, Precedence::Call, Context::default()); + self.tag.gen_expr(p, Precedence::Postfix, Context::default()); self.quasi.gen(p, ctx); } } diff --git a/crates/oxc_codegen/tests/mod.rs b/crates/oxc_codegen/tests/mod.rs index b2a68675c..b9e468918 100644 --- a/crates/oxc_codegen/tests/mod.rs +++ b/crates/oxc_codegen/tests/mod.rs @@ -84,7 +84,7 @@ fn template() { test("await tag`x`", "await tag`x`;\n"); test("await (tag`x`)", "await tag`x`;\n"); - // test("(await tag)`x`", "(await tag)`x`;\n"); + test("(await tag)`x`", "(await tag)`x`;\n"); test("await tag`${x}`", "await tag`${x}`;\n"); test("await (tag`${x}`)", "await tag`${x}`;\n"); @@ -92,13 +92,13 @@ fn template() { test("new tag`x`", "new tag`x`();\n"); test("new (tag`x`)", "new tag`x`();\n"); - // test("new tag()`x`", "new tag()`x`;\n"); - // test("(new tag)`x`", "new tag()`x`;\n"); + test("new tag()`x`", "new tag()`x`;\n"); + test("(new tag)`x`", "new tag()`x`;\n"); test("new tag`${x}`", "new tag`${x}`();\n"); test("new (tag`${x}`)", "new tag`${x}`();\n"); - // test("new tag()`${x}`", "new tag()`${x}`;\n"); - // test("(new tag)`${x}`", "new tag()`${x}`;\n"); + test("new tag()`${x}`", "new tag()`${x}`;\n"); + test("(new tag)`${x}`", "new tag()`${x}`;\n"); } #[test]