diff --git a/src/vs/workbench/api/common/extHostTypes.ts b/src/vs/workbench/api/common/extHostTypes.ts index 2324162060a4191c8990367862eb9a2831bf91ee..28b7f5ae205778ae75139dbcea1c3057c0f8805b 100644 --- a/src/vs/workbench/api/common/extHostTypes.ts +++ b/src/vs/workbench/api/common/extHostTypes.ts @@ -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; }