提交 a6e28b0b 编写于 作者: J Joao Moreno

empty -> Disposable.Empty

上级 3c0abb8d
......@@ -9,7 +9,7 @@ import 'vs/css!./gridview';
import { Event, anyEvent, Emitter, mapEvent, Relay } from 'vs/base/common/event';
import { Orientation, Sash } from 'vs/base/browser/ui/sash/sash';
import { SplitView, IView as ISplitView, Sizing, ISplitViewStyles } from 'vs/base/browser/ui/splitview/splitview';
import { empty as EmptyDisposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { Disposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { $ } from 'vs/base/browser/dom';
import { tail2 as tail } from 'vs/base/common/arrays';
import { Color } from 'vs/base/common/color';
......@@ -122,12 +122,12 @@ class BranchNode implements ISplitView, IDisposable {
private _onDidChange = new Emitter<number | undefined>();
readonly onDidChange: Event<number | undefined> = this._onDidChange.event;
private childrenChangeDisposable: IDisposable = EmptyDisposable;
private childrenChangeDisposable: IDisposable = Disposable.None;
private _onDidSashReset = new Emitter<number[]>();
readonly onDidSashReset: Event<number[]> = this._onDidSashReset.event;
private splitviewSashResetDisposable: IDisposable = EmptyDisposable;
private childrenSashResetDisposable: IDisposable = EmptyDisposable;
private splitviewSashResetDisposable: IDisposable = Disposable.None;
private childrenSashResetDisposable: IDisposable = Disposable.None;
get orthogonalStartSash(): Sash | undefined { return this.splitview.orthogonalStartSash; }
set orthogonalStartSash(sash: Sash | undefined) { this.splitview.orthogonalStartSash = sash; }
......@@ -280,22 +280,22 @@ class BranchNode implements ISplitView, IDisposable {
trySet2x2(other: BranchNode): IDisposable {
if (this.children.length !== 2 || other.children.length !== 2) {
return EmptyDisposable;
return Disposable.None;
}
if (this.getChildSize(0) !== other.getChildSize(0)) {
return EmptyDisposable;
return Disposable.None;
}
const [firstChild, secondChild] = this.children;
const [otherFirstChild, otherSecondChild] = other.children;
if (!(firstChild instanceof LeafNode) || !(secondChild instanceof LeafNode)) {
return EmptyDisposable;
return Disposable.None;
}
if (!(otherFirstChild instanceof LeafNode) || !(otherSecondChild instanceof LeafNode)) {
return EmptyDisposable;
return Disposable.None;
}
if (this.orientation === Orientation.VERTICAL) {
......@@ -485,7 +485,7 @@ export class GridView implements IDisposable {
private onDidSashResetRelay = new Relay<number[]>();
readonly onDidSashReset: Event<number[]> = this.onDidSashResetRelay.event;
private disposable2x2: IDisposable = EmptyDisposable;
private disposable2x2: IDisposable = Disposable.None;
private get root(): BranchNode {
return this._root;
......@@ -550,7 +550,7 @@ export class GridView implements IDisposable {
addView(view: IView, size: number | Sizing, location: number[]): void {
this.disposable2x2.dispose();
this.disposable2x2 = EmptyDisposable;
this.disposable2x2 = Disposable.None;
const [rest, index] = tail(location);
const [pathToParent, parent] = this.getNode(rest);
......@@ -582,7 +582,7 @@ export class GridView implements IDisposable {
removeView(location: number[], sizing?: Sizing): IView {
this.disposable2x2.dispose();
this.disposable2x2 = EmptyDisposable;
this.disposable2x2 = Disposable.None;
const [rest, index] = tail(location);
const [pathToParent, parent] = this.getNode(rest);
......@@ -783,7 +783,7 @@ export class GridView implements IDisposable {
trySet2x2(): void {
this.disposable2x2.dispose();
this.disposable2x2 = EmptyDisposable;
this.disposable2x2 = Disposable.None;
if (this.root.children.length !== 2) {
return;
......
......@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import 'vs/css!./tree';
import { IDisposable, dispose, empty as EmptyDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, Disposable, toDisposable } from 'vs/base/common/lifecycle';
import { IListOptions, List, IIdentityProvider, IMultipleSelectionController } from 'vs/base/browser/ui/list/listWidget';
import { TreeModel, ITreeNode, ITreeElement } from 'vs/base/browser/ui/tree/treeModel';
import { IIterator, empty } from 'vs/base/common/iterator';
......@@ -83,7 +83,7 @@ class TreeRenderer<T, TTemplateData> implements IRenderer<ITreeNode<T>, ITreeLis
const contents = append(el, $('.tl-contents'));
const templateData = this.renderer.renderTemplate(contents);
return { twistie, elementDisposable: EmptyDisposable, templateData };
return { twistie, elementDisposable: Disposable.None, templateData };
}
renderElement(node: ITreeNode<T>, index: number, templateData: ITreeListTemplateData<TTemplateData>): void {
......
......@@ -6,7 +6,7 @@
import { onUnexpectedError } from 'vs/base/common/errors';
import { once as onceFn } from 'vs/base/common/functional';
import { combinedDisposable, empty as EmptyDisposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { combinedDisposable, Disposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { LinkedList } from 'vs/base/common/linkedList';
import { TPromise } from 'vs/base/common/winjs.base';
......@@ -559,7 +559,7 @@ export class Relay<T> implements IDisposable {
private emitter = new Emitter<T>();
readonly event: Event<T> = this.emitter.event;
private disposable: IDisposable = EmptyDisposable;
private disposable: IDisposable = Disposable.None;
set input(event: Event<T>) {
this.disposable.dispose();
......
......@@ -7,10 +7,6 @@
import { once } from 'vs/base/common/functional';
export const empty: IDisposable = Object.freeze<IDisposable>({
dispose() { }
});
export interface IDisposable {
dispose(): void;
}
......@@ -57,6 +53,8 @@ export function toDisposable(...fns: (() => void)[]): IDisposable {
export abstract class Disposable implements IDisposable {
static None = Object.freeze<IDisposable>({ dispose() { } });
protected _toDispose: IDisposable[] = [];
protected get toDispose(): IDisposable[] { return this._toDispose; }
......
......@@ -21,7 +21,7 @@ import { ColorPickerModel } from 'vs/editor/contrib/colorPicker/colorPickerModel
import { ColorPickerWidget } from 'vs/editor/contrib/colorPicker/colorPickerWidget';
import { ColorDetector } from 'vs/editor/contrib/colorPicker/colorDetector';
import { Color, RGBA } from 'vs/base/common/color';
import { IDisposable, empty as EmptyDisposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, Disposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { getColorPresentations } from 'vs/editor/contrib/colorPicker/color';
import { IThemeService } from 'vs/platform/theme/common/themeService';
const $ = dom.$;
......@@ -167,7 +167,7 @@ export class ModesContentHoverWidget extends ContentHoverWidget {
private _shouldFocus: boolean;
private _colorPicker: ColorPickerWidget;
private renderDisposable: IDisposable = EmptyDisposable;
private renderDisposable: IDisposable = Disposable.None;
constructor(
editor: ICodeEditor,
......@@ -205,7 +205,7 @@ export class ModesContentHoverWidget extends ContentHoverWidget {
dispose(): void {
this.renderDisposable.dispose();
this.renderDisposable = EmptyDisposable;
this.renderDisposable = Disposable.None;
this._hoverOperation.cancel();
super.dispose();
}
......@@ -274,7 +274,7 @@ export class ModesContentHoverWidget extends ContentHoverWidget {
this._highlightDecorations = this._editor.deltaDecorations(this._highlightDecorations, []);
this._isChangingDecorations = false;
this.renderDisposable.dispose();
this.renderDisposable = EmptyDisposable;
this.renderDisposable = Disposable.None;
this._colorPicker = null;
}
......
......@@ -5,7 +5,7 @@
'use strict';
import { empty as emptyDisposable, IDisposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { Disposable, IDisposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { TPromise } from 'vs/base/common/winjs.base';
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
......@@ -206,7 +206,7 @@ export class StandaloneCodeEditor extends CodeEditorWidget implements IStandalon
}
if (!this._standaloneKeybindingService) {
console.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');
return emptyDisposable;
return Disposable.None;
}
// Read descriptor options
......
......@@ -12,7 +12,7 @@ import * as dom from 'vs/base/browser/dom';
import { Builder, $ } from 'vs/base/browser/builder';
import { BaseActionItem, IBaseActionItemOptions, Separator } from 'vs/base/browser/ui/actionbar/actionbar';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { dispose, IDisposable, empty, toDisposable } from 'vs/base/common/lifecycle';
import { dispose, IDisposable, Disposable, toDisposable } from 'vs/base/common/lifecycle';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService';
import { TextBadge, NumberBadge, IBadge, IconBadge, ProgressBadge } from 'vs/workbench/services/activity/common/activity';
......@@ -130,7 +130,7 @@ export class ActivityActionItem extends BaseActionItem {
protected options: IActivityActionItemOptions;
private $badgeContent: Builder;
private badgeDisposable: IDisposable = empty;
private badgeDisposable: IDisposable = Disposable.None;
private mouseUpTimeout: number;
constructor(
......@@ -230,7 +230,7 @@ export class ActivityActionItem extends BaseActionItem {
const clazz = action.getClass();
this.badgeDisposable.dispose();
this.badgeDisposable = empty;
this.badgeDisposable = Disposable.None;
this.$badgeContent.empty();
this.$badge.hide();
......
......@@ -5,7 +5,7 @@
import 'vs/css!./media/views';
import { Event, Emitter } from 'vs/base/common/event';
import { IDisposable, dispose, empty as EmptyDisposable, toDisposable, Disposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, Disposable, toDisposable } from 'vs/base/common/lifecycle';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { TPromise } from 'vs/base/common/winjs.base';
import { IAction, IActionItem, ActionRunner } from 'vs/base/common/actions';
......@@ -109,7 +109,7 @@ export class CustomTreeViewPanel extends ViewletPanel {
class TitleMenus implements IDisposable {
private disposables: IDisposable[] = [];
private titleDisposable: IDisposable = EmptyDisposable;
private titleDisposable: IDisposable = Disposable.None;
private titleActions: IAction[] = [];
private titleSecondaryActions: IAction[] = [];
......@@ -123,7 +123,7 @@ class TitleMenus implements IDisposable {
) {
if (this.titleDisposable) {
this.titleDisposable.dispose();
this.titleDisposable = EmptyDisposable;
this.titleDisposable = Disposable.None;
}
const _contextKeyService = this.contextKeyService.createScoped();
......
......@@ -20,7 +20,7 @@ import { InputBox, MessageType } from 'vs/base/browser/ui/inputbox/inputBox';
import { isMacintosh, isLinux } from 'vs/base/common/platform';
import * as glob from 'vs/base/common/glob';
import { FileLabel, IFileLabelOptions } from 'vs/workbench/browser/labels';
import { IDisposable, dispose, empty as EmptyDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle';
import { IFilesConfiguration, SortOrder } from 'vs/workbench/parts/files/common/files';
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
import { FileOperationError, FileOperationResult, IFileService, FileKind } from 'vs/platform/files/common/files';
......@@ -233,7 +233,7 @@ export class FileRenderer implements IRenderer {
}
public renderTemplate(tree: ITree, templateId: string, container: HTMLElement): IFileTemplateData {
const elementDisposable = EmptyDisposable;
const elementDisposable = Disposable.None;
const label = this.instantiationService.createInstance(FileLabel, container, void 0);
return { elementDisposable, label, container };
......@@ -264,7 +264,7 @@ export class FileRenderer implements IRenderer {
else {
templateData.label.element.style.display = 'none';
this.renderInputBox(templateData.container, tree, stat, editableData);
templateData.elementDisposable = EmptyDisposable;
templateData.elementDisposable = Disposable.None;
}
}
......
......@@ -8,7 +8,7 @@
import { localize } from 'vs/nls';
import { TPromise } from 'vs/base/common/winjs.base';
import { ITextModel } from 'vs/editor/common/model';
import { empty as EmptyDisposable, IDisposable, dispose, IReference } from 'vs/base/common/lifecycle';
import { Disposable, IDisposable, dispose, IReference } from 'vs/base/common/lifecycle';
import { EditorOptions, EditorInput, IEditorMemento } from 'vs/workbench/common/editor';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
......@@ -42,8 +42,8 @@ export class HtmlPreviewPart extends BaseWebviewEditor {
private _modelRef: IReference<ITextEditorModel>;
public get model(): ITextModel { return this._modelRef && this._modelRef.object.textEditorModel; }
private _modelChangeSubscription = EmptyDisposable;
private _themeChangeSubscription = EmptyDisposable;
private _modelChangeSubscription = Disposable.None;
private _themeChangeSubscription = Disposable.None;
private _content: HTMLElement;
private _scrollYPercentage: number = 0;
......
......@@ -9,7 +9,7 @@ import * as nls from 'vs/nls';
import 'vs/css!./media/dirtydiffDecorator';
import { ThrottledDelayer, always, first } from 'vs/base/common/async';
import { IDisposable, dispose, toDisposable, empty as EmptyDisposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, toDisposable, Disposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { TPromise } from 'vs/base/common/winjs.base';
import { Event, Emitter, anyEvent as anyEvent, filterEvent, once } from 'vs/base/common/event';
import * as ext from 'vs/workbench/common/contributions';
......@@ -553,7 +553,7 @@ export class DirtyDiffController implements IEditorContribution {
private widget: DirtyDiffWidget | null = null;
private currentIndex: number = -1;
private readonly isDirtyDiffVisible: IContextKey<boolean>;
private session: IDisposable = EmptyDisposable;
private session: IDisposable = Disposable.None;
private mouseDownInfo: { lineNumber: number } | null = null;
private enabled = false;
private disposables: IDisposable[] = [];
......@@ -611,7 +611,7 @@ export class DirtyDiffController implements IEditorContribution {
close(): void {
this.session.dispose();
this.session = EmptyDisposable;
this.session = Disposable.None;
}
private assertWidget(): boolean {
......
......@@ -7,7 +7,7 @@
import { localize } from 'vs/nls';
import { basename } from 'vs/base/common/paths';
import { IDisposable, dispose, empty as EmptyDisposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, Disposable, combinedDisposable } from 'vs/base/common/lifecycle';
import { filterEvent, anyEvent as anyEvent } from 'vs/base/common/event';
import { VIEWLET_ID } from 'vs/workbench/parts/scm/common/scm';
import { ISCMService, ISCMRepository } from 'vs/workbench/services/scm/common/scm';
......@@ -18,7 +18,7 @@ import { IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment }
export class StatusUpdater implements IWorkbenchContribution {
private badgeDisposable: IDisposable = EmptyDisposable;
private badgeDisposable: IDisposable = Disposable.None;
private disposables: IDisposable[] = [];
constructor(
......@@ -60,7 +60,7 @@ export class StatusUpdater implements IWorkbenchContribution {
const badge = new NumberBadge(count, num => localize('scmPendingChangesBadge', '{0} pending changes', num));
this.badgeDisposable = this.activityService.showActivity(VIEWLET_ID, badge, 'scm-viewlet-label');
} else {
this.badgeDisposable = EmptyDisposable;
this.badgeDisposable = Disposable.None;
}
}
......@@ -72,8 +72,8 @@ export class StatusUpdater implements IWorkbenchContribution {
export class StatusBarController implements IWorkbenchContribution {
private statusBarDisposable: IDisposable = EmptyDisposable;
private focusDisposable: IDisposable = EmptyDisposable;
private statusBarDisposable: IDisposable = Disposable.None;
private focusDisposable: IDisposable = Disposable.None;
private focusedRepository: ISCMRepository | undefined = undefined;
private focusedProviderContextKey: IContextKey<string | undefined>;
private disposables: IDisposable[] = [];
......
......@@ -12,7 +12,7 @@ import { Event, Emitter, chain, mapEvent, anyEvent, filterEvent, latch } from 'v
import { domEvent, stop } from 'vs/base/browser/event';
import { basename } from 'vs/base/common/paths';
import { onUnexpectedError } from 'vs/base/common/errors';
import { IDisposable, dispose, combinedDisposable, empty as EmptyDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, combinedDisposable, Disposable, toDisposable } from 'vs/base/common/lifecycle';
import { PanelViewlet, ViewletPanel, IViewletPanelOptions } from 'vs/workbench/browser/parts/views/panelViewlet';
import { append, $, addClass, toggleClass, trackFocus, Dimension, addDisposableListener } from 'vs/base/browser/dom';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
......@@ -142,7 +142,7 @@ class ProviderRenderer implements IRenderer<ISCMRepository, RepositoryTemplateDa
const count = new CountBadge(countContainer);
const badgeStyler = attachBadgeStyler(count, this.themeService);
const actionBar = new ActionBar(provider, { actionItemProvider: a => new StatusBarActionItem(a as StatusBarAction) });
const disposable = EmptyDisposable;
const disposable = Disposable.None;
const templateDisposable = combinedDisposable([actionBar, badgeStyler]);
return { title, type, countContainer, count, actionBar, disposable, templateDisposable };
......@@ -389,7 +389,7 @@ class ResourceGroupRenderer implements IRenderer<ISCMResourceGroup, ResourceGrou
const countContainer = append(element, $('.count'));
const count = new CountBadge(countContainer);
const styler = attachBadgeStyler(count, this.themeService);
const elementDisposable = EmptyDisposable;
const elementDisposable = Disposable.None;
return {
name, count, actionBar, elementDisposable, dispose: () => {
......@@ -501,7 +501,7 @@ class ResourceRenderer implements IRenderer<ISCMResource, ResourceTemplate> {
const decorationIcon = append(element, $('.decoration-icon'));
return {
element, name, fileLabel, decorationIcon, actionBar, elementDisposable: EmptyDisposable, dispose: () => {
element, name, fileLabel, decorationIcon, actionBar, elementDisposable: Disposable.None, dispose: () => {
actionBar.dispose();
fileLabel.dispose();
}
......@@ -1019,10 +1019,10 @@ export class SCMViewlet extends PanelViewlet implements IViewModel, IViewsViewle
private menus: SCMMenus;
private mainPanel: MainPanel | null = null;
private cachedMainPanelHeight: number | undefined;
private mainPanelDisposable: IDisposable = EmptyDisposable;
private mainPanelDisposable: IDisposable = Disposable.None;
private _repositories: ISCMRepository[] = [];
private repositoryPanels: RepositoryPanel[] = [];
private singlePanelTitleActionsDisposable: IDisposable = EmptyDisposable;
private singlePanelTitleActionsDisposable: IDisposable = Disposable.None;
private disposables: IDisposable[] = [];
private lastFocusedRepository: ISCMRepository | undefined;
......@@ -1152,7 +1152,7 @@ export class SCMViewlet extends PanelViewlet implements IViewModel, IViewsViewle
});
} else {
this.mainPanelDisposable.dispose();
this.mainPanelDisposable = EmptyDisposable;
this.mainPanelDisposable = Disposable.None;
this.mainPanel = null;
}
}
......
......@@ -9,7 +9,7 @@ import * as nls from 'vs/nls';
import severity from 'vs/base/common/severity';
import { TPromise } from 'vs/base/common/winjs.base';
import { IAction, Action } from 'vs/base/common/actions';
import { IDisposable, dispose, empty as EmptyDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle';
import { Separator } from 'vs/base/browser/ui/actionbar/actionbar';
import pkg from 'vs/platform/node/package';
import product from 'vs/platform/node/product';
......@@ -235,7 +235,7 @@ export class UpdateContribution implements IGlobalActivity {
get cssClass() { return 'update-activity'; }
private state: UpdateState;
private badgeDisposable: IDisposable = EmptyDisposable;
private badgeDisposable: IDisposable = Disposable.None;
private disposables: IDisposable[] = [];
constructor(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册