debug: expose parent session on DebugSessions

For https://github.com/microsoft/vscode/issues/123403
This commit is contained in:
Connor Peet
2021-05-18 11:56:09 -07:00
parent 25967171f1
commit e657d42281
4 changed files with 23 additions and 4 deletions

View File

@@ -845,7 +845,8 @@ export abstract class ExtHostDebugServiceBase implements IExtHostDebugService, E
let ds = this._debugSessions.get(dto.id);
if (!ds) {
const folder = await this.getFolder(dto.folderUri);
ds = new ExtHostDebugSession(this._debugServiceProxy, dto.id, dto.type, dto.name, folder, dto.configuration);
const parent = dto.parent ? this._debugSessions.get(dto.parent) : undefined;
ds = new ExtHostDebugSession(this._debugServiceProxy, dto.id, dto.type, dto.name, folder, dto.configuration, parent);
this._debugSessions.set(ds.id, ds);
this._debugServiceProxy.$sessionCached(ds.id);
}
@@ -872,7 +873,8 @@ export class ExtHostDebugSession implements vscode.DebugSession {
private _type: string,
private _name: string,
private _workspaceFolder: vscode.WorkspaceFolder | undefined,
private _configuration: vscode.DebugConfiguration) {
private _configuration: vscode.DebugConfiguration,
private _parentSession: vscode.DebugSession | undefined) {
}
public get id(): string {
@@ -886,12 +888,15 @@ export class ExtHostDebugSession implements vscode.DebugSession {
public get name(): string {
return this._name;
}
public set name(name: string) {
this._name = name;
this._debugServiceProxy.$setDebugSessionName(this._id, name);
}
public get parentSession(): vscode.DebugSession | undefined {
return this._parentSession;
}
_acceptNameChanged(name: string) {
this._name = name;
}