Skip to content

Commit cfd345c

Browse files
authored
Fix properties being overridden by accessors (microsoft#99478)
Fixes microsoft#99304 TS 4.0 will now warn if you try overriding a property using an accessor
1 parent 049b0b8 commit cfd345c

11 files changed

Lines changed: 49 additions & 22 deletions

File tree

src/vs/base/browser/ui/list/listView.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,14 @@ const DefaultOptions = {
8686
export class ElementsDragAndDropData<T, TContext = void> implements IDragAndDropData {
8787

8888
readonly elements: T[];
89-
context: TContext | undefined;
89+
90+
private _context: TContext | undefined;
91+
public get context(): TContext | undefined {
92+
return this._context;
93+
}
94+
public set context(value: TContext | undefined) {
95+
this._context = value;
96+
}
9097

9198
constructor(elements: T[]) {
9299
this.elements = elements;

src/vs/workbench/browser/parts/editor/baseEditor.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ export abstract class BaseEditor extends Composite implements IEditorPane {
3838

3939
private static readonly EDITOR_MEMENTOS = new Map<string, EditorMemento<any>>();
4040

41-
readonly minimumWidth = DEFAULT_EDITOR_MIN_DIMENSIONS.width;
42-
readonly maximumWidth = DEFAULT_EDITOR_MAX_DIMENSIONS.width;
43-
readonly minimumHeight = DEFAULT_EDITOR_MIN_DIMENSIONS.height;
44-
readonly maximumHeight = DEFAULT_EDITOR_MAX_DIMENSIONS.height;
41+
get minimumWidth() { return DEFAULT_EDITOR_MIN_DIMENSIONS.width; }
42+
get maximumWidth() { return DEFAULT_EDITOR_MAX_DIMENSIONS.width; }
43+
get minimumHeight() { return DEFAULT_EDITOR_MIN_DIMENSIONS.height; }
44+
get maximumHeight() { return DEFAULT_EDITOR_MAX_DIMENSIONS.height; }
4545

4646
readonly onDidSizeConstraintsChange = Event.None;
4747

src/vs/workbench/browser/parts/editor/textEditor.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,26 @@ export abstract class BaseTextEditor extends BaseEditor implements ITextEditorPa
4444
private lastAppliedEditorOptions?: IEditorOptions;
4545
private editorMemento: IEditorMemento<IEditorViewState>;
4646

47+
private _instantiationService: IInstantiationService;
48+
protected get instantiationService(): IInstantiationService {
49+
return this._instantiationService;
50+
}
51+
protected set instantiationService(value: IInstantiationService) {
52+
this._instantiationService = value;
53+
}
54+
4755
constructor(
4856
id: string,
4957
@ITelemetryService telemetryService: ITelemetryService,
50-
@IInstantiationService protected readonly instantiationService: IInstantiationService,
58+
@IInstantiationService instantiationService: IInstantiationService,
5159
@IStorageService storageService: IStorageService,
5260
@ITextResourceConfigurationService protected readonly textResourceConfigurationService: ITextResourceConfigurationService,
5361
@IThemeService protected themeService: IThemeService,
5462
@IEditorService protected editorService: IEditorService,
5563
@IEditorGroupsService protected editorGroupService: IEditorGroupsService
5664
) {
5765
super(id, telemetryService, themeService, storageService);
66+
this._instantiationService = instantiationService;
5867

5968
this.editorMemento = this.getEditorMemento<IEditorViewState>(editorGroupService, BaseTextEditor.TEXT_EDITOR_VIEW_STATE_PREFERENCE_KEY, 100);
6069

src/vs/workbench/browser/parts/views/viewPaneContainer.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,11 @@ export abstract class ViewPane extends Pane implements IView {
178178

179179
private _isVisible: boolean = false;
180180
readonly id: string;
181-
title: string;
181+
182+
private _title: string;
183+
public get title(): string {
184+
return this._title;
185+
}
182186

183187
private readonly menuActions: ViewMenuActions;
184188
private progressBar!: ProgressBar;
@@ -211,7 +215,7 @@ export abstract class ViewPane extends Pane implements IView {
211215
super({ ...options, ...{ orientation: viewDescriptorService.getViewLocationById(options.id) === ViewContainerLocation.Panel ? Orientation.HORIZONTAL : Orientation.VERTICAL } });
212216

213217
this.id = options.id;
214-
this.title = options.title;
218+
this._title = options.title;
215219
this.showActionsAlways = !!options.showActionsAlways;
216220
this.focusedViewContextKey = FocusedViewContext.bindTo(contextKeyService);
217221

@@ -370,7 +374,7 @@ export abstract class ViewPane extends Pane implements IView {
370374
this.iconContainer.setAttribute('aria-label', calculatedTitle);
371375
}
372376

373-
this.title = title;
377+
this._title = title;
374378
this._onDidChangeTitleArea.fire();
375379
}
376380

src/vs/workbench/contrib/extensions/test/electron-browser/extensionsActions.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ async function setupTest() {
9999
instantiationService.stub(IRemoteAgentService, RemoteAgentService);
100100

101101
instantiationService.stub(IExtensionManagementServerService, new class extends ExtensionManagementServerService {
102-
private _localExtensionManagementServer: IExtensionManagementServer = { extensionManagementService: instantiationService.get(IExtensionManagementService), label: 'local', authority: 'vscode-local' };
102+
#localExtensionManagementServer: IExtensionManagementServer = { extensionManagementService: instantiationService.get(IExtensionManagementService), label: 'local', authority: 'vscode-local' };
103103
constructor() {
104104
super(instantiationService.get(ISharedProcessService), instantiationService.get(IRemoteAgentService), instantiationService.get(IExtensionGalleryService), instantiationService.get(IConfigurationService), instantiationService.get(IProductService), instantiationService.get(ILogService), instantiationService.get(ILabelService));
105105
}
106-
get localExtensionManagementServer(): IExtensionManagementServer { return this._localExtensionManagementServer; }
106+
get localExtensionManagementServer(): IExtensionManagementServer { return this.#localExtensionManagementServer; }
107107
set localExtensionManagementServer(server: IExtensionManagementServer) { }
108108
}());
109109

src/vs/workbench/contrib/extensions/test/electron-browser/extensionsViews.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ suite('ExtensionsListView Tests', () => {
9999
instantiationService.stub(IMenuService, new TestMenuService());
100100

101101
instantiationService.stub(IExtensionManagementServerService, new class extends ExtensionManagementServerService {
102-
private _localExtensionManagementServer: IExtensionManagementServer = { extensionManagementService: instantiationService.get(IExtensionManagementService), label: 'local', authority: 'vscode-local' };
102+
#localExtensionManagementServer: IExtensionManagementServer = { extensionManagementService: instantiationService.get(IExtensionManagementService), label: 'local', authority: 'vscode-local' };
103103
constructor() {
104104
super(instantiationService.get(ISharedProcessService), instantiationService.get(IRemoteAgentService), instantiationService.get(IExtensionGalleryService), instantiationService.get(IConfigurationService), instantiationService.get(IProductService), instantiationService.get(ILogService), instantiationService.get(ILabelService));
105105
}
106-
get localExtensionManagementServer(): IExtensionManagementServer { return this._localExtensionManagementServer; }
106+
get localExtensionManagementServer(): IExtensionManagementServer { return this.#localExtensionManagementServer; }
107107
set localExtensionManagementServer(server: IExtensionManagementServer) { }
108108
}());
109109

src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export class PreferencesEditor extends BaseEditor {
8080
set minimumWidth(value: number) { /*noop*/ }
8181
set maximumWidth(value: number) { /*noop*/ }
8282

83-
readonly minimumHeight = 260;
83+
get minimumHeight() { return 260; }
8484

8585
private _onDidCreateWidget = this._register(new Emitter<{ width: number; height: number; } | undefined>());
8686
readonly onDidSizeConstraintsChange: Event<{ width: number; height: number; } | undefined> = this._onDidCreateWidget.event;

src/vs/workbench/contrib/remote/browser/explorerViewItems.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import * as nls from 'vs/nls';
77
import * as dom from 'vs/base/browser/dom';
88

9-
import { IActionRunner, IAction, Action } from 'vs/base/common/actions';
9+
import { IAction, Action } from 'vs/base/common/actions';
1010
import { SelectActionViewItem } from 'vs/base/browser/ui/actionbar/actionbar';
1111
import { IThemeService } from 'vs/platform/theme/common/themeService';
1212
import { attachSelectBoxStyler, attachStylerCallback } from 'vs/platform/theme/common/styler';
@@ -27,8 +27,6 @@ export interface IRemoteSelectItem extends ISelectOptionItem {
2727

2828
export class SwitchRemoteViewItem extends SelectActionViewItem {
2929

30-
actionRunner!: IActionRunner;
31-
3230
constructor(
3331
action: IAction,
3432
private readonly optionsItems: IRemoteSelectItem[],

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export class SearchEditor extends BaseTextEditor {
9090
@IModelService private readonly modelService: IModelService,
9191
@IWorkspaceContextService private readonly contextService: IWorkspaceContextService,
9292
@ILabelService private readonly labelService: ILabelService,
93-
@IInstantiationService readonly instantiationService: IInstantiationService,
93+
@IInstantiationService instantiationService: IInstantiationService,
9494
@IContextViewService private readonly contextViewService: IContextViewService,
9595
@ICommandService private readonly commandService: ICommandService,
9696
@IContextKeyService readonly contextKeyService: IContextKeyService,

src/vs/workbench/services/extensionManagement/electron-browser/extensionManagementServerService.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ export class ExtensionManagementServerService implements IExtensionManagementSer
2626

2727
declare readonly _serviceBrand: undefined;
2828

29-
readonly localExtensionManagementServer: IExtensionManagementServer;
29+
private readonly _localExtensionManagementServer: IExtensionManagementServer;
30+
public get localExtensionManagementServer(): IExtensionManagementServer {
31+
return this._localExtensionManagementServer;
32+
}
3033
readonly remoteExtensionManagementServer: IExtensionManagementServer | null = null;
3134
readonly isSingleServer: boolean = false;
3235

@@ -41,7 +44,7 @@ export class ExtensionManagementServerService implements IExtensionManagementSer
4144
) {
4245
const localExtensionManagementService = new ExtensionManagementChannelClient(sharedProcessService.getChannel('extensions'));
4346

44-
this.localExtensionManagementServer = { extensionManagementService: localExtensionManagementService, authority: localExtensionManagementServerAuthority, label: localize('local', "Local") };
47+
this._localExtensionManagementServer = { extensionManagementService: localExtensionManagementService, authority: localExtensionManagementServerAuthority, label: localize('local', "Local") };
4548
const remoteAgentConnection = remoteAgentService.getConnection();
4649
if (remoteAgentConnection) {
4750
const extensionManagementService = new RemoteExtensionManagementChannelClient(remoteAgentConnection.getChannel<IChannel>('extensions'), this.localExtensionManagementServer.extensionManagementService, galleryService, logService, configurationService, productService);

0 commit comments

Comments
 (0)