Skip to content

Commit 13574e6

Browse files
committed
onMarkerChanged firing with immutable array
1 parent 0b8142e commit 13574e6

6 files changed

Lines changed: 8 additions & 8 deletions

File tree

src/vs/editor/common/services/markerDecorationsServiceImpl.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export class MarkerDecorationsService extends Disposable implements IMarkerDecor
9595
return markerDecorations ? markerDecorations.getMarkers() : [];
9696
}
9797

98-
private _handleMarkerChange(changedResources: URI[]): void {
98+
private _handleMarkerChange(changedResources: readonly URI[]): void {
9999
changedResources.forEach((resource) => {
100100
const markerDecorations = this._markerDecorations.get(MODEL_ID(resource));
101101
if (markerDecorations) {

src/vs/platform/markers/common/markerService.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ export class MarkerService implements IMarkerService {
123123

124124
_serviceBrand: undefined;
125125

126-
private readonly _onMarkerChanged = new Emitter<URI[]>();
127-
private _onMarkerChangedEvent: Event<URI[]> = Event.debounce(this._onMarkerChanged.event, MarkerService._debouncer, 0);
126+
private readonly _onMarkerChanged = new Emitter<readonly URI[]>();
127+
private _onMarkerChangedEvent: Event<readonly URI[]> = Event.debounce(this._onMarkerChanged.event, MarkerService._debouncer, 0);
128128
private _byResource: MapMap<IMarker[]> = Object.create(null);
129129
private _byOwner: MapMap<IMarker[]> = Object.create(null);
130130
private _stats: MarkerStats;
@@ -137,7 +137,7 @@ export class MarkerService implements IMarkerService {
137137
this._stats.dispose();
138138
}
139139

140-
get onMarkerChanged(): Event<URI[]> {
140+
get onMarkerChanged(): Event<readonly URI[]> {
141141
return this._onMarkerChangedEvent;
142142
}
143143

src/vs/platform/markers/common/markers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export interface IMarkerService {
2222

2323
read(filter?: { owner?: string; resource?: URI; severities?: number, take?: number; }): IMarker[];
2424

25-
onMarkerChanged: Event<URI[]>;
25+
readonly onMarkerChanged: Event<readonly URI[]>;
2626
}
2727

2828
/**

src/vs/workbench/contrib/markers/browser/markers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export class MarkersWorkbenchService extends Disposable implements IMarkersWorkb
4141
this.markersModel = this._register(instantiationService.createInstance(MarkersModel, this.readMarkers()));
4242

4343
this.markersModel.setResourceMarkers(groupBy(this.readMarkers(), compareMarkersByUri).map(group => [group[0].resource, group]));
44-
this._register(Event.debounce<URI[], ResourceMap<URI>>(markerService.onMarkerChanged, (resourcesMap, resources) => {
44+
this._register(Event.debounce<readonly URI[], ResourceMap<URI>>(markerService.onMarkerChanged, (resourcesMap, resources) => {
4545
resourcesMap = resourcesMap ? resourcesMap : new ResourceMap<URI>();
4646
resources.forEach(resource => resourcesMap!.set(resource, resource));
4747
return resourcesMap;

src/vs/workbench/contrib/markers/browser/markersFileDecorations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
1919
class MarkersDecorationsProvider implements IDecorationsProvider {
2020

2121
readonly label: string = localize('label', "Problems");
22-
readonly onDidChange: Event<URI[]>;
22+
readonly onDidChange: Event<readonly URI[]>;
2323

2424
constructor(
2525
private readonly _markerService: IMarkerService

src/vs/workbench/services/decorations/browser/decorations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface IDecoration {
2828

2929
export interface IDecorationsProvider {
3030
readonly label: string;
31-
readonly onDidChange: Event<URI[]>;
31+
readonly onDidChange: Event<readonly URI[]>;
3232
provideDecorations(uri: URI, token: CancellationToken): IDecorationData | Promise<IDecorationData | undefined> | undefined;
3333
}
3434

0 commit comments

Comments
 (0)