fix(codegen): lower the level of precedence in TaggedTemplateExpression (#2391)

This commit is contained in:
Wenzhe Wang 2024-02-11 22:56:32 +08:00 committed by GitHub
parent 747de8cfd4
commit 384d5acd7a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 6 deletions

View file

@ -1775,7 +1775,7 @@ impl<'a, const MINIFY: bool> Gen<MINIFY> for TemplateLiteral<'a> {
impl<'a, const MINIFY: bool> Gen<MINIFY> 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);
}
}

View file

@ -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]