diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/FirIdeSessionFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/FirIdeSessionFactory.kt index bb519210aaf..8b2eddd08e7 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/FirIdeSessionFactory.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/FirIdeSessionFactory.kt @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.caches.FirCachesFactory import org.jetbrains.kotlin.fir.checkers.registerExtendedCommonCheckers import org.jetbrains.kotlin.fir.declarations.SealedClassInheritorsProvider import org.jetbrains.kotlin.fir.deserialization.ModuleDataProvider -import org.jetbrains.kotlin.fir.java.JavaClassConverter +import org.jetbrains.kotlin.fir.java.FirJavaFacade import org.jetbrains.kotlin.fir.java.JavaSymbolProvider import org.jetbrains.kotlin.fir.java.deserialization.KotlinDeserializedJvmSymbolsProvider import org.jetbrains.kotlin.fir.resolve.providers.FirDependenciesSymbolProvider @@ -141,7 +141,7 @@ internal object FirIdeSessionFactory { provider.symbolProvider, JavaSymbolProvider( this, - JavaClassConverter( + FirJavaFacade( this, moduleData, project.createJavaClassFinder(contentScope) ) ), @@ -190,7 +190,7 @@ internal object FirIdeSessionFactory { kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped), packagePartProvider = project.createPackagePartProviderForLibrary(searchScope), kotlinClassFinder = VirtualFileFinderFactory.getInstance(project).create(searchScope), - javaClassConverter = JavaClassConverter( + javaFacade = FirJavaFacade( this@session, mainModuleData, project.createJavaClassFinder(searchScope) ) ) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/PsiBasedProjectEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/PsiBasedProjectEnvironment.kt index 894c424b550..0b800bb4e3c 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/PsiBasedProjectEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/PsiBasedProjectEnvironment.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.asJava.finder.JavaElementFinder import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.java.FirJavaElementFinder -import org.jetbrains.kotlin.fir.java.JavaClassConverter +import org.jetbrains.kotlin.fir.java.FirJavaFacade import org.jetbrains.kotlin.fir.session.environment.AbstractProjectEnvironment import org.jetbrains.kotlin.fir.session.environment.AbstractProjectFileSearchScope import org.jetbrains.kotlin.load.java.createJavaClassFinder @@ -90,11 +90,11 @@ class PsiBasedProjectEnvironment( override fun getSearchScopeForProjectJavaSources(): AbstractProjectFileSearchScope = PsiBasedProjectFileSearchScope(TopDownAnalyzerFacadeForJVM.AllJavaSourcesInProjectScope(project)) - override fun getJavaClassConverter( + override fun getFirJavaFacade( firSession: FirSession, baseModuleData: FirModuleData, fileSearchScope: AbstractProjectFileSearchScope - ) = JavaClassConverter(firSession, baseModuleData, project.createJavaClassFinder(fileSearchScope.asPsiSearchScope())) + ) = FirJavaFacade(firSession, baseModuleData, project.createJavaClassFinder(fileSearchScope.asPsiSearchScope())) } private fun AbstractProjectFileSearchScope.asPsiSearchScope() = diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt index 8b057e3af2a..193408f990c 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirRepeatableAnnotationChecker.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.analysis.jvm.checkers.isJvm6 import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.classId import org.jetbrains.kotlin.fir.expressions.* -import org.jetbrains.kotlin.fir.java.JavaClassConverter +import org.jetbrains.kotlin.fir.java.FirJavaFacade import org.jetbrains.kotlin.fir.languageVersionSettings import org.jetbrains.kotlin.fir.resolve.defaultType import org.jetbrains.kotlin.fir.resolve.symbolProvider diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt index 582d962c9f2..0f5b8c3e3fc 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt @@ -153,7 +153,7 @@ object FirSessionFactory { kotlinScopeProvider, it.packagePartProvider, projectEnvironment.getKotlinClassFinder(it.scope), - projectEnvironment.getJavaClassConverter(this, moduleData, it.scope), + projectEnvironment.getFirJavaFacade(this, moduleData, it.scope), ) } @@ -165,7 +165,7 @@ object FirSessionFactory { listOfNotNull( firProvider.symbolProvider, symbolProviderForBinariesFromIncrementalCompilation, - JavaSymbolProvider(this, projectEnvironment.getJavaClassConverter(this, moduleData, scope)), + JavaSymbolProvider(this, projectEnvironment.getFirJavaFacade(this, moduleData, scope)), dependenciesSymbolProvider, ) ) @@ -213,7 +213,7 @@ object FirSessionFactory { kotlinScopeProvider, packagePartProvider, projectEnvironment.getKotlinClassFinder(scope), - projectEnvironment.getJavaClassConverter(this, moduleDataProvider.allModuleData.last(), scope) + projectEnvironment.getFirJavaFacade(this, moduleDataProvider.allModuleData.last(), scope) ) val builtinsModuleData = createModuleDataForBuiltins( diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/environment/AbstractProjectEnvironment.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/environment/AbstractProjectEnvironment.kt index 908eb41fa45..3b071f61b07 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/environment/AbstractProjectEnvironment.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/environment/AbstractProjectEnvironment.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.session.environment import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.java.JavaClassConverter +import org.jetbrains.kotlin.fir.java.FirJavaFacade import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder import org.jetbrains.kotlin.load.kotlin.PackagePartProvider import org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleResolver @@ -53,9 +53,9 @@ interface AbstractProjectEnvironment { fun getSearchScopeForProjectJavaSources(): AbstractProjectFileSearchScope - fun getJavaClassConverter( + fun getFirJavaFacade( firSession: FirSession, baseModuleData: FirModuleData, fileSearchScope: AbstractProjectFileSearchScope - ): JavaClassConverter + ): FirJavaFacade } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaClassConverter.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaFacade.kt similarity index 99% rename from compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaClassConverter.kt rename to compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaFacade.kt index 25afc6333b7..69baec415dc 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaClassConverter.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaFacade.kt @@ -46,7 +46,7 @@ import org.jetbrains.kotlin.types.Variance.INVARIANT import org.jetbrains.kotlin.util.OperatorNameConventions @ThreadSafeMutableState -class JavaClassConverter( +class FirJavaFacade( private val session: FirSession, private val baseModuleData: FirModuleData, private val classFinder: JavaClassFinder diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt index 5efebdbc57a..19d46447633 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt @@ -24,28 +24,28 @@ import org.jetbrains.kotlin.name.Name // in order to load Kotlin classes as well. class JavaSymbolProvider( session: FirSession, - private val javaClassConverter: JavaClassConverter, + private val javaFacade: FirJavaFacade, ) : FirSymbolProvider(session) { private val classCache = session.firCachesFactory.createCacheWithPostCompute( createValue = { classId: ClassId, parentClassSymbol: FirRegularClassSymbol? -> - javaClassConverter.findClass(classId)?.let { FirRegularClassSymbol(classId) to (it to parentClassSymbol) } + javaFacade.findClass(classId)?.let { FirRegularClassSymbol(classId) to (it to parentClassSymbol) } ?: null to (null to null) }, postCompute = { _, classSymbol, (javaClass, parentClassSymbol) -> if (classSymbol != null && javaClass != null) { - javaClassConverter.convertJavaClassToFir(classSymbol, parentClassSymbol, javaClass) + javaFacade.convertJavaClassToFir(classSymbol, parentClassSymbol, javaClass) } } ) override fun getPackage(fqName: FqName): FqName? = - javaClassConverter.getPackage(fqName) + javaFacade.getPackage(fqName) override fun getClassLikeSymbolByClassId(classId: ClassId): FirRegularClassSymbol? = try { - if (javaClassConverter.hasTopLevelClassOf(classId)) getFirJavaClass(classId) else null + if (javaFacade.hasTopLevelClassOf(classId)) getFirJavaClass(classId) else null } catch (e: ProcessCanceledException) { null } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt index f02ccb0ba4c..2f7d002e4a6 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt @@ -12,11 +12,10 @@ import org.jetbrains.kotlin.fir.ThreadSafeMutableState import org.jetbrains.kotlin.fir.declarations.getDeprecationInfos import org.jetbrains.kotlin.fir.deserialization.* import org.jetbrains.kotlin.fir.expressions.FirAnnotation -import org.jetbrains.kotlin.fir.java.JavaClassConverter +import org.jetbrains.kotlin.fir.java.FirJavaFacade import org.jetbrains.kotlin.fir.languageVersionSettings import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol -import org.jetbrains.kotlin.load.java.JavaClassFinder import org.jetbrains.kotlin.load.kotlin.* import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmMetadataVersion @@ -38,14 +37,14 @@ class KotlinDeserializedJvmSymbolsProvider( kotlinScopeProvider: FirKotlinScopeProvider, private val packagePartProvider: PackagePartProvider, private val kotlinClassFinder: KotlinClassFinder, - private val javaClassConverter: JavaClassConverter, + private val javaFacade: FirJavaFacade, ) : AbstractFirDeserializedSymbolsProvider(session, moduleDataProvider, kotlinScopeProvider) { private val annotationsLoader = AnnotationsLoader(session, kotlinClassFinder) override fun computePackagePartsInfos(packageFqName: FqName): List { return packagePartProvider.findPackageParts(packageFqName.asString()).mapNotNull { partName -> val classId = ClassId.topLevel(JvmClassName.byInternalName(partName).fqNameForTopLevelClassMaybeWithDollars) - if (!javaClassConverter.hasTopLevelClassOf(classId)) return@mapNotNull null + if (!javaFacade.hasTopLevelClassOf(classId)) return@mapNotNull null val (kotlinJvmBinaryClass, byteContent) = kotlinClassFinder.findKotlinClassOrContent(classId) as? KotlinClassFinder.Result.KotlinClass ?: return@mapNotNull null @@ -89,18 +88,18 @@ class KotlinDeserializedJvmSymbolsProvider( private fun loadJavaClass(classId: ClassId, content: ByteArray?): ClassMetadataFindResult? { val javaClass = try { - javaClassConverter.findClass(classId, content) ?: return null + javaFacade.findClass(classId, content) ?: return null } catch (e: ProcessCanceledException) { return null } return ClassMetadataFindResult.NoMetadata { symbol -> - javaClassConverter.convertJavaClassToFir(symbol, classId.outerClassId?.let(::getClass), javaClass) + javaFacade.convertJavaClassToFir(symbol, classId.outerClassId?.let(::getClass), javaClass) } } override fun extractClassMetadata(classId: ClassId, parentContext: FirDeserializationContext?): ClassMetadataFindResult? { // Kotlin classes are annotated Java classes, so this check also looks for them. - if (!javaClassConverter.hasTopLevelClassOf(classId)) return null + if (!javaFacade.hasTopLevelClassOf(classId)) return null val result = try { kotlinClassFinder.findKotlinClassOrContent(classId) @@ -128,7 +127,7 @@ class KotlinDeserializedJvmSymbolsProvider( } override fun getPackage(fqName: FqName): FqName? = - javaClassConverter.getPackage(fqName) + javaFacade.getPackage(fqName) private fun loadAnnotationsFromClassFile( kotlinClass: KotlinClassFinder.Result.KotlinClass,