Flow: Allow class properties to be named static (#184)

Related: #158
This commit is contained in:
Moti Zilberman
2016-10-17 22:55:50 +03:00
committed by Henry Zhu
parent d14c8bd894
commit e047a1b89a
3 changed files with 162 additions and 6 deletions

View File

@@ -360,7 +360,7 @@ pp.flowParseObjectType = function (allowStatic, allowExact) {
let optional = false;
let startPos = this.state.start, startLoc = this.state.startLoc;
node = this.startNode();
if (allowStatic && this.isContextual("static")) {
if (allowStatic && this.isContextual("static") && this.lookahead().type !== tt.colon) {
this.next();
isStatic = true;
}
@@ -376,11 +376,7 @@ pp.flowParseObjectType = function (allowStatic, allowExact) {
}
nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, allowStatic));
} else {
if (isStatic && this.match(tt.colon)) {
propertyKey = this.parseIdentifier();
} else {
propertyKey = this.flowParseObjectPropertyKey();
}
propertyKey = this.flowParseObjectPropertyKey();
if (this.isRelational("<") || this.match(tt.parenL)) {
// This is a method property
if (variance) {