From f7fe25dcfc77582f7dc061e8467a4afa2022661a Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 23 Aug 2019 08:46:25 +0200 Subject: [PATCH] use ReadonlyArray for tags, #50972 --- src/vs/base/common/map.ts | 8 -------- src/vs/editor/common/modes.ts | 4 ++-- src/vs/editor/contrib/suggest/suggestWidget.ts | 2 +- src/vs/monaco.d.ts | 4 ++-- .../workbench/api/browser/mainThreadLanguageFeatures.ts | 3 +-- 5 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/vs/base/common/map.ts b/src/vs/base/common/map.ts index eee70e82684..277ab50bb88 100644 --- a/src/vs/base/common/map.ts +++ b/src/vs/base/common/map.ts @@ -8,14 +8,6 @@ import { CharCode } from 'vs/base/common/charCode'; import { Iterator, IteratorResult, FIN } from './iterator'; -export function fromArray(array: readonly T[]): Set { - const result = new Set(); - for (const element of array) { - result.add(element); - } - return result; -} - export function values(set: Set): V[]; export function values(map: Map): V[]; export function values(forEachable: { forEach(callback: (value: V, ...more: any[]) => any): void }): V[] { diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts index 9bf53989111..b5428b88403 100644 --- a/src/vs/editor/common/modes.ts +++ b/src/vs/editor/common/modes.ts @@ -404,7 +404,7 @@ export interface CompletionItem { * A modifier to the `kind` which affect how the item * is rendered, e.g. Deprecated is rendered with a strikeout */ - kindTags?: Set; + kindTags?: ReadonlyArray; /** * A human-readable string with additional information * about this item, like type or symbol information. @@ -913,7 +913,7 @@ export interface DocumentSymbol { name: string; detail: string; kind: SymbolKind; - kindTags: SymbolKindTag[]; + kindTags: ReadonlyArray; containerName?: string; range: IRange; selectionRange: IRange; diff --git a/src/vs/editor/contrib/suggest/suggestWidget.ts b/src/vs/editor/contrib/suggest/suggestWidget.ts index cb0260ecc60..8a0c10b205c 100644 --- a/src/vs/editor/contrib/suggest/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/suggestWidget.ts @@ -193,7 +193,7 @@ class Renderer implements IListRenderer ]; } - if (suggestion.kindTags && suggestion.kindTags.has(CompletionItemKindTag.Deprecated)) { + if (suggestion.kindTags && suggestion.kindTags.indexOf(CompletionItemKindTag.Deprecated) >= 0) { labelOptions.extraClasses = (labelOptions.extraClasses || []).concat(['deprecated']); labelOptions.matches = []; } diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 79c36b8b67e..b55c54c2aa4 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -4822,7 +4822,7 @@ declare namespace monaco.languages { * A modifier to the `kind` which affect how the item * is rendered, e.g. Deprecated is rendered with a strikeout */ - kindTags?: Set; + kindTags?: ReadonlyArray; /** * A human-readable string with additional information * about this item, like type or symbol information. @@ -5240,7 +5240,7 @@ declare namespace monaco.languages { name: string; detail: string; kind: SymbolKind; - kindTags: SymbolKindTag[]; + kindTags: ReadonlyArray; containerName?: string; range: IRange; selectionRange: IRange; diff --git a/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts index cbc61e52916..d9c397890d0 100644 --- a/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts +++ b/src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts @@ -21,7 +21,6 @@ import { Selection } from 'vs/editor/common/core/selection'; import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions'; import * as callh from 'vs/workbench/contrib/callHierarchy/common/callHierarchy'; import { mixin } from 'vs/base/common/objects'; -import { fromArray } from 'vs/base/common/map'; @extHostNamedCustomer(MainContext.MainThreadLanguageFeatures) export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesShape { @@ -331,7 +330,7 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha return { label: data.a, kind: data.b, - kindTags: data.n && fromArray(data.n), + kindTags: data.n, detail: data.c, documentation: data.d, sortText: data.e, -- GitLab