[LL API] Pass contextual modules to 'KotlinDeclarationProvider' factory

^KT-57559 Fixed
This commit is contained in:
Yan Zhulanow
2023-04-18 17:26:43 +09:00
committed by Space Team
parent e9c077220f
commit d3cb41cbab
8 changed files with 26 additions and 23 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.analysis.providers
import com.intellij.openapi.project.Project
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.analysis.project.structure.KtModule
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
@@ -47,9 +48,10 @@ public abstract class KotlinDeclarationProvider {
}
public abstract class KotlinDeclarationProviderFactory {
public abstract fun createDeclarationProvider(searchScope: GlobalSearchScope): KotlinDeclarationProvider
public abstract fun createDeclarationProvider(scope: GlobalSearchScope, contextualModule: KtModule?): KotlinDeclarationProvider
}
public fun Project.createDeclarationProvider(searchScope: GlobalSearchScope): KotlinDeclarationProvider =
this.getService(KotlinDeclarationProviderFactory::class.java)
.createDeclarationProvider(searchScope)
public fun Project.createDeclarationProvider(scope: GlobalSearchScope, module: KtModule?): KotlinDeclarationProvider {
return getService(KotlinDeclarationProviderFactory::class.java)
.createDeclarationProvider(scope, module)
}
@@ -25,6 +25,7 @@ import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.analysis.decompiler.psi.KotlinBuiltInDecompiler
import org.jetbrains.kotlin.analysis.decompiler.stub.file.ClsKotlinBinaryClassCache
import org.jetbrains.kotlin.analysis.decompiler.stub.file.KotlinClsStubBuilder
import org.jetbrains.kotlin.analysis.project.structure.KtModule
import org.jetbrains.kotlin.analysis.providers.KotlinDeclarationProvider
import org.jetbrains.kotlin.analysis.providers.KotlinDeclarationProviderFactory
import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName
@@ -342,8 +343,8 @@ public class KotlinStaticDeclarationProviderFactory(
}
}
override fun createDeclarationProvider(searchScope: GlobalSearchScope): KotlinDeclarationProvider {
return KotlinStaticDeclarationProvider(index, searchScope)
override fun createDeclarationProvider(scope: GlobalSearchScope, contextualModule: KtModule?): KotlinDeclarationProvider {
return KotlinStaticDeclarationProvider(index, scope)
}
}