Revert "Require superclass expressions to be lvals"
This reverts commit 0b59fc198baf2cd970091ee96fe5dd0f90034692. Issue #187
This commit is contained in:
parent
e271168cf6
commit
045d8c02f5
1
acorn.js
1
acorn.js
@ -2413,7 +2413,6 @@
|
||||
next();
|
||||
node.id = tokType === _name ? parseIdent() : isStatement ? unexpected() : null;
|
||||
node.superClass = eat(_extends) ? parseExpression() : null;
|
||||
if (node.superClass) checkLVal(node.superClass);
|
||||
var classBody = startNode();
|
||||
classBody.body = [];
|
||||
expect(_braceL);
|
||||
|
||||
@ -6465,6 +6465,72 @@ test("var A = class extends B {}", {
|
||||
locations: true
|
||||
});
|
||||
|
||||
test("class A extends class B extends C {} {}", {
|
||||
type: "Program",
|
||||
body: [{
|
||||
type: "ClassDeclaration",
|
||||
id: {
|
||||
type: "Identifier",
|
||||
name: "A",
|
||||
loc: {
|
||||
start: {line: 1, column: 6},
|
||||
end: {line: 1, column: 7}
|
||||
}
|
||||
},
|
||||
superClass: {
|
||||
type: "ClassExpression",
|
||||
id: {
|
||||
type: "Identifier",
|
||||
name: "B",
|
||||
loc: {
|
||||
start: {line: 1, column: 22},
|
||||
end: {line: 1, column: 23}
|
||||
}
|
||||
},
|
||||
superClass: {
|
||||
type: "Identifier",
|
||||
name: "C",
|
||||
loc: {
|
||||
start: {line: 1, column: 32},
|
||||
end: {line: 1, column: 33}
|
||||
}
|
||||
},
|
||||
body: {
|
||||
type: "ClassBody",
|
||||
body: [],
|
||||
loc: {
|
||||
start: {line: 1, column: 34},
|
||||
end: {line: 1, column: 36}
|
||||
}
|
||||
},
|
||||
loc: {
|
||||
start: {line: 1, column: 16},
|
||||
end: {line: 1, column: 36}
|
||||
}
|
||||
},
|
||||
body: {
|
||||
type: "ClassBody",
|
||||
body: [],
|
||||
loc: {
|
||||
start: {line: 1, column: 37},
|
||||
end: {line: 1, column: 39}
|
||||
}
|
||||
},
|
||||
loc: {
|
||||
start: {line: 1, column: 0},
|
||||
end: {line: 1, column: 39}
|
||||
}
|
||||
}],
|
||||
loc: {
|
||||
start: {line: 1, column: 0},
|
||||
end: {line: 1, column: 39}
|
||||
}
|
||||
}, {
|
||||
ecmaVersion: 6,
|
||||
ranges: true,
|
||||
locations: true
|
||||
});
|
||||
|
||||
test("class A {get() {}}", {
|
||||
type: "Program",
|
||||
body: [{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user