Parse class static block (#12079)

Co-authored-by: Brian Ng <bng412@gmail.com>
This commit is contained in:
Huáng Jùnliàng
2020-10-06 12:42:53 -04:00
committed by Nicolò Ribaudo
parent 6830c90ac9
commit 3ccca88178
66 changed files with 1823 additions and 46 deletions

View File

@@ -134,3 +134,18 @@ export function _classMethodHead(node) {
this.tsPrintClassMemberModifiers(node, /* isField */ false);
this._methodHead(node);
}
export function StaticBlock(node) {
this.word("static");
this.space();
this.token("{");
if (node.body.length === 0) {
this.token("}");
} else {
this.newline();
this.printSequence(node.body, node, {
indent: true,
});
this.rightBrace();
}
}

View File

@@ -0,0 +1,16 @@
class Foo {
static {}
}
class A1 {
static{
foo;
}
}
class A2 {
static {
foo;
bar;
}
}

View File

@@ -0,0 +1,4 @@
{
"minified": true,
"plugins": ["classStaticBlock"]
}

View File

@@ -0,0 +1 @@
class Foo{static{}}class A1{static{foo}}class A2{static{foo;bar}}

View File

@@ -0,0 +1,15 @@
class Foo {
static {}
}
class A1 {
static{
foo;
}
}
class A2 {
static {
foo;bar;
}
}

View File

@@ -0,0 +1 @@
{ "plugins": ["classStaticBlock"] }

View File

@@ -0,0 +1,16 @@
class Foo {
static {}
}
class A1 {
static {
foo;
}
}
class A2 {
static {
foo;
bar;
}
}