[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 =
|
public fun Project.mergeDeclarationProviders(declarationProviders: List<KotlinDeclarationProvider>): KotlinDeclarationProvider =
|
||||||
KotlinDeclarationProviderMerger.getInstance(this).merge(declarationProviders)
|
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 =
|
override fun merge(providers: List<KotlinDeclarationProvider>): KotlinDeclarationProvider =
|
||||||
providers.mergeSpecificProviders<_, KotlinStaticDeclarationProvider>(CompositeKotlinDeclarationProvider.factory) { targetProviders ->
|
providers.mergeSpecificProviders<_, KotlinStaticDeclarationProvider>(CompositeKotlinDeclarationProvider.factory) { targetProviders ->
|
||||||
val combinedScope = GlobalSearchScope.union(targetProviders.map { it.scope })
|
val combinedScope = GlobalSearchScope.union(targetProviders.map { it.scope })
|
||||||
project.createDeclarationProvider(combinedScope, module = null).apply {
|
project.createDeclarationProvider(combinedScope, contextualModule = null).apply {
|
||||||
check(this is KotlinStaticDeclarationProvider) {
|
check(this is KotlinStaticDeclarationProvider) {
|
||||||
"`KotlinStaticDeclarationProvider` can only be merged into a combined declaration provider of the same type."
|
"`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(
|
override fun findClassOrObjectDeclarationsInPackage(
|
||||||
packageFqName: FqName,
|
packageFqName: FqName,
|
||||||
searchScope: GlobalSearchScope
|
searchScope: GlobalSearchScope
|
||||||
): Collection<KtClassOrObject> = project.createDeclarationProvider(searchScope, module = null).run {
|
): Collection<KtClassOrObject> = project.createDeclarationProvider(searchScope, contextualModule = null).run {
|
||||||
getTopLevelKotlinClassLikeDeclarationNamesInPackage(packageFqName).flatMap {
|
getTopLevelKotlinClassLikeDeclarationNamesInPackage(packageFqName).flatMap {
|
||||||
getAllClassesByClassId(ClassId.topLevel(packageFqName.child(it)))
|
getAllClassesByClassId(ClassId.topLevel(packageFqName.child(it)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun findFilesForPackage(packageFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> = buildSet {
|
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) {
|
findClassOrObjectDeclarationsInPackage(packageFqName, searchScope).mapTo(this) {
|
||||||
it.containingKtFile
|
it.containingKtFile
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun findFilesForFacadeByPackage(packageFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> {
|
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> {
|
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> {
|
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> =
|
override fun findClassOrObjectDeclarations(fqName: FqName, searchScope: GlobalSearchScope): Collection<KtClassOrObject> =
|
||||||
fqName.toClassIdSequence().flatMap {
|
fqName.toClassIdSequence().flatMap {
|
||||||
project.createDeclarationProvider(searchScope, module = null).getAllClassesByClassId(it)
|
project.createDeclarationProvider(searchScope, contextualModule = null).getAllClassesByClassId(it)
|
||||||
}
|
}
|
||||||
.filter { it.isFromSourceOrLibraryBinary() }
|
.filter { it.isFromSourceOrLibraryBinary() }
|
||||||
.toSet()
|
.toSet()
|
||||||
@@ -175,7 +175,7 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun findFilesForFacade(facadeFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> {
|
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)
|
override fun getFakeLightClass(classOrObject: KtClassOrObject): KtFakeLightClass = SymbolBasedFakeLightClass(classOrObject)
|
||||||
|
|||||||
Reference in New Issue
Block a user