Mark exthost/main arrays in events as readonly (#164187)

This better aligns the internal types of these event with the public apis
This commit is contained in:
Matt Bierner
2022-10-20 15:07:11 -07:00
committed by GitHub
parent 3a67c29665
commit 8cf88f7d8f
8 changed files with 21 additions and 21 deletions

View File

@@ -77,8 +77,8 @@ export class MainThreadCommentThread<T> implements languages.CommentThread<T> {
this._onDidChangeComments.fire(this._comments);
}
private readonly _onDidChangeComments = new Emitter<languages.Comment[] | undefined>();
get onDidChangeComments(): Event<languages.Comment[] | undefined> { return this._onDidChangeComments.event; }
private readonly _onDidChangeComments = new Emitter<readonly languages.Comment[] | undefined>();
get onDidChangeComments(): Event<readonly languages.Comment[] | undefined> { return this._onDidChangeComments.event; }
set range(range: T) {
this._range = range;

View File

@@ -127,8 +127,8 @@ class MainThreadSCMProvider implements ISCMProvider {
private readonly _onDidChangeCommitTemplate = new Emitter<string>();
readonly onDidChangeCommitTemplate: Event<string> = this._onDidChangeCommitTemplate.event;
private readonly _onDidChangeStatusBarCommands = new Emitter<Command[]>();
get onDidChangeStatusBarCommands(): Event<Command[]> { return this._onDidChangeStatusBarCommands.event; }
private readonly _onDidChangeStatusBarCommands = new Emitter<readonly Command[]>();
get onDidChangeStatusBarCommands(): Event<readonly Command[]> { return this._onDidChangeStatusBarCommands.event; }
private readonly _onDidChange = new Emitter<void>();
readonly onDidChange: Event<void> = this._onDidChange.event;

View File

@@ -21,7 +21,7 @@ import { ExtHostDocumentsAndEditors } from 'vs/workbench/api/common/extHostDocum
export class DiagnosticCollection implements vscode.DiagnosticCollection {
readonly #proxy: MainThreadDiagnosticsShape | undefined;
readonly #onDidChangeDiagnostics: Emitter<vscode.Uri[]>;
readonly #onDidChangeDiagnostics: Emitter<readonly vscode.Uri[]>;
readonly #data: ResourceMap<vscode.Diagnostic[]>;
private _isDisposed = false;
@@ -33,7 +33,7 @@ export class DiagnosticCollection implements vscode.DiagnosticCollection {
private readonly _modelVersionIdProvider: (uri: URI) => number | undefined,
extUri: IExtUri,
proxy: MainThreadDiagnosticsShape | undefined,
onDidChangeDiagnostics: Emitter<vscode.Uri[]>
onDidChangeDiagnostics: Emitter<readonly vscode.Uri[]>
) {
this.#data = new ResourceMap(uri => extUri.getComparisonKey(uri));
this.#proxy = proxy;
@@ -226,9 +226,9 @@ export class ExtHostDiagnostics implements ExtHostDiagnosticsShape {
private readonly _proxy: MainThreadDiagnosticsShape;
private readonly _collections = new Map<string, DiagnosticCollection>();
private readonly _onDidChangeDiagnostics = new DebounceEmitter<vscode.Uri[]>({ merge: all => all.flat(), delay: 50 });
private readonly _onDidChangeDiagnostics = new DebounceEmitter<readonly vscode.Uri[]>({ merge: all => all.flat(), delay: 50 });
static _mapper(last: vscode.Uri[]): { uris: readonly vscode.Uri[] } {
static _mapper(last: readonly vscode.Uri[]): { uris: readonly vscode.Uri[] } {
const map = new ResourceMap<vscode.Uri>();
for (const uri of last) {
map.set(uri, uri);

View File

@@ -48,14 +48,14 @@ export class ExtHostDocumentsAndEditors implements ExtHostDocumentsAndEditorsSha
private readonly _editors = new Map<string, ExtHostTextEditor>();
private readonly _documents = new ResourceMap<Reference<ExtHostDocumentData>>();
private readonly _onDidAddDocuments = new Emitter<ExtHostDocumentData[]>();
private readonly _onDidRemoveDocuments = new Emitter<ExtHostDocumentData[]>();
private readonly _onDidChangeVisibleTextEditors = new Emitter<vscode.TextEditor[]>();
private readonly _onDidAddDocuments = new Emitter<readonly ExtHostDocumentData[]>();
private readonly _onDidRemoveDocuments = new Emitter<readonly ExtHostDocumentData[]>();
private readonly _onDidChangeVisibleTextEditors = new Emitter<readonly vscode.TextEditor[]>();
private readonly _onDidChangeActiveTextEditor = new Emitter<vscode.TextEditor | undefined>();
readonly onDidAddDocuments: Event<ExtHostDocumentData[]> = this._onDidAddDocuments.event;
readonly onDidRemoveDocuments: Event<ExtHostDocumentData[]> = this._onDidRemoveDocuments.event;
readonly onDidChangeVisibleTextEditors: Event<vscode.TextEditor[]> = this._onDidChangeVisibleTextEditors.event;
readonly onDidAddDocuments: Event<readonly ExtHostDocumentData[]> = this._onDidAddDocuments.event;
readonly onDidRemoveDocuments: Event<readonly ExtHostDocumentData[]> = this._onDidRemoveDocuments.event;
readonly onDidChangeVisibleTextEditors: Event<readonly vscode.TextEditor[]> = this._onDidChangeVisibleTextEditors.event;
readonly onDidChangeActiveTextEditor: Event<vscode.TextEditor | undefined> = this._onDidChangeActiveTextEditor.event;
constructor(

View File

@@ -20,14 +20,14 @@ export class ExtHostEditors implements ExtHostEditorsShape {
private readonly _onDidChangeTextEditorVisibleRanges = new Emitter<vscode.TextEditorVisibleRangesChangeEvent>();
private readonly _onDidChangeTextEditorViewColumn = new Emitter<vscode.TextEditorViewColumnChangeEvent>();
private readonly _onDidChangeActiveTextEditor = new Emitter<vscode.TextEditor | undefined>();
private readonly _onDidChangeVisibleTextEditors = new Emitter<vscode.TextEditor[]>();
private readonly _onDidChangeVisibleTextEditors = new Emitter<readonly vscode.TextEditor[]>();
readonly onDidChangeTextEditorSelection: Event<vscode.TextEditorSelectionChangeEvent> = this._onDidChangeTextEditorSelection.event;
readonly onDidChangeTextEditorOptions: Event<vscode.TextEditorOptionsChangeEvent> = this._onDidChangeTextEditorOptions.event;
readonly onDidChangeTextEditorVisibleRanges: Event<vscode.TextEditorVisibleRangesChangeEvent> = this._onDidChangeTextEditorVisibleRanges.event;
readonly onDidChangeTextEditorViewColumn: Event<vscode.TextEditorViewColumnChangeEvent> = this._onDidChangeTextEditorViewColumn.event;
readonly onDidChangeActiveTextEditor: Event<vscode.TextEditor | undefined> = this._onDidChangeActiveTextEditor.event;
readonly onDidChangeVisibleTextEditors: Event<vscode.TextEditor[]> = this._onDidChangeVisibleTextEditors.event;
readonly onDidChangeVisibleTextEditors: Event<readonly vscode.TextEditor[]> = this._onDidChangeVisibleTextEditors.event;
private readonly _proxy: MainThreadTextEditorsShape;

View File

@@ -299,7 +299,7 @@ suite('ExtHostDiagnostics', () => {
});
test('diagnostic eventing', async function () {
const emitter = new Emitter<Array<URI>>();
const emitter = new Emitter<readonly URI[]>();
const collection = new DiagnosticCollection('ddd', 'test', 100, versionProvider, extUri, new DiagnosticsShape(), emitter);
const diag1 = new Diagnostic(new Range(1, 1, 2, 3), 'diag1');
@@ -337,7 +337,7 @@ suite('ExtHostDiagnostics', () => {
});
test('vscode.languages.onDidChangeDiagnostics Does Not Provide Document URI #49582', async function () {
const emitter = new Emitter<Array<URI>>();
const emitter = new Emitter<readonly URI[]>();
const collection = new DiagnosticCollection('ddd', 'test', 100, versionProvider, extUri, new DiagnosticsShape(), emitter);
const diag1 = new Diagnostic(new Range(1, 1, 2, 3), 'diag1');