mirror of
https://github.com/Microsoft/vscode
synced 2024-09-19 10:40:41 +00:00
Strict null checks
This commit is contained in:
parent
3ec0cb435f
commit
952faa486a
|
@ -549,6 +549,7 @@
|
|||
"./vs/workbench/common/viewlet.ts",
|
||||
"./vs/workbench/common/views.ts",
|
||||
"./vs/workbench/electron-browser/resources.ts",
|
||||
"./vs/workbench/parts/backup/common/backupRestorer.ts",
|
||||
"./vs/workbench/parts/cli/electron-browser/cli.contribution.ts",
|
||||
"./vs/workbench/parts/codeEditor/browser/menuPreventer.ts",
|
||||
"./vs/workbench/parts/codeEditor/browser/simpleEditorOptions.ts",
|
||||
|
@ -582,6 +583,7 @@
|
|||
"./vs/workbench/parts/extensions/electron-browser/extensionsActivationProgress.ts",
|
||||
"./vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts",
|
||||
"./vs/workbench/parts/extensions/test/common/extensionQuery.test.ts",
|
||||
"./vs/workbench/parts/localizations/electron-browser/localizationsActions.ts",
|
||||
"./vs/workbench/parts/logs/common/logConstants.ts",
|
||||
"./vs/workbench/parts/logs/electron-browser/logs.contribution.ts",
|
||||
"./vs/workbench/parts/logs/electron-browser/logsActions.ts",
|
||||
|
@ -647,11 +649,15 @@
|
|||
"./vs/workbench/parts/welcome/gettingStarted/electron-browser/gettingStarted.ts",
|
||||
"./vs/workbench/parts/welcome/gettingStarted/test/common/gettingStarted.test.ts",
|
||||
"./vs/workbench/parts/welcome/page/electron-browser/vs_code_welcome_page.ts",
|
||||
"./vs/workbench/parts/welcome/walkThrough/electron-browser/editor/editorWalkThrough.ts",
|
||||
"./vs/workbench/parts/welcome/walkThrough/node/walkThroughContentProvider.ts",
|
||||
"./vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts",
|
||||
"./vs/workbench/parts/welcome/walkThrough/node/walkThroughUtils.ts",
|
||||
"./vs/workbench/services/actions/electron-browser/menusExtensionPoint.ts",
|
||||
"./vs/workbench/services/activity/common/activity.ts",
|
||||
"./vs/workbench/services/backup/common/backup.ts",
|
||||
"./vs/workbench/services/backup/node/backupFileService.ts",
|
||||
"./vs/workbench/services/bulkEdit/electron-browser/bulkEditService.ts",
|
||||
"./vs/workbench/services/commands/common/commandService.ts",
|
||||
"./vs/workbench/services/configuration/common/configuration.ts",
|
||||
"./vs/workbench/services/configuration/common/configurationExtensionPoint.ts",
|
||||
|
|
|
@ -1115,7 +1115,7 @@ export interface ResourceTextEdit {
|
|||
}
|
||||
|
||||
export interface WorkspaceEdit {
|
||||
edits?: Array<ResourceTextEdit | ResourceFileEdit>;
|
||||
edits: Array<ResourceTextEdit | ResourceFileEdit>;
|
||||
}
|
||||
|
||||
export interface Rejection {
|
||||
|
|
|
@ -69,7 +69,7 @@ class RenameSkeleton {
|
|||
|
||||
if (i >= this._provider.length) {
|
||||
return {
|
||||
edits: undefined,
|
||||
edits: [],
|
||||
rejectReason: rejects.join('\n')
|
||||
};
|
||||
}
|
||||
|
|
2
src/vs/monaco.d.ts
vendored
2
src/vs/monaco.d.ts
vendored
|
@ -5355,7 +5355,7 @@ declare namespace monaco.languages {
|
|||
}
|
||||
|
||||
export interface WorkspaceEdit {
|
||||
edits?: Array<ResourceTextEdit | ResourceFileEdit>;
|
||||
edits: Array<ResourceTextEdit | ResourceFileEdit>;
|
||||
}
|
||||
|
||||
export interface Rejection {
|
||||
|
|
|
@ -28,13 +28,13 @@ export class BackupRestorer implements IWorkbenchContribution {
|
|||
this.lifecycleService.when(LifecyclePhase.Restored).then(() => this.doRestoreBackups());
|
||||
}
|
||||
|
||||
private doRestoreBackups(): Thenable<URI[]> {
|
||||
private doRestoreBackups(): Thenable<URI[] | undefined> {
|
||||
|
||||
// Find all files and untitled with backups
|
||||
return this.backupFileService.getWorkspaceFileBackups().then(backups => {
|
||||
|
||||
// Resolve backups that are opened
|
||||
return this.doResolveOpenedBackups(backups).then(unresolved => {
|
||||
return this.doResolveOpenedBackups(backups).then((unresolved): Thenable<URI[] | undefined> | undefined => {
|
||||
|
||||
// Some failed to restore or were not opened at all so we open and resolve them manually
|
||||
if (unresolved.length > 0) {
|
||||
|
|
|
@ -36,11 +36,11 @@ export class ConfigureLocaleAction extends Action {
|
|||
super(id, label);
|
||||
}
|
||||
|
||||
public run(event?: any): Thenable<IEditor> {
|
||||
public run(event?: any): Thenable<IEditor | undefined> {
|
||||
const file = URI.file(join(this.environmentService.appSettingsHome, 'locale.json'));
|
||||
return this.fileService.resolveFile(file).then(void 0, (error) => {
|
||||
return this.fileService.createFile(file, ConfigureLocaleAction.DEFAULT_CONTENT);
|
||||
}).then((stat) => {
|
||||
}).then((stat): Thenable<IEditor | undefined> | undefined => {
|
||||
if (!stat) {
|
||||
return undefined;
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ export class WalkThroughSnippetContentProvider implements ITextModelContentProvi
|
|||
const markdown = textBuffer.getValueInRange(range, EndOfLinePreference.TextDefined);
|
||||
marked(markdown, { renderer });
|
||||
|
||||
const languageId = this.modeService.getModeIdForLanguageName(languageName);
|
||||
const languageId = this.modeService.getModeIdForLanguageName(languageName) || '';
|
||||
const languageSelection = this.modeService.create(languageId);
|
||||
codeEditorModel = this.modelService.createModel(codeSnippet, languageSelection, resource);
|
||||
} else {
|
||||
|
|
|
@ -50,7 +50,7 @@ export class WalkThroughInput extends EditorInput {
|
|||
|
||||
private disposables: IDisposable[] = [];
|
||||
|
||||
private promise: Thenable<WalkThroughModel>;
|
||||
private promise: Thenable<WalkThroughModel> | null;
|
||||
|
||||
private maxTopScroll = 0;
|
||||
private maxBottomScroll = 0;
|
||||
|
|
|
@ -121,9 +121,11 @@ class EditorEditTask extends ModelEditTask {
|
|||
this._editor.pushUndoStop();
|
||||
}
|
||||
if (this._newEol !== undefined) {
|
||||
this._editor.pushUndoStop();
|
||||
this._editor.getModel().pushEOL(this._newEol);
|
||||
this._editor.pushUndoStop();
|
||||
if (this._editor.hasModel()) {
|
||||
this._editor.pushUndoStop();
|
||||
this._editor.getModel().pushEOL(this._newEol);
|
||||
this._editor.pushUndoStop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -132,13 +134,13 @@ class BulkEditModel implements IDisposable {
|
|||
|
||||
private _textModelResolverService: ITextModelService;
|
||||
private _edits = new Map<string, ResourceTextEdit[]>();
|
||||
private _editor: ICodeEditor;
|
||||
private _editor: ICodeEditor | undefined;
|
||||
private _tasks: ModelEditTask[];
|
||||
private _progress: IProgress<void>;
|
||||
|
||||
constructor(
|
||||
textModelResolverService: ITextModelService,
|
||||
editor: ICodeEditor,
|
||||
editor: ICodeEditor | undefined,
|
||||
edits: ResourceTextEdit[],
|
||||
progress: IProgress<void>
|
||||
) {
|
||||
|
@ -180,7 +182,7 @@ class BulkEditModel implements IDisposable {
|
|||
}
|
||||
|
||||
let task: ModelEditTask;
|
||||
if (this._editor && this._editor.getModel().uri.toString() === model.textEditorModel.uri.toString()) {
|
||||
if (this._editor && this._editor.hasModel() && this._editor.getModel().uri.toString() === model.textEditorModel.uri.toString()) {
|
||||
task = new EditorEditTask(ref, this._editor);
|
||||
} else {
|
||||
task = new ModelEditTask(ref);
|
||||
|
@ -221,12 +223,12 @@ export type Edit = ResourceFileEdit | ResourceTextEdit;
|
|||
export class BulkEdit {
|
||||
|
||||
private _edits: Edit[] = [];
|
||||
private _editor: ICodeEditor;
|
||||
private _progress: IProgressRunner;
|
||||
private _editor: ICodeEditor | undefined;
|
||||
private _progress?: IProgressRunner;
|
||||
|
||||
constructor(
|
||||
editor: ICodeEditor,
|
||||
progress: IProgressRunner,
|
||||
editor: ICodeEditor | undefined,
|
||||
progress: IProgressRunner | undefined,
|
||||
@ILogService private readonly _logService: ILogService,
|
||||
@ITextModelService private readonly _textModelService: ITextModelService,
|
||||
@IFileService private readonly _fileService: IFileService,
|
||||
|
@ -264,7 +266,7 @@ export class BulkEdit {
|
|||
let total = 0;
|
||||
|
||||
const groups: Edit[][] = [];
|
||||
let group: Edit[];
|
||||
let group: Edit[] | undefined;
|
||||
for (const edit of this._edits) {
|
||||
if (!group
|
||||
|| (isResourceFileEdit(group[0]) && !isResourceFileEdit(edit))
|
||||
|
@ -285,8 +287,10 @@ export class BulkEdit {
|
|||
|
||||
// define total work and progress callback
|
||||
// for child operations
|
||||
this._progress.total(total);
|
||||
let progress: IProgress<void> = { report: _ => this._progress.worked(1) };
|
||||
if (this._progress) {
|
||||
this._progress.total(total);
|
||||
}
|
||||
let progress: IProgress<void> = { report: _ => this._progress && this._progress.worked(1) };
|
||||
|
||||
// do it.
|
||||
for (const group of groups) {
|
||||
|
@ -400,7 +404,7 @@ export class BulkEditService implements IBulkEditService {
|
|||
}
|
||||
}
|
||||
|
||||
const bulkEdit = new BulkEdit(options.editor, options.progress, this._logService, this._textModelService, this._fileService, this._textFileService, this._labelService, this._configurationService);
|
||||
const bulkEdit = new BulkEdit(codeEditor, options.progress, this._logService, this._textModelService, this._fileService, this._textFileService, this._labelService, this._configurationService);
|
||||
bulkEdit.add(edits);
|
||||
|
||||
return bulkEdit.perform().then(() => {
|
||||
|
|
Loading…
Reference in a new issue