[LL API] Pass contextual modules to 'KotlinDeclarationProvider' factory
^KT-57559 Fixed
This commit is contained in:
+8
-8
@@ -40,25 +40,25 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
override fun findClassOrObjectDeclarationsInPackage(
|
||||
packageFqName: FqName,
|
||||
searchScope: GlobalSearchScope
|
||||
): Collection<KtClassOrObject> = project.createDeclarationProvider(searchScope).run {
|
||||
): Collection<KtClassOrObject> = project.createDeclarationProvider(searchScope, module = 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).findFilesForFacadeByPackage(packageFqName))
|
||||
addAll(project.createDeclarationProvider(searchScope, module = null).findFilesForFacadeByPackage(packageFqName))
|
||||
findClassOrObjectDeclarationsInPackage(packageFqName, searchScope).mapTo(this) {
|
||||
it.containingKtFile
|
||||
}
|
||||
}
|
||||
|
||||
override fun findFilesForFacadeByPackage(packageFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> {
|
||||
return project.createDeclarationProvider(searchScope).findFilesForFacadeByPackage(packageFqName)
|
||||
return project.createDeclarationProvider(searchScope, module = null).findFilesForFacadeByPackage(packageFqName)
|
||||
}
|
||||
|
||||
override fun findFilesForScript(scriptFqName: FqName, searchScope: GlobalSearchScope): Collection<KtScript> {
|
||||
return project.createDeclarationProvider(searchScope).findFilesForScript(scriptFqName)
|
||||
return project.createDeclarationProvider(searchScope, module = null).findFilesForScript(scriptFqName)
|
||||
}
|
||||
|
||||
private fun FqName.toClassIdSequence(): Sequence<ClassId> {
|
||||
@@ -80,9 +80,9 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
|
||||
override fun findClassOrObjectDeclarations(fqName: FqName, searchScope: GlobalSearchScope): Collection<KtClassOrObject> =
|
||||
fqName.toClassIdSequence().flatMap {
|
||||
project.createDeclarationProvider(searchScope).getAllClassesByClassId(it)
|
||||
project.createDeclarationProvider(searchScope, module = null).getAllClassesByClassId(it)
|
||||
}
|
||||
.filter { it.isFromSourceOrLibraryBinary(project) }
|
||||
.filter { it.isFromSourceOrLibraryBinary() }
|
||||
.toSet()
|
||||
|
||||
override fun packageExists(fqName: FqName, scope: GlobalSearchScope): Boolean =
|
||||
@@ -146,7 +146,7 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
override fun facadeIsApplicable(module: KtModule, file: KtFile): Boolean = module.isFromSourceOrLibraryBinary()
|
||||
|
||||
override fun getKotlinInternalClasses(fqName: FqName, scope: GlobalSearchScope): Collection<PsiClass> {
|
||||
val facadeKtFiles = project.createDeclarationProvider(scope).findInternalFilesForFacade(fqName)
|
||||
val facadeKtFiles = project.createDeclarationProvider(scope, null).findInternalFilesForFacade(fqName)
|
||||
if (facadeKtFiles.isEmpty()) return emptyList()
|
||||
|
||||
val partShortName = fqName.shortName().asString()
|
||||
@@ -171,7 +171,7 @@ class SymbolKotlinAsJavaSupport(project: Project) : KotlinAsJavaSupportBase<KtMo
|
||||
}
|
||||
|
||||
override fun findFilesForFacade(facadeFqName: FqName, searchScope: GlobalSearchScope): Collection<KtFile> {
|
||||
return project.createDeclarationProvider(searchScope).findFilesForFacade(facadeFqName)
|
||||
return project.createDeclarationProvider(searchScope, module = null).findFilesForFacade(facadeFqName)
|
||||
}
|
||||
|
||||
override fun getFakeLightClass(classOrObject: KtClassOrObject): KtFakeLightClass = SymbolBasedFakeLightClass(classOrObject)
|
||||
|
||||
Reference in New Issue
Block a user