[FIR] Make internal declarations from dependsOn dependent modules visible

This commit is contained in:
Dmitriy Novozhilov
2022-02-10 15:16:09 +03:00
committed by teamcity
parent ab1ff7baf5
commit 6105271d41
6 changed files with 47 additions and 3 deletions
@@ -33,8 +33,13 @@ abstract class FirModuleVisibilityChecker : FirSessionComponent {
class Standard(val session: FirSession) : FirModuleVisibilityChecker() {
override fun isInFriendModule(declaration: FirMemberDeclaration): Boolean {
val useSiteModuleData = session.moduleData
val declarationModuleData = declaration.moduleData
return useSiteModuleData == declarationModuleData || declarationModuleData in useSiteModuleData.friendDependencies
return when (declaration.moduleData) {
useSiteModuleData,
in useSiteModuleData.friendDependencies,
in useSiteModuleData.dependsOnDependencies -> true
else -> false
}
}
}
}
@@ -477,4 +482,4 @@ fun FirBasedSymbol<*>.getOwnerLookupTag(): ConeClassLikeLookupTag? {
fun FirBasedSymbol<*>.isVariableOrNamedFunction(): Boolean {
return this is FirVariableSymbol || this is FirNamedFunctionSymbol || this is FirPropertyAccessorSymbol
}
}