From 06aeab8f311b8917d1a13eaf7caa442ca3945be6 Mon Sep 17 00:00:00 2001 From: Andy Date: Wed, 6 Dec 2017 08:34:54 -0800 Subject: [PATCH] Minor cleanup for label completions (#20502) --- src/services/completions.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/services/completions.ts b/src/services/completions.ts index a340f8385e..8de32b9522 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -40,8 +40,9 @@ namespace ts.Completions { } const contextToken = findPrecedingToken(position, sourceFile); - if (isInBreakOrContinue(contextToken)) { - return getLabelCompletionAtPosition(contextToken); + if (contextToken && isBreakOrContinueStatement(contextToken.parent) + && (contextToken.kind === SyntaxKind.BreakKeyword || contextToken.kind === SyntaxKind.ContinueKeyword || contextToken.kind === SyntaxKind.Identifier)) { + return getLabelCompletionAtPosition(contextToken.parent); } const completionData = getCompletionData(typeChecker, log, sourceFile, position, allSourceFiles, options, compilerOptions.target); @@ -228,13 +229,8 @@ namespace ts.Completions { return uniques; } - function isInBreakOrContinue(contextToken: Node): boolean { - return contextToken && isBreakOrContinueStatement(contextToken.parent) && - (contextToken.kind === SyntaxKind.BreakKeyword || contextToken.kind === SyntaxKind.ContinueKeyword || contextToken.kind === SyntaxKind.Identifier); - } - - function getLabelCompletionAtPosition(contextToken: Node): CompletionInfo | undefined { - const entries = getLabelStatementCompletions(contextToken.parent); + function getLabelCompletionAtPosition(node: BreakOrContinueStatement): CompletionInfo | undefined { + const entries = getLabelStatementCompletions(node); if (entries.length) { return { isGlobalCompletion: false, isMemberCompletion: false, isNewIdentifierLocation: false, entries }; }