From c23b6a66e22170dfcfd0351fc788e0a2bdad3ecd Mon Sep 17 00:00:00 2001 From: Yui T Date: Thu, 11 Dec 2014 12:55:27 -0800 Subject: [PATCH] Address code review: move checkGrammarAnySignature into checkSignatureDeclaration --- src/compiler/checker.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c293bebd745..0e47a56501b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6405,7 +6405,7 @@ module ts { // Grammar checking if (node.kind === SyntaxKind.ArrowFunction) { - checkGrammarFunctionLikeDeclaration(node); + checkGrammarAnySignatureDeclaration(node); } // The identityMapper object is used to indicate that function expressions are wildcards @@ -7058,6 +7058,16 @@ module ts { } function checkSignatureDeclaration(node: SignatureDeclaration) { + // Grammar checking + if (node.kind === SyntaxKind.IndexSignature) { + checkGrammarIndexSignature(node); + } + // TODO (yuisu): Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled + else if (node.kind === SyntaxKind.FunctionType || node.kind === SyntaxKind.ConstructorType || + node.kind === SyntaxKind.CallSignature || node.kind === SyntaxKind.ConstructSignature){ + checkGrammarAnySignatureDeclaration(node); + } + checkTypeParameters(node.typeParameters); forEach(node.parameters, checkParameter); if (node.type) { @@ -8765,12 +8775,8 @@ module ts { case SyntaxKind.ConstructorType: case SyntaxKind.CallSignature: case SyntaxKind.ConstructSignature: - // Grammar checking - checkGrammarFunctionLikeDeclaration(node) return checkSignatureDeclaration(node); case SyntaxKind.IndexSignature: - // Grammar checking - checkGrammarIndexSignature(node); return checkSignatureDeclaration(node); case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: @@ -9829,7 +9835,7 @@ module ts { } } - function checkGrammarFunctionLikeDeclaration(node: FunctionLikeDeclaration) { + function checkGrammarAnySignatureDeclaration(node: FunctionLikeDeclaration) { var hasGrammarErrorFromCheckModifierOrTypeParameterList = checkGrammarModifiers(node) ? true : checkGrammarTypeParameterList(node, node.typeParameters); if (!hasGrammarErrorFromCheckModifierOrTypeParameterList) { checkGrammarParameterList(node.parameters);