From 1a66f54e89b6d400f0962617225ffac83d3e8717 Mon Sep 17 00:00:00 2001 From: Erik Edrosa Date: Tue, 21 Jun 2016 01:33:47 -0400 Subject: [PATCH] Add error message for rest parameter properties --- src/compiler/checker.ts | 3 +++ src/compiler/parser.ts | 1 + 2 files changed, 4 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ac8a47a9913..1e97e83c1fa 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -18206,6 +18206,9 @@ namespace ts { else if (node.kind === SyntaxKind.Parameter && (flags & NodeFlags.ParameterPropertyModifier) && isBindingPattern((node).name)) { return grammarErrorOnNode(node, Diagnostics.A_parameter_property_may_not_be_a_binding_pattern); } + else if (node.kind === SyntaxKind.Parameter && (flags & NodeFlags.ParameterPropertyModifier) && (node).dotDotDotToken) { + return grammarErrorOnNode(node, Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); + } if (flags & NodeFlags.Async) { return checkGrammarAsyncModifier(node, lastAsync); } diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index b2f3755ec46..38aa704fb21 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1178,6 +1178,7 @@ namespace ts { return token === SyntaxKind.OpenBracketToken || token === SyntaxKind.OpenBraceToken || token === SyntaxKind.AsteriskToken + || token === SyntaxKind.DotDotDotToken || isLiteralPropertyName(); }