[FIR] Rename getClassLikeSymbolFqName to getClassLikeSymbolByClassId

This commit is contained in:
Ivan Kochurkin
2021-09-07 18:28:19 +03:00
committed by TeamCityServer
parent 69a13a3269
commit ee37768808
57 changed files with 76 additions and 76 deletions
@@ -42,7 +42,7 @@ abstract class AbstractFirLoadBinariesTest : AbstractFirResolveWithSessionTestCa
}
for (name in declarationNames) {
val classLikeSymbol = provider.getClassLikeSymbolByFqName(ClassId.topLevel(packageFqName.child(name))) ?: continue
val classLikeSymbol = provider.getClassLikeSymbolByClassId(ClassId.topLevel(packageFqName.child(name))) ?: continue
classLikeSymbol.fir.accept(firRenderer)
builder.appendLine()
}
@@ -148,7 +148,7 @@ abstract class AbstractFirTypeEnhancementTest : KtUsefulTestCase() {
val processedJavaClasses = mutableSetOf<FirJavaClass>()
fun processClassWithChildren(psiClass: PsiClass, parentFqName: FqName) {
val classId = psiClass.classId(parentFqName)
val javaClass = javaProvider.getClassLikeSymbolByFqName(classId)?.fir
val javaClass = javaProvider.getClassLikeSymbolByClassId(classId)?.fir
?: throw AssertionError(classId.asString())
if (javaClass !is FirJavaClass || javaClass in processedJavaClasses) {
return
@@ -32,7 +32,7 @@ object FirInterfaceDefaultMethodCallChecker : FirQualifiedAccessExpressionChecke
val symbol = expression.calleeReference.toResolvedCallableSymbol()
val classId = symbol?.callableId?.classId ?: return
if (classId.isLocal) return
val typeSymbol = context.session.symbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol ?: return
val typeSymbol = context.session.symbolProvider.getClassLikeSymbolByClassId(classId) as? FirRegularClassSymbol ?: return
if (!supportsDefaults &&
symbol.isStatic &&
@@ -117,7 +117,7 @@ fun checkRepeatedAnnotation(
fun FirAnnotationCall.isRepeatable(session: FirSession): Boolean {
val annotationClassId = this.toAnnotationClassId() ?: return false
if (annotationClassId.isLocal) return false
val annotationClass = session.symbolProvider.getClassLikeSymbolByFqName(annotationClassId) ?: return false
val annotationClass = session.symbolProvider.getClassLikeSymbolByClassId(annotationClassId) ?: return false
return annotationClass.containsRepeatableAnnotation(session)
}
@@ -132,7 +132,7 @@ fun FirBasedSymbol<*>.getContainingClassSymbol(session: FirSession): FirClassLik
fun FirClassLikeSymbol<*>.outerClassSymbol(context: CheckerContext): FirClassLikeSymbol<*>? {
if (this !is FirClassSymbol<*>) return null
val outerClassId = classId.outerClassId ?: return null
return context.session.symbolProvider.getClassLikeSymbolByFqName(outerClassId)
return context.session.symbolProvider.getClassLikeSymbolByClassId(outerClassId)
}
/**
@@ -85,7 +85,7 @@ private fun FirAnnotatedDeclaration.getOwnSinceKotlinVersion(session: FirSession
if (this is FirConstructor) {
val classId = symbol.callableId.classId
if (classId != null) {
val classSymbol = session.symbolProvider.getClassLikeSymbolByFqName(classId)
val classSymbol = session.symbolProvider.getClassLikeSymbolByClassId(classId)
classSymbol?.consider()
}
}
@@ -47,10 +47,10 @@ object FirExpectActualResolver {
var actualContainingClass: FirRegularClassSymbol? = null
val candidates = when {
classId != null -> {
expectContainingClass = useSiteSession.dependenciesSymbolProvider.getClassLikeSymbolByFqName(classId)?.let {
expectContainingClass = useSiteSession.dependenciesSymbolProvider.getClassLikeSymbolByClassId(classId)?.let {
it.fullyExpandedClass(it.moduleData.session)
}
actualContainingClass = useSiteSession.symbolProvider.getClassLikeSymbolByFqName(classId)
actualContainingClass = useSiteSession.symbolProvider.getClassLikeSymbolByClassId(classId)
?.fullyExpandedClass(useSiteSession)
val expectTypeParameters = expectContainingClass?.typeParameterSymbols.orEmpty()
@@ -87,7 +87,7 @@ object FirExpectActualResolver {
}
is FirClassLikeSymbol<*> -> {
val expectClassSymbol = useSiteSession.dependenciesSymbolProvider
.getClassLikeSymbolByFqName(actualSymbol.classId) as? FirRegularClassSymbol ?: return null
.getClassLikeSymbolByClassId(actualSymbol.classId) as? FirRegularClassSymbol ?: return null
val compatibility = areCompatibleClassifiers(expectClassSymbol, actualSymbol, useSiteSession, scopeSession)
mapOf(compatibility to listOf(expectClassSymbol))
}
@@ -134,7 +134,7 @@ object FirImportsChecker : FirFileChecker() {
}
private fun ClassId.resolveToClass(context: CheckerContext): FirRegularClassSymbol? {
val classSymbol = context.session.symbolProvider.getClassLikeSymbolByFqName(this) ?: return null
val classSymbol = context.session.symbolProvider.getClassLikeSymbolByClassId(this) ?: return null
return when (classSymbol) {
is FirRegularClassSymbol -> classSymbol
is FirTypeAliasSymbol -> classSymbol.fullyExpandedClass(context.session)
@@ -39,7 +39,7 @@ object FirSealedSupertypeChecker : FirClassChecker() {
continue
}
val superClass = context.session.symbolProvider.getClassLikeSymbolByFqName(superClassId) as? FirRegularClassSymbol ?: continue
val superClass = context.session.symbolProvider.getClassLikeSymbolByClassId(superClassId) as? FirRegularClassSymbol ?: continue
if (!superClass.isSealed) continue
if (superClass.origin == FirDeclarationOrigin.Java) {
@@ -65,7 +65,7 @@ object FirSealedSupertypeChecker : FirClassChecker() {
continue
}
val classSymbol = context.session.symbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol ?: continue
val classSymbol = context.session.symbolProvider.getClassLikeSymbolByClassId(classId) as? FirRegularClassSymbol ?: continue
if (classSymbol.modality == Modality.SEALED) {
reporter.reportOn(it.source, FirErrors.SEALED_SUPERTYPE_IN_LOCAL_CLASS, context)
@@ -213,7 +213,7 @@ abstract class AbstractFirDeserializedSymbolsProvider(
destination += propertyCache.getValue(CallableId(packageFqName, name))
}
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? {
return getClass(classId) ?: getTypeAlias(classId)
}
@@ -72,9 +72,9 @@ open class FirBuiltinSymbolProvider(
return null
}
override fun getClassLikeSymbolByFqName(classId: ClassId): FirRegularClassSymbol? {
override fun getClassLikeSymbolByClassId(classId: ClassId): FirRegularClassSymbol? {
return allPackageFragments[classId.packageFqName]?.firstNotNullOfOrNull {
it.getClassLikeSymbolByFqName(classId)
it.getClassLikeSymbolByClassId(classId)
} ?: syntheticFunctionalInterfaceCache.tryGetSyntheticFunctionalInterface(classId)
}
@@ -139,7 +139,7 @@ open class FirBuiltinSymbolProvider(
)
}
fun getClassLikeSymbolByFqName(classId: ClassId): FirRegularClassSymbol? =
fun getClassLikeSymbolByClassId(classId: ClassId): FirRegularClassSymbol? =
findAndDeserializeClass(classId)
private fun findAndDeserializeClass(
@@ -964,7 +964,7 @@ class FirElementSerializer private constructor(
): FirElementSerializer {
val parentClassId = klass.symbol.classId.outerClassId
val parent = if (parentClassId != null && !parentClassId.isLocal) {
val parentClass = session.symbolProvider.getClassLikeSymbolByFqName(parentClassId)!!.fir as FirRegularClass
val parentClass = session.symbolProvider.getClassLikeSymbolByClassId(parentClassId)!!.fir as FirRegularClass
parentSerializer ?: create(session, scopeSession, parentClass, extension, null, typeApproximator)
} else {
createTopLevel(session, scopeSession, extension, typeApproximator)
@@ -138,7 +138,7 @@ internal class KClassValue(value: Value) : ConstantValue<KClassValue.Value>(valu
is Value.LocalClass -> return value.type
is Value.NormalClass -> {
val (classId, arrayDimensions) = value.value
val klass = session.symbolProvider.getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass ?: return null
val klass = session.symbolProvider.getClassLikeSymbolByClassId(classId)?.fir as? FirRegularClass ?: return null
var type: ConeKotlinType = klass.defaultType().replaceArgumentsWithStarProjections()
repeat(arrayDimensions) {
type = type.createArrayType()
@@ -19,7 +19,7 @@ class FirJvmBackendClassResolver(val components: Fir2IrComponents) : JvmBackendC
override fun resolveToClassDescriptors(type: Type): List<ClassDescriptor> {
if (type.sort != Type.OBJECT) return emptyList()
val symbol = components.session.symbolProvider.getClassLikeSymbolByFqName(type.classId) ?: return emptyList()
val symbol = components.session.symbolProvider.getClassLikeSymbolByClassId(type.classId) ?: return emptyList()
require(symbol is FirClassSymbol<*>)
return listOf(components.classifierStorage.getIrClassSymbol(symbol).descriptor)
}
@@ -88,7 +88,7 @@ open class FirJvmMangleComputer(
else -> return
}
if (parentClassId != null && !parentClassId.isLocal) {
val parentClassLike = this@FirJvmMangleComputer.session.symbolProvider.getClassLikeSymbolByFqName(parentClassId)?.fir
val parentClassLike = this@FirJvmMangleComputer.session.symbolProvider.getClassLikeSymbolByClassId(parentClassId)?.fir
?: error("Attempt to find parent ($parentClassId) for probably-local declaration!")
if (parentClassLike is FirRegularClass || parentClassLike is FirTypeAlias) {
parentClassLike.accept(this@FirJvmMangleComputer, false)
@@ -108,7 +108,7 @@ class FirJvmTypeMapper(val session: FirSession) : TypeMappingContext<JvmSignatur
private fun ConeClassLikeType.parentClassOrNull(): FirRegularClassSymbol? {
val parentClassId = classId?.outerClassId ?: return null
return session.symbolProvider.getClassLikeSymbolByFqName(parentClassId) as? FirRegularClassSymbol?
return session.symbolProvider.getClassLikeSymbolByClassId(parentClassId) as? FirRegularClassSymbol?
}
private fun ConeClassLikeType.buildPossiblyInnerType(classifier: FirRegularClassSymbol?, index: Int): PossiblyInnerConeType? {
@@ -256,12 +256,12 @@ class ConeTypeSystemCommonBackendContextForTypeMapping(
}
override fun continuationTypeConstructor(): ConeClassLikeLookupTag {
return symbolProvider.getClassLikeSymbolByFqName(StandardClassIds.Continuation)?.toLookupTag()
return symbolProvider.getClassLikeSymbolByClassId(StandardClassIds.Continuation)?.toLookupTag()
?: error("Continuation class not found")
}
override fun functionNTypeConstructor(n: Int): TypeConstructorMarker {
return symbolProvider.getClassLikeSymbolByFqName(StandardClassIds.FunctionN(n))?.toLookupTag()
return symbolProvider.getClassLikeSymbolByClassId(StandardClassIds.FunctionN(n))?.toLookupTag()
?: error("Function$n class not found")
}
}
@@ -38,7 +38,7 @@ class Fir2IrBuiltIns(
flexibleNullabilityAnnotationSymbol?.toConstructorCall()
private fun annotationSymbolById(id: ClassId): IrClassSymbol? =
provider?.getClassSymbolById(id) ?: session.symbolProvider.getClassLikeSymbolByFqName(id)?.toSymbol(
provider?.getClassSymbolById(id) ?: session.symbolProvider.getClassLikeSymbolByClassId(id)?.toSymbol(
session, classifierStorage, ConversionTypeContext.DEFAULT
) as? IrClassSymbol
@@ -449,7 +449,7 @@ class Fir2IrClassifierStorage(
firClass as FirRegularClass
val classId = firClassSymbol.classId
val parentId = classId.outerClassId
val parentClass = parentId?.let { session.symbolProvider.getClassLikeSymbolByFqName(it) }
val parentClass = parentId?.let { session.symbolProvider.getClassLikeSymbolByClassId(it) }
val irParent = declarationStorage.findIrParent(classId.packageFqName, parentClass?.toLookupTag(), firClassSymbol)!!
val symbol = Fir2IrClassSymbol(signature)
val irClass = firClass.convertWithOffsets { startOffset, endOffset ->
@@ -675,7 +675,7 @@ class IrBuiltInsOverFir(
referenceClassByClassId(ClassId(packageName, Name.identifier(identifier)))
private fun referenceClassByClassId(classId: ClassId): IrClassSymbol? {
val firSymbol = components.session.symbolProvider.getClassLikeSymbolByFqName(classId) ?: return null
val firSymbol = components.session.symbolProvider.getClassLikeSymbolByClassId(classId) ?: return null
val firClassSymbol = firSymbol as? FirClassSymbol ?: return null
return components.classifierStorage.getIrClassSymbol(firClassSymbol)
}
@@ -131,7 +131,7 @@ class JavaSymbolProvider(
private fun List<JavaTypeParameter>.convertTypeParameters(stack: JavaTypeParameterStack): List<FirTypeParameter> =
map { it.toFirTypeParameter(stack) }
override fun getClassLikeSymbolByFqName(classId: ClassId): FirRegularClassSymbol? {
override fun getClassLikeSymbolByClassId(classId: ClassId): FirRegularClassSymbol? {
return try {
if (!hasTopLevelClassOf(classId)) return null
getFirJavaClass(classId)
@@ -167,7 +167,7 @@ class JavaSymbolProvider(
val javaTypeParameterStack = JavaTypeParameterStack()
val outerClassId = classId.outerClassId
val parentClassSymbol = if (outerClassId != null) {
getClassLikeSymbolByFqName(outerClassId)
getClassLikeSymbolByClassId(outerClassId)
} else null
@@ -134,7 +134,7 @@ private fun buildArgumentMapping(
if (annotationArguments.none { it.name != null }) {
return null
}
val annotationClassSymbol = session.symbolProvider.getClassLikeSymbolByFqName(lookupTag.classId).also {
val annotationClassSymbol = session.symbolProvider.getClassLikeSymbolByClassId(lookupTag.classId).also {
lookupTag.bindSymbolToLookupTag(session, it)
} ?: return null
val annotationConstructor =
@@ -54,7 +54,7 @@ class FirAnnotationTypeQualifierResolver(
val classId = firClass.symbol.classId
val outerClassId = classId.outerClassId
val parentQualifiers = if (outerClassId != null) {
(session.symbolProvider.getClassLikeSymbolByFqName(outerClassId)?.fir as? FirRegularClass)
(session.symbolProvider.getClassLikeSymbolByClassId(outerClassId)?.fir as? FirRegularClass)
?.let { extractDefaultQualifiers(it) }
} else {
val forModule = javaModuleAnnotationsProvider.getAnnotationsForModuleOwnerOfClass(classId)
@@ -15,6 +15,6 @@ import org.jetbrains.kotlin.fir.declarations.FirRegularClass
class FirJavaClassMapper(private val session: FirSession) : FirPlatformClassMapper() {
override fun getCorrespondingPlatformClass(declaration: FirClassLikeDeclaration): FirRegularClass? {
val javaClassId = JavaToKotlinClassMap.mapKotlinToJava(declaration.symbol.classId.asSingleFqName().toUnsafe())
return javaClassId?.let { session.symbolProvider.getClassLikeSymbolByFqName(it)?.fir } as? FirRegularClass
return javaClassId?.let { session.symbolProvider.getClassLikeSymbolByClassId(it)?.fir } as? FirRegularClass
}
}
@@ -31,7 +31,7 @@ fun wrapScopeWithJvmMapped(
val javaClassId = JavaToKotlinClassMap.mapKotlinToJava(kotlinUnsafeFqName)
?: return declaredMemberScope
val symbolProvider = useSiteSession.symbolProvider
val javaClass = symbolProvider.getClassLikeSymbolByFqName(javaClassId)?.fir as? FirRegularClass
val javaClass = symbolProvider.getClassLikeSymbolByClassId(javaClassId)?.fir as? FirRegularClass
?: return declaredMemberScope
val preparedSignatures = JvmMappedScope.prepareSignatures(javaClass, JavaToKotlinClassMap.isMutable(kotlinUnsafeFqName))
return if (preparedSignatures.isNotEmpty()) {
@@ -24,7 +24,7 @@ class FirOuterClassManager(
val classId = classSymbol.classId
if (classId.isLocal) return outerLocalClassForNested[classSymbol]
val outerClassId = classId.outerClassId ?: return null
return symbolProvider.getClassLikeSymbolByFqName(outerClassId)
return symbolProvider.getClassLikeSymbolByClassId(outerClassId)
}
fun outerType(classLikeType: ConeClassLikeType): ConeClassLikeType? {
@@ -29,7 +29,7 @@ fun ConeClassLikeLookupTag.toSymbol(useSiteSession: FirSession): FirClassLikeSym
val firSymbolProvider = useSiteSession.symbolProvider
(this as? ConeClassLikeLookupTagImpl)?.boundSymbol?.takeIf { it.first === useSiteSession }?.let { return it.second }
return firSymbolProvider.getClassLikeSymbolByFqName(classId).also {
return firSymbolProvider.getClassLikeSymbolByClassId(classId).also {
(this as? ConeClassLikeLookupTagImpl)?.bindSymbolToLookupTag(useSiteSession, it)
}
}
@@ -393,7 +393,7 @@ fun FirAnnotationCall.getCorrespondingClassSymbolOrNull(session: FirSession): Fi
// TODO: How to retrieve local annotaiton's constructor?
null
} else {
(session.symbolProvider.getClassLikeSymbolByFqName(it) as? FirRegularClassSymbol)
(session.symbolProvider.getClassLikeSymbolByClassId(it) as? FirRegularClassSymbol)
}
}
}
@@ -511,7 +511,7 @@ fun FirClassLikeDeclaration.getContainingDeclaration(session: FirSession): FirCl
val parentId = classId.relativeClassName.parent()
if (!parentId.isRoot) {
val containingDeclarationId = ClassId(classId.packageFqName, parentId, false)
return session.symbolProvider.getClassLikeSymbolByFqName(containingDeclarationId)?.fir
return session.symbolProvider.getClassLikeSymbolByClassId(containingDeclarationId)?.fir
}
}
@@ -223,7 +223,7 @@ class ScopeTowerLevel(
private fun dispatchReceiverValue(candidate: FirCallableSymbol<*>): ReceiverValue? {
candidate.fir.importedFromObjectData?.let { data ->
val objectClassId = data.objectClassId
val symbol = session.symbolProvider.getClassLikeSymbolByFqName(objectClassId)
val symbol = session.symbolProvider.getClassLikeSymbolByClassId(objectClassId)
if (symbol is FirRegularClassSymbol) {
val resolvedQualifier = buildResolvedQualifier {
packageFqName = objectClassId.packageFqName
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.name.Name
annotation class FirSymbolProviderInternals
abstract class FirSymbolProvider(val session: FirSession) : FirSessionComponent {
abstract fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>?
abstract fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>?
@OptIn(ExperimentalStdlibApi::class, FirSymbolProviderInternals::class)
open fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): List<FirCallableSymbol<*>> {
@@ -58,7 +58,7 @@ abstract class FirSymbolProvider(val session: FirSession) : FirSessionComponent
abstract class FirDependenciesSymbolProvider(session: FirSession) : FirSymbolProvider(session)
private fun FirSymbolProvider.getClassDeclaredMemberScope(classId: ClassId): FirScope? {
val classSymbol = getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol ?: return null
val classSymbol = getClassLikeSymbolByClassId(classId) as? FirRegularClassSymbol ?: return null
return session.declaredMemberScope(classSymbol.fir)
}
@@ -68,7 +68,7 @@ class FirCloneableSymbolProvider(
}
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? {
return if (classId == CLONEABLE_CLASS_ID) klass.symbol else null
}
@@ -46,7 +46,7 @@ class FirCompositeSymbolProvider(session: FirSession, val providers: List<FirSym
return providers.firstNotNullOfOrNull { it.getPackage(fqName) }
}
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
return providers.firstNotNullOfOrNull { it.getClassLikeSymbolByFqName(classId) }
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? {
return providers.firstNotNullOfOrNull { it.getClassLikeSymbolByClassId(classId) }
}
}
@@ -54,7 +54,7 @@ open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirDependenc
dependencyProviders.firstNotNullOfOrNull { provider -> provider.getPackage(it) }
private fun computeClass(classId: ClassId): FirClassLikeSymbol<*>? =
dependencyProviders.firstNotNullOfOrNull { provider -> provider.getClassLikeSymbolByFqName(classId) }
dependencyProviders.firstNotNullOfOrNull { provider -> provider.getClassLikeSymbolByClassId(classId) }
@FirSymbolProviderInternals
@@ -76,7 +76,7 @@ open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirDependenc
return topLevelCallableCache.getValue(CallableId(packageFqName, name))
}
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? {
return classCache.getValue(classId)
}
@@ -18,7 +18,7 @@ class FirLibrarySessionProvider(
override val symbolProvider: FirSymbolProvider
) : FirProvider() {
override fun getFirClassifierByFqName(classId: ClassId): FirClassLikeDeclaration? =
symbolProvider.getClassLikeSymbolByFqName(classId)?.fir
symbolProvider.getClassLikeSymbolByClassId(classId)?.fir
override fun getFirClassifierContainerFile(fqName: ClassId): FirFile = shouldNotBeCalled()
@@ -51,7 +51,7 @@ class FirProviderImpl(val session: FirSession, val kotlinScopeProvider: FirKotli
}
private inner class SymbolProvider : FirSymbolProvider(session) {
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? {
return getFirClassifierByFqName(classId)?.symbol
}
@@ -26,7 +26,7 @@ class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver()
parts.drop(1).fold(prefix.relativeClassName) { result, suffix -> result.child(suffix.name) },
false
)
return symbolProvider.getClassLikeSymbolByFqName(fqName)
return symbolProvider.getClassLikeSymbolByClassId(fqName)
}
override fun resolveSymbol(parts: List<FirQualifierPart>): FirClassifierSymbol<*>? {
@@ -45,7 +45,7 @@ class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver()
firstPart.removeAt(firstPart.lastIndex)
val fqName = ClassId(firstPart.toFqName(), lastPart.toFqName(), false)
val foundSymbol = firProvider.getClassLikeSymbolByFqName(fqName)
val foundSymbol = firProvider.getClassLikeSymbolByClassId(fqName)
if (foundSymbol != null) {
return foundSymbol
}
@@ -50,7 +50,7 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver() {
private fun resolveBuiltInQualified(id: ClassId, session: FirSession): FirClassLikeSymbol<*> {
val nameInSession = ClassIdInSession(session, id)
return implicitBuiltinTypeSymbols.getOrPut(nameInSession) {
symbolProvider.getClassLikeSymbolByFqName(id)!!
symbolProvider.getClassLikeSymbolByClassId(id)!!
}
}
@@ -107,7 +107,7 @@ fun resolveToPackageOrClass(symbolProvider: FirSymbolProvider, fqName: FqName):
FqName.fromSegments((prefixSize until pathSegments.size).map { pathSegments[it].asString() })
val classId = ClassId(currentPackage, relativeClassFqName, false)
val symbol = symbolProvider.getClassLikeSymbolByFqName(classId) ?: return null
val symbol = symbolProvider.getClassLikeSymbolByClassId(classId) ?: return null
return PackageOrClass(currentPackage, relativeClassFqName, symbol)
}
@@ -511,7 +511,7 @@ class SupertypeComputationSession {
val parentId = classLikeDecl.symbol.classId.relativeClassName.parent()
if (!parentId.isRoot) {
val parentSymbol = session.symbolProvider.getClassLikeSymbolByFqName(ClassId.fromString(parentId.asString()))
val parentSymbol = session.symbolProvider.getClassLikeSymbolByClassId(ClassId.fromString(parentId.asString()))
if (parentSymbol is FirRegularClassSymbol) {
checkIsInLoop(parentSymbol.fir)
}
@@ -384,7 +384,7 @@ private object WhenOnSealedClassExhaustivenessChecker : WhenExhaustivenessChecke
}
when {
fir.modality == Modality.SEALED -> fir.getSealedClassInheritors(session).forEach {
val symbol = session.symbolProvider.getClassLikeSymbolByFqName(it) as? FirRegularClassSymbol
val symbol = session.symbolProvider.getClassLikeSymbolByClassId(it) as? FirRegularClassSymbol
symbol?.collectAllSubclassesTo(destination, session)
}
fir.classKind == ClassKind.ENUM_CLASS -> fir.collectEnumEntries().mapTo(destination) { it.symbol }
@@ -108,7 +108,7 @@ fun FirBlock.writeResultType(session: FirSession) {
fun ConstantValueKind<*>.expectedConeType(session: FirSession): ConeKotlinType {
fun constructLiteralType(classId: ClassId, isNullable: Boolean = false): ConeKotlinType {
val symbol = session.symbolProvider.getClassLikeSymbolByFqName(classId)
val symbol = session.symbolProvider.getClassLikeSymbolByClassId(classId)
?: return ConeClassErrorType(ConeSimpleDiagnostic("Missing stdlib class: $classId", DiagnosticKind.MissingStdlibClass))
return symbol.toLookupTag().constructClassType(emptyArray(), isNullable)
}
@@ -70,7 +70,7 @@ abstract class FirAbstractImportingScope(
}
fun getStaticsScope(classId: ClassId): FirScope? =
provider.getClassLikeSymbolByFqName(classId)?.fullyExpandedSymbol?.getStaticsScope()
provider.getClassLikeSymbolByClassId(classId)?.fullyExpandedSymbol?.getStaticsScope()
protected fun findSingleClassifierSymbolByName(name: Name?, imports: List<FirResolvedImport>): FirClassLikeSymbol<*>? {
var result: FirClassLikeSymbol<*>? = null
@@ -78,7 +78,7 @@ abstract class FirAbstractImportingScope(
val importedName = name ?: import.importedName ?: continue
val classId = import.resolvedClassId?.createNestedClassId(importedName)
?: ClassId.topLevel(import.packageFqName.child(importedName))
val symbol = provider.getClassLikeSymbolByFqName(classId) ?: continue
val symbol = provider.getClassLikeSymbolByClassId(classId) ?: continue
if (!filter.check(symbol, session)) continue
result = when {
result == null || result == symbol -> symbol
@@ -29,7 +29,7 @@ class FirLazyNestedClassifierScope(
return
}
val child = classId.createNestedClassId(name)
val symbol = symbolProvider.getClassLikeSymbolByFqName(child) ?: return
val symbol = symbolProvider.getClassLikeSymbolByClassId(child) ?: return
processor(symbol, ConeSubstitutor.Empty)
}
@@ -36,7 +36,7 @@ class FirPackageMemberScope(
val symbol = classifierCache.getOrPut(name) {
val unambiguousFqName = ClassId(fqName, name)
symbolProvider.getClassLikeSymbolByFqName(unambiguousFqName)
symbolProvider.getClassLikeSymbolByClassId(unambiguousFqName)
}
if (symbol != null) {
@@ -490,7 +490,7 @@ interface ConeInferenceContext : TypeSystemInferenceExtensionContext, ConeTypeCo
val classId = if (isSuspend)
StandardNames.getSuspendFunctionClassId(parametersNumber)
else StandardNames.getFunctionClassId(parametersNumber)
return session.symbolProvider.getClassLikeSymbolByFqName(classId)?.toLookupTag()
return session.symbolProvider.getClassLikeSymbolByClassId(classId)?.toLookupTag()
?: error("Can't find Function type")
}
@@ -498,7 +498,7 @@ interface ConeInferenceContext : TypeSystemInferenceExtensionContext, ConeTypeCo
val classId = if (isSuspend)
StandardNames.getKSuspendFunctionClassId(parametersNumber)
else StandardNames.getKFunctionClassId(parametersNumber)
return session.symbolProvider.getClassLikeSymbolByFqName(classId)?.toLookupTag()
return session.symbolProvider.getClassLikeSymbolByClassId(classId)?.toLookupTag()
?: error("Can't find KFunction type")
}
@@ -50,7 +50,7 @@ class FirScopeDumpHandler(testServices: TestServices) : FirAnalysisHandler(testS
private fun SmartPrinter.processClass(fqName: String, session: FirSession, scopeSession: ScopeSession, module: TestModule) {
val classId = ClassId.topLevel(FqName.fromSegments(fqName.split(".")))
val symbol = session.symbolProvider.getClassLikeSymbolByFqName(classId) ?: assertions.fail {
val symbol = session.symbolProvider.getClassLikeSymbolByClassId(classId) ?: assertions.fail {
"Class $fqName not found in module ${module.name}"
}
val firClass = symbol.fir as? FirRegularClass ?: assertions.fail { "$fqName is not a class but ${symbol.fir.render()}" }
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.name.Name
internal class FirIdeBuiltinsAndCloneableSessionProvider(override val symbolProvider: FirSymbolProvider) : FirProvider() {
override fun getFirClassifierByFqName(classId: ClassId): FirClassLikeDeclaration? =
symbolProvider.getClassLikeSymbolByFqName(classId)?.fir
symbolProvider.getClassLikeSymbolByClassId(classId)?.fir
override fun getFirClassifierContainerFile(fqName: ClassId): FirFile = shouldNotBeCalled()
@@ -18,7 +18,7 @@ internal class FirIdeLibrariesSessionProvider(
override val symbolProvider: FirSymbolProvider
) : FirProvider() {
override fun getFirClassifierByFqName(classId: ClassId): FirClassLikeDeclaration? =
symbolProvider.getClassLikeSymbolByFqName(classId)?.fir
symbolProvider.getClassLikeSymbolByClassId(classId)?.fir
override fun getFirClassifierContainerFile(fqName: ClassId): FirFile = shouldNotBeCalled()
@@ -129,7 +129,7 @@ internal class FirIdeProvider(
override fun getPackage(fqName: FqName): FqName? =
providerHelper.getPackage(fqName)
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? {
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? {
return getFirClassifierByFqName(classId)?.symbol
}
}
@@ -23,13 +23,13 @@ internal class FirModuleWithDependenciesSymbolProvider(
val dependencyProvider: DependentModuleProviders
) : FirSymbolProvider(session) {
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? =
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? =
getClassLikeSymbolByFqNameWithoutDependencies(classId)
?: dependencyProvider.getClassLikeSymbolByFqName(classId)
?: dependencyProvider.getClassLikeSymbolByClassId(classId)
fun getClassLikeSymbolByFqNameWithoutDependencies(classId: ClassId): FirClassLikeSymbol<*>? =
providers.firstNotNullOfOrNull { it.getClassLikeSymbolByFqName(classId) }
providers.firstNotNullOfOrNull { it.getClassLikeSymbolByClassId(classId) }
@FirSymbolProviderInternals
override fun getTopLevelCallableSymbolsTo(destination: MutableList<FirCallableSymbol<*>>, packageFqName: FqName, name: Name) {
@@ -78,11 +78,11 @@ internal class FirModuleWithDependenciesSymbolProvider(
}
internal class DependentModuleProviders(session: FirSession, private val providers: List<FirSymbolProvider>) : FirDependenciesSymbolProvider(session) {
override fun getClassLikeSymbolByFqName(classId: ClassId): FirClassLikeSymbol<*>? =
override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? =
providers.firstNotNullOfOrNull { provider ->
when (provider) {
is FirModuleWithDependenciesSymbolProvider -> provider.getClassLikeSymbolByFqNameWithoutDependencies(classId)
else -> provider.getClassLikeSymbolByFqName(classId)
else -> provider.getClassLikeSymbolByClassId(classId)
}
}
@@ -29,7 +29,7 @@ internal class FirDeclarationForCompiledElementSearcher(private val symbolProvid
val classId = declaration.getClassId()
?: error("Non-local class should have classId. The class is ${declaration.getElementTextInContext()}")
val classCandidate = symbolProvider.getClassLikeSymbolByFqName(classId)
val classCandidate = symbolProvider.getClassLikeSymbolByClassId(classId)
?: error("We should be able to find a symbol for $classId")
return classCandidate.fir
@@ -120,7 +120,7 @@ var KtFile.originalKtFile by UserDataProperty(ORIGINAL_KT_FILE_KEY)
private fun KtClassLikeDeclaration.findFir(firSymbolProvider: FirSymbolProvider): FirClassLikeDeclaration? {
val classId = getClassId() ?: return null
return executeWithoutPCE {
firSymbolProvider.getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass
firSymbolProvider.getClassLikeSymbolByClassId(classId)?.fir as? FirRegularClass
}
}
@@ -178,7 +178,7 @@ internal class KtSymbolByFirBuilder private constructor(
}
fun buildClassLikeSymbolByClassId(classId: ClassId): KtClassLikeSymbol? {
val firClassLikeSymbol = firProvider.getClassLikeSymbolByFqName(classId) ?: return null
val firClassLikeSymbol = firProvider.getClassLikeSymbolByClassId(classId) ?: return null
return buildClassLikeSymbol(firClassLikeSymbol.fir)
}
@@ -249,7 +249,7 @@ private class FirShorteningContext(val firResolveState: FirModuleResolveState) {
}
fun toClassSymbol(classId: ClassId) =
firSession.symbolProvider.getClassLikeSymbolByFqName(classId)
firSession.symbolProvider.getClassLikeSymbolByClassId(classId)
fun convertToImportableName(callableSymbol: FirCallableSymbol<*>): FqName? =
callableSymbol.computeImportableName(firSession)
@@ -27,7 +27,7 @@ internal class KtFirTypeCreator(
override fun buildClassType(builder: KtClassTypeBuilder): KtClassType = withValidityAssertion {
val lookupTag = when (builder) {
is KtClassTypeBuilder.ByClassId -> {
val classSymbol = rootModuleSession.symbolProvider.getClassLikeSymbolByFqName(builder.classId)
val classSymbol = rootModuleSession.symbolProvider.getClassLikeSymbolByClassId(builder.classId)
?: return ConeClassErrorType(ConeUnresolvedSymbolError(builder.classId)).asKtType() as KtClassType
classSymbol.toLookupTag()
}
@@ -131,7 +131,7 @@ internal class KtFirSymbolProvider(
}
override fun getClassOrObjectSymbolByClassId(classId: ClassId): KtClassOrObjectSymbol? = withValidityAssertion {
val symbol = firSymbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol ?: return null
val symbol = firSymbolProvider.getClassLikeSymbolByClassId(classId) as? FirRegularClassSymbol ?: return null
firSymbolBuilder.classifierBuilder.buildNamedClassOrObjectSymbol(symbol.fir)
}
@@ -30,7 +30,7 @@ internal class KtFirEnumEntrySymbolPointer(
}
private fun getEnumClass(analysisSession: KtFirAnalysisSession, classId: ClassId): FirRegularClass? {
val enumClass = analysisSession.firSymbolProvider.getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass
val enumClass = analysisSession.firSymbolProvider.getClassLikeSymbolByClassId(classId)?.fir as? FirRegularClass
?: return null
if (enumClass.classKind != ClassKind.ENUM_CLASS) return null
return enumClass
@@ -55,4 +55,4 @@ internal fun FirDeclaration.createSignature(): IdSignature {
}
internal fun KtFirAnalysisSession.getClassLikeSymbol(classId: ClassId) =
firResolveState.rootModuleSession.symbolProvider.getClassLikeSymbolByFqName(classId)?.fir
firResolveState.rootModuleSession.symbolProvider.getClassLikeSymbolByClassId(classId)?.fir