Rename TypeDefinitionProvider to TypeImplementationProvider (#19101)

* Rename TypeDefinitionProvider to TypeImeplementationProvider

**bug**
In #18346, I originally called the new go to implementation provider api `ImplementationProvider` which we then decided to rename to `TypeDefinitionProvider`. At the time, I didn't realize that a type definition was actually its own, unrelated concept.

**Fix**
Rename `TypeDefinitionProvider` to `TypeImplementationProvider` to make it clear what the purpose and use of this api is.

* Fix a few names in comments
This commit is contained in:
Matt Bierner
2017-01-23 16:25:37 -08:00
committed by GitHub
parent 779700d709
commit 20f3a9f11b
16 changed files with 60 additions and 60 deletions

View File

@@ -125,17 +125,17 @@ class DefinitionAdapter {
class ImplementationAdapter {
private _documents: ExtHostDocuments;
private _provider: vscode.TypeDefinitionProvider;
private _provider: vscode.TypeImplementationProvider;
constructor(documents: ExtHostDocuments, provider: vscode.TypeDefinitionProvider) {
constructor(documents: ExtHostDocuments, provider: vscode.TypeImplementationProvider) {
this._documents = documents;
this._provider = provider;
}
provideTypeDefinition(resource: URI, position: IPosition): TPromise<modes.Definition> {
provideTypeImplementation(resource: URI, position: IPosition): TPromise<modes.Definition> {
let doc = this._documents.getDocumentData(resource).document;
let pos = TypeConverters.toPosition(position);
return asWinJsPromise(token => this._provider.provideTypeDefinition(doc, pos, token)).then(value => {
return asWinJsPromise(token => this._provider.provideTypeImplementation(doc, pos, token)).then(value => {
if (Array.isArray(value)) {
return value.map(TypeConverters.location.from);
} else if (value) {
@@ -736,15 +736,15 @@ export class ExtHostLanguageFeatures extends ExtHostLanguageFeaturesShape {
return this._withAdapter(handle, DefinitionAdapter, adapter => adapter.provideDefinition(resource, position));
}
registerTypeDefinitionProvider(selector: vscode.DocumentSelector, provider: vscode.TypeDefinitionProvider): vscode.Disposable {
registerTypeImplementationProvider(selector: vscode.DocumentSelector, provider: vscode.TypeImplementationProvider): vscode.Disposable {
const handle = this._nextHandle();
this._adapter.set(handle, new ImplementationAdapter(this._documents, provider));
this._proxy.$registerImplementationSupport(handle, selector);
return this._createDisposable(handle);
}
$provideTypeDefinition(handle: number, resource: URI, position: IPosition): TPromise<modes.Definition> {
return this._withAdapter(handle, ImplementationAdapter, adapter => adapter.provideTypeDefinition(resource, position));
$provideTypeImplementation(handle: number, resource: URI, position: IPosition): TPromise<modes.Definition> {
return this._withAdapter(handle, ImplementationAdapter, adapter => adapter.provideTypeImplementation(resource, position));
}
// --- extra info