[FIR] Rename getClassLikeSymbolFqName to getClassLikeSymbolByClassId
This commit is contained in:
committed by
TeamCityServer
parent
69a13a3269
commit
ee37768808
+1
-1
@@ -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()
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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 &&
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -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))
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+2
-2
@@ -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)
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -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(
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+3
-3
@@ -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 =
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+2
-2
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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) }
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)!!
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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 }
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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")
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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()}" }
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -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()
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user