提交 06c10cdd 编写于 作者: A Alex Ross

Strict init for tasks in extHostTypes.ts

Part of #78168
上级 d9935e0d
......@@ -1626,6 +1626,7 @@ export class ProcessExecution implements vscode.ProcessExecution {
if (typeof process !== 'string') {
throw illegalArgument('process');
}
this._args = [];
this._process = process;
if (varg1 !== undefined) {
if (Array.isArray(varg1)) {
......@@ -1635,9 +1636,6 @@ export class ProcessExecution implements vscode.ProcessExecution {
this._options = varg1;
}
}
if (this._args === undefined) {
this._args = [];
}
}
......@@ -1689,9 +1687,9 @@ export class ProcessExecution implements vscode.ProcessExecution {
@es5ClassCompat
export class ShellExecution implements vscode.ShellExecution {
private _commandLine: string;
private _command: string | vscode.ShellQuotedString;
private _args: (string | vscode.ShellQuotedString)[];
private _commandLine: string | undefined;
private _command: string | vscode.ShellQuotedString | undefined;
private _args: (string | vscode.ShellQuotedString)[] = [];
private _options: vscode.ShellExecutionOptions | undefined;
constructor(commandLine: string, options?: vscode.ShellExecutionOptions);
......@@ -1717,7 +1715,7 @@ export class ShellExecution implements vscode.ShellExecution {
}
get commandLine(): string {
return this._commandLine;
return this._commandLine ? this._commandLine : '';
}
set commandLine(value: string) {
......@@ -1728,7 +1726,7 @@ export class ShellExecution implements vscode.ShellExecution {
}
get command(): string | vscode.ShellQuotedString {
return this._command;
return this._command ? this._command : '';
}
set command(value: string | vscode.ShellQuotedString) {
......@@ -1826,23 +1824,23 @@ export class Task implements vscode.Task2 {
constructor(definition: vscode.TaskDefinition, name: string, source: string, execution?: ProcessExecution | ShellExecution | CustomExecution2, problemMatchers?: string | string[]);
constructor(definition: vscode.TaskDefinition, scope: vscode.TaskScope.Global | vscode.TaskScope.Workspace | vscode.WorkspaceFolder, name: string, source: string, execution?: ProcessExecution | ShellExecution | CustomExecution2, problemMatchers?: string | string[]);
constructor(definition: vscode.TaskDefinition, arg2: string | (vscode.TaskScope.Global | vscode.TaskScope.Workspace) | vscode.WorkspaceFolder, arg3: any, arg4?: any, arg5?: any, arg6?: any) {
this.definition = definition;
this._definition = this.definition = definition;
let problemMatchers: string | string[];
if (typeof arg2 === 'string') {
this.name = arg2;
this.source = arg3;
this._name = this.name = arg2;
this._source = this.source = arg3;
this.execution = arg4;
problemMatchers = arg5;
} else if (arg2 === TaskScope.Global || arg2 === TaskScope.Workspace) {
this.target = arg2;
this.name = arg3;
this.source = arg4;
this._name = this.name = arg3;
this._source = this.source = arg4;
this.execution = arg5;
problemMatchers = arg6;
} else {
this.target = arg2;
this.name = arg3;
this.source = arg4;
this._name = this.name = arg3;
this._source = this.source = arg4;
this.execution = arg5;
problemMatchers = arg6;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册