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

Strict null check textDiffEditor

上级 873b17fc
......@@ -116,6 +116,7 @@
"./vs/workbench/browser/parts/editor/rangeDecorations.ts",
"./vs/workbench/browser/parts/editor/resourceViewer.ts",
"./vs/workbench/browser/parts/editor/sideBySideEditor.ts",
"./vs/workbench/browser/parts/editor/textDiffEditor.ts",
"./vs/workbench/browser/parts/editor/textEditor.ts",
"./vs/workbench/browser/parts/editor/textResourceEditor.ts",
"./vs/workbench/browser/parts/quickinput/quickInputBox.ts",
......
......@@ -469,7 +469,7 @@ export interface IDiffEditor extends IEditor {
/**
* Type the getModel() of IEditor.
*/
getModel(): IDiffEditorModel;
getModel(): IDiffEditorModel | null;
/**
* Get the `original` editor.
......
......@@ -61,7 +61,7 @@ export class TextDiffEditor extends BaseTextEditor implements ITextDiffEditor {
return new EditorMemento(this.getId(), key, Object.create(null), limit, editorGroupService); // do not persist in storage as diff editors are never persisted
}
getTitle(): string {
getTitle(): string | null {
if (this.input) {
return this.input.getName();
}
......@@ -120,6 +120,7 @@ export class TextDiffEditor extends BaseTextEditor implements ITextDiffEditor {
// Readonly flag
diffEditor.updateOptions({ readOnly: resolvedDiffEditorModel.isReadonly() });
return undefined;
}, error => {
// In case we tried to open a file and the response indicates that this is not a text file, fallback to binary diff.
......@@ -262,7 +263,7 @@ export class TextDiffEditor extends BaseTextEditor implements ITextDiffEditor {
return super.loadTextEditorViewState(resource) as IDiffEditorViewState; // overridden for text diff editor support
}
private saveTextDiffEditorViewState(input: EditorInput): void {
private saveTextDiffEditorViewState(input: EditorInput | null): void {
if (!(input instanceof DiffEditorInput)) {
return; // only supported for diff editor inputs
}
......@@ -288,11 +289,11 @@ export class TextDiffEditor extends BaseTextEditor implements ITextDiffEditor {
}
}
protected retrieveTextEditorViewState(resource: URI): IDiffEditorViewState {
protected retrieveTextEditorViewState(resource: URI): IDiffEditorViewState | null {
return this.retrieveTextDiffEditorViewState(resource); // overridden for text diff editor support
}
private retrieveTextDiffEditorViewState(resource: URI): IDiffEditorViewState {
private retrieveTextDiffEditorViewState(resource: URI): IDiffEditorViewState | null {
const control = this.getControl();
const model = control.getModel();
if (!model || !model.modified || !model.original) {
......@@ -311,9 +312,9 @@ export class TextDiffEditor extends BaseTextEditor implements ITextDiffEditor {
return control.saveViewState();
}
private toDiffEditorViewStateResource(modelOrInput: IDiffEditorModel | DiffEditorInput): URI {
let original: URI;
let modified: URI;
private toDiffEditorViewStateResource(modelOrInput: IDiffEditorModel | DiffEditorInput): URI | null {
let original: URI | null;
let modified: URI | null;
if (modelOrInput instanceof DiffEditorInput) {
original = modelOrInput.originalInput.getResource();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册