use heapService for workspace symbol provider, #11455

This commit is contained in:
Johannes Rieken
2016-09-13 11:25:53 +02:00
parent cf922621a4
commit 42f0109569
2 changed files with 25 additions and 27 deletions

View File

@@ -155,7 +155,12 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
$registerNavigateTypeSupport(handle: number): TPromise<any> {
this._registrations[handle] = WorkspaceSymbolProviderRegistry.register(<IWorkspaceSymbolProvider>{
provideWorkspaceSymbols: (search: string): TPromise<IWorkspaceSymbol[]> => {
return this._proxy.$provideWorkspaceSymbols(handle, search);
return this._proxy.$provideWorkspaceSymbols(handle, search).then(result => {
for (const item of result) {
trackGarbageCollection(item, ObjectIdentifier.get(item));
}
return result;
});
},
resolveWorkspaceSymbol: (item: IWorkspaceSymbol): TPromise<IWorkspaceSymbol> => {
return this._proxy.$resolveWorkspaceSymbol(handle, item);