mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-25 11:08:51 +01:00
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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user