Expect a colon if the property was a reserved word.

This commit is contained in:
Daniel Rosenwasser
2015-04-16 16:39:32 -07:00
parent b0846d1a6b
commit e36f47ab7e

View File

@@ -3859,13 +3859,14 @@ module ts {
function parseObjectBindingElement(): BindingElement {
let node = <BindingElement>createNode(SyntaxKind.BindingElement);
// TODO(andersh): Handle computed properties
let id = parsePropertyName();
if (id.kind === SyntaxKind.Identifier && token !== SyntaxKind.ColonToken) {
node.name = <Identifier>id;
let tokenIsIdentifier = isIdentifier();
let propertyName = parsePropertyName();
if (tokenIsIdentifier && token !== SyntaxKind.ColonToken) {
node.name = <Identifier>propertyName;
}
else {
parseExpected(SyntaxKind.ColonToken);
node.propertyName = <Identifier>id;
node.propertyName = <Identifier>propertyName;
node.name = parseIdentifierOrPattern();
}
node.initializer = parseInitializer(/*inParameter*/ false);