From 466296bca0a3b0e4043bd6b754536e29906369ef Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 25 Mar 2019 14:46:07 +0300 Subject: [PATCH] Remove FirLibrarySymbolProviderImpl from FirJavaModuleBasedSession It's anyway already being created within dependencies --- .../fir/java/FirJavaModuleBasedSession.kt | 3 +-- .../fir/deserialization/FirTypeDeserializer.kt | 5 +---- .../impl/FirLibrarySymbolProviderImpl.kt | 17 +++++++++++------ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaModuleBasedSession.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaModuleBasedSession.kt index 14a11229e1f..5d25552f6fc 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaModuleBasedSession.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaModuleBasedSession.kt @@ -27,7 +27,6 @@ class FirJavaModuleBasedSession( listOf( service(), JavaSymbolProvider(this, sessionProvider.project, scope), - FirLibrarySymbolProviderImpl(this), dependenciesProvider ?: FirDependenciesSymbolProviderImpl(this) ) ) @@ -61,4 +60,4 @@ class FirProjectSessionProvider(val project: Project) : FirSessionProvider { } val sessionCache = mutableMapOf() -} \ No newline at end of file +} diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt index 1aada507fc9..b983ccd3c9d 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt @@ -5,9 +5,8 @@ package org.jetbrains.kotlin.fir.deserialization -import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider -import org.jetbrains.kotlin.fir.symbols.* import org.jetbrains.kotlin.fir.resolve.toTypeProjection +import org.jetbrains.kotlin.fir.symbols.* import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol import org.jetbrains.kotlin.fir.types.* @@ -18,13 +17,11 @@ import org.jetbrains.kotlin.metadata.deserialization.* import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags import org.jetbrains.kotlin.serialization.deserialization.getClassId import org.jetbrains.kotlin.serialization.deserialization.getName -import java.lang.RuntimeException import java.util.* class FirTypeDeserializer( val nameResolver: NameResolver, val typeTable: TypeTable, - val symbolProvider: FirSymbolProvider, typeParameterProtos: List, val parent: FirTypeDeserializer? ) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt index e531ce5e231..63a5728eaa1 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt @@ -7,14 +7,20 @@ package org.jetbrains.kotlin.fir.resolve.impl import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor -import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.descriptors.ClassKind +import org.jetbrains.kotlin.descriptors.Modality +import org.jetbrains.kotlin.descriptors.SourceElement +import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.impl.FirClassImpl import org.jetbrains.kotlin.fir.declarations.impl.FirTypeParameterImpl import org.jetbrains.kotlin.fir.deserialization.FirTypeDeserializer import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.getOrPut -import org.jetbrains.kotlin.fir.symbols.* +import org.jetbrains.kotlin.fir.symbols.CallableId +import org.jetbrains.kotlin.fir.symbols.ConeCallableSymbol +import org.jetbrains.kotlin.fir.symbols.ConeClassLikeSymbol +import org.jetbrains.kotlin.fir.symbols.ConeClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl @@ -73,7 +79,7 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider return firSymbol } - fun getClassLikeSymbolByFqName(classId: ClassId, provider: FirSymbolProvider): ConeClassLikeSymbol? { + fun getClassLikeSymbolByFqName(classId: ClassId): ConeClassLikeSymbol? { if (classId !in classDataFinder.allClassIds) return null return lookup.getOrPut(classId, { FirClassSymbol(classId) }) { symbol -> @@ -101,7 +107,6 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider val typeDeserializer = FirTypeDeserializer( classData.nameResolver, typeTable, - provider, classData.classProto.typeParameterList, null ) @@ -144,7 +149,7 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider override fun getClassLikeSymbolByFqName(classId: ClassId): ConeClassLikeSymbol? { return allPackageFragments[classId.packageFqName]?.firstNotNullResult { - it.getClassLikeSymbolByFqName(classId, this) + it.getClassLikeSymbolByFqName(classId) } ?: with(classId) { val className = relativeClassName.asString() val kind = FunctionClassDescriptor.Kind.byClassNamePrefix(packageFqName, className) ?: return@with null @@ -171,4 +176,4 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider } } } -} \ No newline at end of file +}