提交 a3420f63 编写于 作者: M Matt Bierner

Marking almost all instances of TextFileModelChangeEvent[] as readonly arrays

These events should not be mutated by listeners
上级 7dd55cc6
......@@ -56,7 +56,7 @@ export class DirtyFilesTracker extends Disposable implements IWorkbenchContribut
}
}
protected onTextFilesDirty(e: TextFileModelChangeEvent[]): void {
protected onTextFilesDirty(e: readonly TextFileModelChangeEvent[]): void {
if (this.textFileService.getAutoSaveMode() !== AutoSaveMode.AFTER_SHORT_DELAY) {
this.updateActivityBadge(); // no indication needed when auto save is enabled for short delay
}
......@@ -84,17 +84,17 @@ export class DirtyFilesTracker extends Disposable implements IWorkbenchContribut
}));
}
protected onTextFilesSaved(e: TextFileModelChangeEvent[]): void {
protected onTextFilesSaved(e: readonly TextFileModelChangeEvent[]): void {
if (this.hasDirtyCount) {
this.updateActivityBadge();
}
}
protected onTextFilesSaveError(e: TextFileModelChangeEvent[]): void {
protected onTextFilesSaveError(e: readonly TextFileModelChangeEvent[]): void {
this.updateActivityBadge();
}
protected onTextFilesReverted(e: TextFileModelChangeEvent[]): void {
protected onTextFilesReverted(e: readonly TextFileModelChangeEvent[]): void {
if (this.hasDirtyCount) {
this.updateActivityBadge();
}
......
......@@ -38,7 +38,7 @@ export class NativeDirtyFilesTracker extends DirtyFilesTracker {
super.onUntitledDidChangeDirty(resource);
}
protected onTextFilesDirty(e: TextFileModelChangeEvent[]): void {
protected onTextFilesDirty(e: readonly TextFileModelChangeEvent[]): void {
if ((this.textFileService.getAutoSaveMode() !== AutoSaveMode.AFTER_SHORT_DELAY) && !this.isDocumentedEdited) {
this.updateDocumentEdited(); // no indication needed when auto save is enabled for short delay
}
......@@ -46,7 +46,7 @@ export class NativeDirtyFilesTracker extends DirtyFilesTracker {
super.onTextFilesDirty(e);
}
protected onTextFilesSaved(e: TextFileModelChangeEvent[]): void {
protected onTextFilesSaved(e: readonly TextFileModelChangeEvent[]): void {
if (this.isDocumentedEdited) {
this.updateDocumentEdited();
}
......@@ -54,7 +54,7 @@ export class NativeDirtyFilesTracker extends DirtyFilesTracker {
super.onTextFilesSaved(e);
}
protected onTextFilesSaveError(e: TextFileModelChangeEvent[]): void {
protected onTextFilesSaveError(e: readonly TextFileModelChangeEvent[]): void {
if (!this.isDocumentedEdited) {
this.updateDocumentEdited();
}
......@@ -62,7 +62,7 @@ export class NativeDirtyFilesTracker extends DirtyFilesTracker {
super.onTextFilesSaveError(e);
}
protected onTextFilesReverted(e: TextFileModelChangeEvent[]): void {
protected onTextFilesReverted(e: readonly TextFileModelChangeEvent[]): void {
if (this.isDocumentedEdited) {
this.updateDocumentEdited();
}
......
......@@ -38,8 +38,8 @@ export class TextFileEditorModelManager extends Disposable implements ITextFileE
private readonly _onModelOrphanedChanged: Emitter<TextFileModelChangeEvent> = this._register(new Emitter<TextFileModelChangeEvent>());
readonly onModelOrphanedChanged: Event<TextFileModelChangeEvent> = this._onModelOrphanedChanged.event;
private _onModelsDirty!: Event<TextFileModelChangeEvent[]>;
get onModelsDirty(): Event<TextFileModelChangeEvent[]> {
private _onModelsDirty!: Event<readonly TextFileModelChangeEvent[]>;
get onModelsDirty(): Event<readonly TextFileModelChangeEvent[]> {
if (!this._onModelsDirty) {
this._onModelsDirty = this.debounce(this.onModelDirty);
}
......@@ -47,8 +47,8 @@ export class TextFileEditorModelManager extends Disposable implements ITextFileE
return this._onModelsDirty;
}
private _onModelsSaveError!: Event<TextFileModelChangeEvent[]>;
get onModelsSaveError(): Event<TextFileModelChangeEvent[]> {
private _onModelsSaveError!: Event<readonly TextFileModelChangeEvent[]>;
get onModelsSaveError(): Event<readonly TextFileModelChangeEvent[]> {
if (!this._onModelsSaveError) {
this._onModelsSaveError = this.debounce(this.onModelSaveError);
}
......@@ -56,8 +56,8 @@ export class TextFileEditorModelManager extends Disposable implements ITextFileE
return this._onModelsSaveError;
}
private _onModelsSaved!: Event<TextFileModelChangeEvent[]>;
get onModelsSaved(): Event<TextFileModelChangeEvent[]> {
private _onModelsSaved!: Event<readonly TextFileModelChangeEvent[]>;
get onModelsSaved(): Event<readonly TextFileModelChangeEvent[]> {
if (!this._onModelsSaved) {
this._onModelsSaved = this.debounce(this.onModelSaved);
}
......@@ -65,8 +65,8 @@ export class TextFileEditorModelManager extends Disposable implements ITextFileE
return this._onModelsSaved;
}
private _onModelsReverted!: Event<TextFileModelChangeEvent[]>;
get onModelsReverted(): Event<TextFileModelChangeEvent[]> {
private _onModelsReverted!: Event<readonly TextFileModelChangeEvent[]>;
get onModelsReverted(): Event<readonly TextFileModelChangeEvent[]> {
if (!this._onModelsReverted) {
this._onModelsReverted = this.debounce(this.onModelReverted);
}
......@@ -95,7 +95,7 @@ export class TextFileEditorModelManager extends Disposable implements ITextFileE
this.lifecycleService.onShutdown(this.dispose, this);
}
private debounce(event: Event<TextFileModelChangeEvent>): Event<TextFileModelChangeEvent[]> {
private debounce(event: Event<TextFileModelChangeEvent>): Event<readonly TextFileModelChangeEvent[]> {
return Event.debounce(event, (prev: TextFileModelChangeEvent[], cur: TextFileModelChangeEvent) => {
if (!prev) {
prev = [cur];
......
......@@ -412,10 +412,10 @@ export interface ITextFileEditorModelManager {
readonly onModelReverted: Event<TextFileModelChangeEvent>;
readonly onModelOrphanedChanged: Event<TextFileModelChangeEvent>;
readonly onModelsDirty: Event<TextFileModelChangeEvent[]>;
readonly onModelsSaveError: Event<TextFileModelChangeEvent[]>;
readonly onModelsSaved: Event<TextFileModelChangeEvent[]>;
readonly onModelsReverted: Event<TextFileModelChangeEvent[]>;
readonly onModelsDirty: Event<readonly TextFileModelChangeEvent[]>;
readonly onModelsSaveError: Event<readonly TextFileModelChangeEvent[]>;
readonly onModelsSaved: Event<readonly TextFileModelChangeEvent[]>;
readonly onModelsReverted: Event<readonly TextFileModelChangeEvent[]>;
get(resource: URI): ITextFileEditorModel | undefined;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册