[AA] createDeclarationProvider: Rename module to contextualModule
^KTIJ-27411
This commit is contained in:
committed by
Space Team
parent
a77349edb4
commit
2ec77822e2
+10
-2
@@ -74,8 +74,16 @@ public abstract class KotlinDeclarationProviderMerger : KotlinComposableProvider
|
||||
}
|
||||
}
|
||||
|
||||
public fun Project.createDeclarationProvider(scope: GlobalSearchScope, module: KtModule?): KotlinDeclarationProvider =
|
||||
KotlinDeclarationProviderFactory.getInstance(this).createDeclarationProvider(scope, module)
|
||||
/**
|
||||
* Creates a [KotlinDeclarationProvider] providing symbols within the given [scope] in the context of the given [contextualModule].
|
||||
*
|
||||
* The contextual module is the [KtModule]
|
||||
*
|
||||
* TODO (marco): Document that `contextualModule` may also be used as a base for calculating the "package name set", in addition to outsider
|
||||
* module stuff. (Not sure how deep into detail we should go here, since it's an implementation detail.)
|
||||
*/
|
||||
public fun Project.createDeclarationProvider(scope: GlobalSearchScope, contextualModule: KtModule?): KotlinDeclarationProvider =
|
||||
KotlinDeclarationProviderFactory.getInstance(this).createDeclarationProvider(scope, contextualModule)
|
||||
|
||||
public fun Project.mergeDeclarationProviders(declarationProviders: List<KotlinDeclarationProvider>): KotlinDeclarationProvider =
|
||||
KotlinDeclarationProviderMerger.getInstance(this).merge(declarationProviders)
|
||||
|
||||
+1
-1
@@ -378,7 +378,7 @@ public class KotlinStaticDeclarationProviderMerger(private val project: Project)
|
||||
override fun merge(providers: List<KotlinDeclarationProvider>): KotlinDeclarationProvider =
|
||||
providers.mergeSpecificProviders<_, KotlinStaticDeclarationProvider>(CompositeKotlinDeclarationProvider.factory) { targetProviders ->
|
||||
val combinedScope = GlobalSearchScope.union(targetProviders.map { it.scope })
|
||||
project.createDeclarationProvider(combinedScope, module = null).apply {
|
||||
project.createDeclarationProvider(combinedScope, contextualModule = null).apply {
|
||||
check(this is KotlinStaticDeclarationProvider) {
|
||||
"`KotlinStaticDeclarationProvider` can only be merged into a combined declaration provider of the same type."
|
||||
}
|
||||
|
||||
+6
-6
@@ -47,25 +47,25 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
override fun findClassOrObjectDeclarationsInPackage(
|
||||
packageFqName: FqName,
|
||||
searchScope: GlobalSearchScope
|
||||
): Collection<KtClassOrObject> = project.createDeclarationProvider(searchScope, module = null).run {
|
||||
): Collection<KtClassOrObject> = project.createDeclarationProvider(searchScope, contextualModule = null).run {
|
||||
getTopLevelKotlinClassLikeDeclarationNamesInPackage(packageFqName).flatMap {
|
||||
getAllClassesByClassId(ClassId.topLevel(packageFqName.child(it)))
|
||||
}
|
||||
}
|
||||
|
||||
override fun findFilesForPackage(packageFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> = buildSet {
|
||||
addAll(project.createDeclarationProvider(searchScope, module = null).findFilesForFacadeByPackage(packageFqName))
|
||||
addAll(project.createDeclarationProvider(searchScope, contextualModule = null).findFilesForFacadeByPackage(packageFqName))
|
||||
findClassOrObjectDeclarationsInPackage(packageFqName, searchScope).mapTo(this) {
|
||||
it.containingKtFile
|
||||
}
|
||||
}
|
||||
|
||||
override fun findFilesForFacadeByPackage(packageFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> {
|
||||
return project.createDeclarationProvider(searchScope, module = null).findFilesForFacadeByPackage(packageFqName)
|
||||
return project.createDeclarationProvider(searchScope, contextualModule = null).findFilesForFacadeByPackage(packageFqName)
|
||||
}
|
||||
|
||||
override fun findFilesForScript(scriptFqName: FqName, searchScope: GlobalSearchScope): Collection<KtScript> {
|
||||
return project.createDeclarationProvider(searchScope, module = null).findFilesForScript(scriptFqName)
|
||||
return project.createDeclarationProvider(searchScope, contextualModule = null).findFilesForScript(scriptFqName)
|
||||
}
|
||||
|
||||
private fun FqName.toClassIdSequence(): Sequence<ClassId> {
|
||||
@@ -87,7 +87,7 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
|
||||
override fun findClassOrObjectDeclarations(fqName: FqName, searchScope: GlobalSearchScope): Collection<KtClassOrObject> =
|
||||
fqName.toClassIdSequence().flatMap {
|
||||
project.createDeclarationProvider(searchScope, module = null).getAllClassesByClassId(it)
|
||||
project.createDeclarationProvider(searchScope, contextualModule = null).getAllClassesByClassId(it)
|
||||
}
|
||||
.filter { it.isFromSourceOrLibraryBinary() }
|
||||
.toSet()
|
||||
@@ -175,7 +175,7 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
}
|
||||
|
||||
override fun findFilesForFacade(facadeFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> {
|
||||
return project.createDeclarationProvider(searchScope, module = null).findFilesForFacade(facadeFqName)
|
||||
return project.createDeclarationProvider(searchScope, contextualModule = null).findFilesForFacade(facadeFqName)
|
||||
}
|
||||
|
||||
override fun getFakeLightClass(classOrObject: KtClassOrObject): KtFakeLightClass = SymbolBasedFakeLightClass(classOrObject)
|
||||
|
||||
Reference in New Issue
Block a user