提交 82c0e30d 编写于 作者: I isidor

debug: remove passing extensionHostData around.

上级 aa3fa0d5
......@@ -173,7 +173,6 @@ export interface IConfig {
preLaunchTask?: string;
externalConsole?: boolean;
debugServer?: number;
extensionHostData?: any;
}
export interface IRawEnvAdapter {
......
......@@ -270,12 +270,7 @@ export class DebugService extends ee.EventEmitter implements debug.IDebugService
}));
this.toDispose.push(this.session.addListener2(debug.SessionEvents.DEBUGEE_TERMINATED, (event: DebugProtocol.TerminatedEvent) => {
// if there is some opaque data in the body of the terminate event, just pass it to the next launch request
let extensionHostData = event.body ? event.body.extensionHost : undefined;
if (extensionHostData) {
this.restartSession(extensionHostData).done(null, errors.onUnexpectedError);
} else if (this.session) {
if (this.session) {
this.session.disconnect().done(null, errors.onUnexpectedError);
}
}));
......@@ -474,13 +469,11 @@ export class DebugService extends ee.EventEmitter implements debug.IDebugService
this.model.clearWatchExpressions(id);
}
public createSession(extensionHostData?: any, openViewlet = true): Promise {
public createSession(openViewlet = true): Promise {
this.textFileService.saveAll().done(null, errors.onUnexpectedError);
if (!extensionHostData) {
this.clearReplExpressions();
}
this.clearReplExpressions();
return this.pluginService.onReady().then(() => this.configurationManager.setConfiguration(this.configurationManager.getConfigurationName(), extensionHostData)).then(() => {
return this.pluginService.onReady().then(() => this.configurationManager.setConfiguration(this.configurationManager.getConfigurationName())).then(() => {
const configuration = this.configurationManager.getConfiguration();
if (!configuration) {
return this.configurationManager.openConfigFile(false).then(openend => {
......@@ -530,8 +523,7 @@ export class DebugService extends ee.EventEmitter implements debug.IDebugService
}
private runPreLaunchTask(config: debug.IConfig): Promise {
// Only run the task if we are not reattaching (extensionHostData is defined).
if (!config.preLaunchTask || config.extensionHostData) {
if (!config.preLaunchTask) {
return Promise.as(true);
}
......@@ -582,14 +574,14 @@ export class DebugService extends ee.EventEmitter implements debug.IDebugService
}, true);
}
public restartSession(extensionHostData?: any): Promise {
return this.session ? this.session.disconnect(true).then(() => {
public restartSession(): Promise {
return this.session ? this.session.disconnect().then(() => {
new Promise(c => {
setTimeout(() => {
this.createSession(extensionHostData, false).then(() => c(true));
this.createSession(false).then(() => c(true));
}, 300);
});
}) : this.createSession(extensionHostData, false);
}) : this.createSession(false);
}
public getActiveSession(): debug.IRawDebugSession {
......
......@@ -218,7 +218,7 @@ export class ConfigurationManager {
return this.adapters.filter(adapter => adapter.type === this.configuration.type).pop();
}
public setConfiguration(name: string, extensionHostData: any = null): Promise {
public setConfiguration(name: string): Promise {
return this.loadLaunchConfig().then(config => {
if (!config || !config.configurations) {
this.configuration = null;
......@@ -242,8 +242,6 @@ export class ConfigurationManager {
this.configuration.runtimeExecutable = this.resolvePath(this.systemVariables.resolve(this.configuration.runtimeExecutable));
this.configuration.runtimeArgs = this.configuration.runtimeArgs && this.configuration.runtimeArgs.length > 0 ? this.systemVariables.resolve(this.configuration.runtimeArgs) : null;
this.configuration.outDir = this.resolvePath(this.configuration.outDir);
// send opaque data back as part of the (undocumented) arguments of the launch request.
this.configuration.extensionHostData = extensionHostData;
}
});
}
......
......@@ -116,14 +116,11 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes
return this.send('pause', args);
}
public disconnect(restart = false): TPromise<DebugProtocol.DisconnectResponse> {
public disconnect(): TPromise<DebugProtocol.DisconnectResponse> {
if ((this.serverProcess || this.socket) && !this.stopServerPending) {
this.stopServerPending = true; // point of no return: from now on don't report any errors
return this.send('disconnect', { extensionHostData: { restart: restart } }).then(() => {
return this.stopServer();
}, () => {
return this.stopServer();
});
// point of no return: from now on don't report any errors
this.stopServerPending = true;
return this.stopServer();
}
return Promise.as(null);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册