提交 2808feea 编写于 作者: A Andre Weinand

cleanup names for debug adapter factories

上级 8e341e0c
......@@ -168,6 +168,7 @@ export class MainThreadDebugService implements MainThreadDebugServiceShape, IDeb
};
}
if (hasProvideDebugAdapter) {
console.info('DebugConfigurationProvider.debugAdapterExecutable is deprecated and will be removed soon; please use DebugAdapterDescriptorFactory.createDebugAdapterDescriptor instead.');
provider.debugAdapterExecutable = (folder) => {
return Promise.resolve(this._proxy.$legacyDebugAdapterExecutable(handle, folder));
};
......
......@@ -609,7 +609,7 @@ export interface IConfigurationManager {
unregisterDebugAdapterTrackerFactory(debugAdapterTrackerFactory: IDebugAdapterTrackerFactory): void;
resolveConfigurationByProviders(folderUri: uri | undefined, type: string | undefined, debugConfiguration: any): Promise<any>;
provideDebugAdapter(session: IDebugSession): Promise<IAdapterDescriptor | undefined>;
getDebugAdapterDescriptor(session: IDebugSession): Promise<IAdapterDescriptor | undefined>;
registerDebugAdapterFactory(debugTypes: string[], debugAdapterFactory: IDebugAdapterFactory): IDisposable;
createDebugAdapter(session: IDebugSession): IDebugAdapter;
......
......@@ -49,7 +49,7 @@ export class ConfigurationManager implements IConfigurationManager {
private toDispose: IDisposable[];
private _onDidSelectConfigurationName = new Emitter<void>();
private configProviders: IDebugConfigurationProvider[];
private adapterProviders: IDebugAdapterDescriptorFactory[];
private adapterDescriptorFactories: IDebugAdapterDescriptorFactory[];
private adapterTrackerFactories: IDebugAdapterTrackerFactory[];
private debugAdapterFactories: Map<string, IDebugAdapterFactory>;
private terminalLauncher: ITerminalLauncher;
......@@ -68,7 +68,7 @@ export class ConfigurationManager implements IConfigurationManager {
@IContextKeyService contextKeyService: IContextKeyService
) {
this.configProviders = [];
this.adapterProviders = [];
this.adapterDescriptorFactories = [];
this.adapterTrackerFactories = [];
this.debuggers = [];
this.toDispose = [];
......@@ -124,7 +124,7 @@ export class ConfigurationManager implements IConfigurationManager {
// debug adapter
public registerDebugAdapterDescriptorFactory(debugAdapterProvider: IDebugAdapterDescriptorFactory): IDisposable {
this.adapterProviders.push(debugAdapterProvider);
this.adapterDescriptorFactories.push(debugAdapterProvider);
return {
dispose: () => {
this.unregisterDebugAdapterDescriptorFactory(debugAdapterProvider);
......@@ -133,13 +133,13 @@ export class ConfigurationManager implements IConfigurationManager {
}
public unregisterDebugAdapterDescriptorFactory(debugAdapterProvider: IDebugAdapterDescriptorFactory): void {
const ix = this.adapterProviders.indexOf(debugAdapterProvider);
const ix = this.adapterDescriptorFactories.indexOf(debugAdapterProvider);
if (ix >= 0) {
this.configProviders.splice(ix, 1);
this.adapterDescriptorFactories.splice(ix, 1);
}
}
public provideDebugAdapter(session: IDebugSession): Promise<IAdapterDescriptor | undefined> {
public getDebugAdapterDescriptor(session: IDebugSession): Promise<IAdapterDescriptor | undefined> {
const config = session.configuration;
......@@ -151,8 +151,8 @@ export class ConfigurationManager implements IConfigurationManager {
// TODO@AW handle n > 1 case
}
// try new proposed API
const providers = this.adapterProviders.filter(p => p.type === config.type && p.createDebugAdapterDescriptor);
// new API
const providers = this.adapterDescriptorFactories.filter(p => p.type === config.type && p.createDebugAdapterDescriptor);
if (providers.length === 1) {
return providers[0].createDebugAdapterDescriptor(session);
} else {
......@@ -175,7 +175,7 @@ export class ConfigurationManager implements IConfigurationManager {
public unregisterDebugAdapterTrackerFactory(debugAdapterTrackerFactory: IDebugAdapterTrackerFactory): void {
const ix = this.adapterTrackerFactories.indexOf(debugAdapterTrackerFactory);
if (ix >= 0) {
this.configProviders.splice(ix, 1);
this.adapterTrackerFactories.splice(ix, 1);
}
}
......
......@@ -85,11 +85,10 @@ export class Debugger implements IDebugger {
});
}
// try the proposed and the deprecated "provideDebugAdapter" API
return this.configurationManager.provideDebugAdapter(session).then(adapter => {
// try the new "createDebugAdapterDescriptor" and the deprecated "provideDebugAdapter" API
return this.configurationManager.getDebugAdapterDescriptor(session).then(adapter => {
if (adapter) {
console.info('DebugConfigurationProvider.debugAdapterExecutable is deprecated and will be removed soon; please use DebugAdapterDescriptorFactory.createDebugAdapterDescriptor instead.');
return adapter;
}
......
......@@ -117,7 +117,7 @@ suite('Debug - Debugger', () => {
const configurationManager = <IConfigurationManager>{
provideDebugAdapter(session: IDebugSession, config: IConfig): Promise<IDebugAdapterExecutable | undefined> {
getDebugAdapterDescriptor(session: IDebugSession, config: IConfig): Promise<IDebugAdapterExecutable | undefined> {
return Promise.resolve(undefined);
}
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册