Strict init for tasks, file picker, and custom view

Part of #78168
This commit is contained in:
Alex Ross 2019-08-05 14:38:04 +02:00
parent 222401c661
commit 780a5085d7
4 changed files with 29 additions and 29 deletions

View file

@ -420,7 +420,7 @@ namespace TaskFilterDTO {
@extHostNamedCustomer(MainContext.MainThreadTask)
export class MainThreadTask implements MainThreadTaskShape {
private readonly _extHostContext: IExtHostContext;
private readonly _extHostContext: IExtHostContext | undefined;
private readonly _proxy: ExtHostTaskShape;
private readonly _providers: Map<number, { disposable: IDisposable, provider: ITaskProvider }>;

View file

@ -247,7 +247,7 @@ class ExtHostTreeView<T> extends Disposable {
.then(treeNode => this.proxy.$reveal(this.viewId, treeNode.item, parentChain.map(p => p.item), { select, focus, expand })), error => this.logService.error(error));
}
private _message: string | MarkdownString;
private _message: string | MarkdownString = '';
get message(): string | MarkdownString {
return this._message;
}
@ -565,9 +565,9 @@ class ExtHostTreeView<T> extends Disposable {
if (node) {
if (node.children) {
for (const child of node.children) {
const childEleement = this.elements.get(child.item.handle);
if (childEleement) {
this.clear(childEleement);
const childElement = this.elements.get(child.item.handle);
if (childElement) {
this.clear(childElement);
}
}
}
@ -583,9 +583,9 @@ class ExtHostTreeView<T> extends Disposable {
if (node) {
if (node.children) {
for (const child of node.children) {
const childEleement = this.elements.get(child.item.handle);
if (childEleement) {
this.clear(childEleement);
const childElement = this.elements.get(child.item.handle);
if (childElement) {
this.clear(childElement);
}
}
}

View file

@ -59,9 +59,9 @@ class RegexpTaskMatcher implements TaskDetectorMatcher {
}
class GruntTaskMatcher implements TaskDetectorMatcher {
private tasksStart: boolean;
private tasksEnd: boolean;
private descriptionOffset: number | null;
private tasksStart!: boolean;
private tasksEnd!: boolean;
private descriptionOffset!: number | null;
init() {
this.tasksStart = false;
@ -179,7 +179,7 @@ export class ProcessRunnerDetector {
commandExecutable, isShellCommand, config.matcher, ProcessRunnerDetector.DefaultProblemMatchers, list));
} else {
if (detectSpecific) {
let detectorPromise: Promise<DetectorResult>;
let detectorPromise: Promise<DetectorResult | null>;
if ('gulp' === detectSpecific) {
detectorPromise = this.tryDetectGulp(this._workspaceRoot, list);
} else if ('jake' === detectSpecific) {
@ -229,7 +229,7 @@ export class ProcessRunnerDetector {
return result;
}
private tryDetectGulp(workspaceFolder: IWorkspaceFolder, list: boolean): Promise<DetectorResult> {
private tryDetectGulp(workspaceFolder: IWorkspaceFolder, list: boolean): Promise<DetectorResult | null> {
return Promise.resolve(this.fileService.resolve(workspaceFolder.toResource('gulpfile.js'))).then((stat) => { // TODO@Dirk (https://github.com/Microsoft/vscode/issues/29454)
let config = ProcessRunnerDetector.detectorConfig('gulp');
let process = new LineProcess('gulp', [config.arg, '--no-color'], true, { cwd: this._cwd });
@ -239,7 +239,7 @@ export class ProcessRunnerDetector {
});
}
private tryDetectGrunt(workspaceFolder: IWorkspaceFolder, list: boolean): Promise<DetectorResult> {
private tryDetectGrunt(workspaceFolder: IWorkspaceFolder, list: boolean): Promise<DetectorResult | null> {
return Promise.resolve(this.fileService.resolve(workspaceFolder.toResource('Gruntfile.js'))).then((stat) => { // TODO@Dirk (https://github.com/Microsoft/vscode/issues/29454)
let config = ProcessRunnerDetector.detectorConfig('grunt');
let process = new LineProcess('grunt', [config.arg, '--no-color'], true, { cwd: this._cwd });
@ -249,7 +249,7 @@ export class ProcessRunnerDetector {
});
}
private tryDetectJake(workspaceFolder: IWorkspaceFolder, list: boolean): Promise<DetectorResult> {
private tryDetectJake(workspaceFolder: IWorkspaceFolder, list: boolean): Promise<DetectorResult | null> {
let run = () => {
let config = ProcessRunnerDetector.detectorConfig('jake');
let process = new LineProcess('jake', [config.arg], true, { cwd: this._cwd });

View file

@ -46,24 +46,24 @@ enum UpdateResult {
}
export class RemoteFileDialog {
private options: IOpenDialogOptions;
private currentFolder: URI;
private filePickBox: IQuickPick<FileQuickPickItem>;
private hidden: boolean;
private allowFileSelection: boolean;
private allowFolderSelection: boolean;
private options!: IOpenDialogOptions;
private currentFolder!: URI;
private filePickBox!: IQuickPick<FileQuickPickItem>;
private hidden: boolean = false;
private allowFileSelection: boolean = true;
private allowFolderSelection: boolean = false;
private remoteAuthority: string | undefined;
private requiresTrailing: boolean;
private requiresTrailing: boolean = false;
private trailing: string | undefined;
private scheme: string = REMOTE_HOST_SCHEME;
private contextKey: IContextKey<boolean>;
private userEnteredPathSegment: string;
private autoCompletePathSegment: string;
private activeItem: FileQuickPickItem;
private userHome: URI;
private userEnteredPathSegment: string = '';
private autoCompletePathSegment: string = '';
private activeItem: FileQuickPickItem | undefined;
private userHome!: URI;
private badPath: string | undefined;
private remoteAgentEnvironment: IRemoteAgentEnvironment | null;
private separator: string;
private remoteAgentEnvironment: IRemoteAgentEnvironment | null | undefined;
private separator: string = '/';
private onBusyChangeEmitter = new Emitter<boolean>();
private updatingPromise: CancelablePromise<void> | undefined;
@ -865,4 +865,4 @@ export class RemoteFileDialog {
return undefined;
}
}
}
}