From c189b2bb05b05d26d74e202e0fff6574e151075b Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Thu, 16 Apr 2020 10:16:44 -0700 Subject: [PATCH] Remove use of memoize Fixes #95324 --- .../src/features/completions.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/extensions/typescript-language-features/src/features/completions.ts b/extensions/typescript-language-features/src/features/completions.ts index 4d7f2cf1626..e1ef02c998c 100644 --- a/extensions/typescript-language-features/src/features/completions.ts +++ b/extensions/typescript-language-features/src/features/completions.ts @@ -13,7 +13,6 @@ import { nulToken } from '../utils/cancellation'; import { applyCodeAction } from '../utils/codeAction'; import { Command, CommandManager } from '../utils/commandManager'; import { ConfigurationDependentRegistration } from '../utils/dependentRegistration'; -import { memoize } from '../utils/memoize'; import * as Previewer from '../utils/previewer'; import { snippetForFunctionCall } from '../utils/snippetForFunctionCall'; import { TelemetryReporter } from '../utils/telemetry'; @@ -68,7 +67,9 @@ class MyCompletionItem extends vscode.CompletionItem { this.preselect = tsEntry.isRecommended; this.position = position; this.useCodeSnippet = completionContext.useCodeSnippetsOnMethodSuggest && (this.kind === vscode.CompletionItemKind.Function || this.kind === vscode.CompletionItemKind.Method); + this.range = this.getRangeFromReplacementSpan(tsEntry, completionContext, position); + this.commitCharacters = MyCompletionItem.getCommitCharacters(completionContext, tsEntry); this.insertText = tsEntry.insertText; this.filterText = this.getFilterText(completionContext.line, tsEntry.insertText); @@ -268,14 +269,13 @@ class MyCompletionItem extends vscode.CompletionItem { } } - @memoize - public get commitCharacters(): string[] | undefined { - if (this.completionContext.isNewIdentifierLocation || !this.completionContext.isInValidCommitCharacterContext) { + private static getCommitCharacters(context: CompletionContext, entry: Proto.CompletionEntry): string[] | undefined { + if (context.isNewIdentifierLocation || !context.isInValidCommitCharacterContext) { return undefined; } const commitCharacters: string[] = []; - switch (this.tsEntry.kind) { + switch (entry.kind) { case PConst.Kind.memberGetAccessor: case PConst.Kind.memberSetAccessor: case PConst.Kind.constructSignature: @@ -299,7 +299,7 @@ class MyCompletionItem extends vscode.CompletionItem { case PConst.Kind.keyword: case PConst.Kind.parameter: commitCharacters.push('.', ',', ';'); - if (this.completionContext.enableCallCompletions) { + if (context.enableCallCompletions) { commitCharacters.push('('); } break;