[FIR] Rename session.firSymbolProvider to session.symbolProvider
to avoid visual conflicts with `session.firProvider`
This commit is contained in:
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir
|
package org.jetbrains.kotlin.fir
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
@@ -27,7 +27,7 @@ abstract class AbstractFirLoadBinariesTest : AbstractFirResolveWithSessionTestCa
|
|||||||
val declarationNames = DescriptorUtils.getAllDescriptors(moduleDescriptor.getPackage(packageFqName).memberScope)
|
val declarationNames = DescriptorUtils.getAllDescriptors(moduleDescriptor.getPackage(packageFqName).memberScope)
|
||||||
.mapTo(sortedSetOf()) { it.name }
|
.mapTo(sortedSetOf()) { it.name }
|
||||||
|
|
||||||
val provider = session.firSymbolProvider
|
val provider = session.symbolProvider
|
||||||
|
|
||||||
val builder = StringBuilder()
|
val builder = StringBuilder()
|
||||||
val firRenderer = FirRenderer(builder)
|
val firRenderer = FirRenderer(builder)
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
|||||||
import org.jetbrains.kotlin.fir.FirRenderer
|
import org.jetbrains.kotlin.fir.FirRenderer
|
||||||
import org.jetbrains.kotlin.fir.createSession
|
import org.jetbrains.kotlin.fir.createSession
|
||||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass
|
import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -140,7 +140,7 @@ abstract class AbstractFirTypeEnhancementTest : KtUsefulTestCase() {
|
|||||||
|
|
||||||
val javaFirDump = StringBuilder().also { builder ->
|
val javaFirDump = StringBuilder().also { builder ->
|
||||||
val renderer = FirRenderer(builder)
|
val renderer = FirRenderer(builder)
|
||||||
val symbolProvider = session.firSymbolProvider as FirCompositeSymbolProvider
|
val symbolProvider = session.symbolProvider as FirCompositeSymbolProvider
|
||||||
val javaProvider = symbolProvider.providers.filterIsInstance<JavaSymbolProvider>().first()
|
val javaProvider = symbolProvider.providers.filterIsInstance<JavaSymbolProvider>().first()
|
||||||
|
|
||||||
val topLevelJavaClasses = topPsiClasses.map { it.classId(FqName.ROOT) }
|
val topLevelJavaClasses = topPsiClasses.map { it.classId(FqName.ROOT) }
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
|||||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirEmptyExpressionBlock
|
import org.jetbrains.kotlin.fir.expressions.impl.FirEmptyExpressionBlock
|
||||||
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.firClassLike
|
import org.jetbrains.kotlin.fir.resolve.transformers.firClassLike
|
||||||
@@ -316,4 +317,4 @@ val FirFunctionCall.isIterator
|
|||||||
internal fun throwableClassLikeType(session: FirSession) = session.builtinTypes.throwableType.type
|
internal fun throwableClassLikeType(session: FirSession) = session.builtinTypes.throwableType.type
|
||||||
|
|
||||||
fun ConeKotlinType.isSubtypeOfThrowable(session: FirSession) =
|
fun ConeKotlinType.isSubtypeOfThrowable(session: FirSession) =
|
||||||
throwableClassLikeType(session).isSupertypeOf(session.typeCheckerContext, this.fullyExpandedType(session))
|
throwableClassLikeType(session).isSupertypeOf(session.typeCheckerContext, this.fullyExpandedType(session))
|
||||||
|
|||||||
+2
-2
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
|||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
|
|
||||||
object FirMethodOfAnyImplementedInInterfaceChecker : FirRegularClassChecker(), FirDeclarationPresenter {
|
object FirMethodOfAnyImplementedInInterfaceChecker : FirRegularClassChecker(), FirDeclarationPresenter {
|
||||||
@@ -21,7 +21,7 @@ object FirMethodOfAnyImplementedInInterfaceChecker : FirRegularClassChecker(), F
|
|||||||
private fun getInspector(context: CheckerContext) = inspector ?: FirDeclarationInspector(this).apply {
|
private fun getInspector(context: CheckerContext) = inspector ?: FirDeclarationInspector(this).apply {
|
||||||
val anyClassId = context.session.builtinTypes.anyType.id
|
val anyClassId = context.session.builtinTypes.anyType.id
|
||||||
|
|
||||||
context.session.firSymbolProvider.getClassLikeSymbolByFqName(anyClassId)
|
context.session.symbolProvider.getClassLikeSymbolByFqName(anyClassId)
|
||||||
?.fir.safeAs<FirRegularClass>()
|
?.fir.safeAs<FirRegularClass>()
|
||||||
?.declarations
|
?.declarations
|
||||||
?.filterIsInstance<FirSimpleFunction>()
|
?.filterIsInstance<FirSimpleFunction>()
|
||||||
|
|||||||
+4
-4
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
|||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.types.classId
|
import org.jetbrains.kotlin.fir.types.classId
|
||||||
import org.jetbrains.kotlin.fir.types.coneType
|
import org.jetbrains.kotlin.fir.types.coneType
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
@@ -47,7 +47,7 @@ object FirSealedSupertypeChecker : FirMemberDeclarationChecker() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
val fir = context.session.firSymbolProvider.getClassLikeSymbolByFqName(classId)
|
val fir = context.session.symbolProvider.getClassLikeSymbolByFqName(classId)
|
||||||
?.fir.safeAs<FirRegularClass>()
|
?.fir.safeAs<FirRegularClass>()
|
||||||
?: continue
|
?: continue
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ object FirSealedSupertypeChecker : FirMemberDeclarationChecker() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
val fir = context.session.firSymbolProvider.getClassLikeSymbolByFqName(classId)
|
val fir = context.session.symbolProvider.getClassLikeSymbolByFqName(classId)
|
||||||
?.fir.safeAs<FirRegularClass>()
|
?.fir.safeAs<FirRegularClass>()
|
||||||
?: continue
|
?: continue
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ object FirSealedSupertypeChecker : FirMemberDeclarationChecker() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
val fir = context.session.firSymbolProvider.getClassLikeSymbolByFqName(classId)
|
val fir = context.session.symbolProvider.getClassLikeSymbolByFqName(classId)
|
||||||
?.fir.safeAs<FirRegularClass>()
|
?.fir.safeAs<FirRegularClass>()
|
||||||
?: continue
|
?: continue
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCall
|
|||||||
import org.jetbrains.kotlin.fir.references.impl.FirReferencePlaceholderForResolvedAnnotations
|
import org.jetbrains.kotlin.fir.references.impl.FirReferencePlaceholderForResolvedAnnotations
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.varargElementType
|
import org.jetbrains.kotlin.fir.resolve.calls.varargElementType
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||||
import org.jetbrains.kotlin.fir.resolve.inference.isSuspendFunctionType
|
import org.jetbrains.kotlin.fir.resolve.inference.isSuspendFunctionType
|
||||||
import org.jetbrains.kotlin.fir.resolve.inference.suspendFunctionTypeToFunctionTypeWithContinuation
|
import org.jetbrains.kotlin.fir.resolve.inference.suspendFunctionTypeToFunctionTypeWithContinuation
|
||||||
@@ -891,7 +891,7 @@ class FirElementSerializer private constructor(
|
|||||||
): FirElementSerializer {
|
): FirElementSerializer {
|
||||||
val parentClassId = klass.symbol.classId.outerClassId
|
val parentClassId = klass.symbol.classId.outerClassId
|
||||||
val parent = if (parentClassId != null && !parentClassId.isLocal) {
|
val parent = if (parentClassId != null && !parentClassId.isLocal) {
|
||||||
val parentClass = klass.session.firSymbolProvider.getClassLikeSymbolByFqName(parentClassId)!!.fir as FirRegularClass
|
val parentClass = klass.session.symbolProvider.getClassLikeSymbolByFqName(parentClassId)!!.fir as FirRegularClass
|
||||||
parentSerializer ?: create(parentClass, extension, null, typeApproximator)
|
parentSerializer ?: create(parentClass, extension, null, typeApproximator)
|
||||||
} else {
|
} else {
|
||||||
createTopLevel(klass.session, extension, typeApproximator)
|
createTopLevel(klass.session, extension, typeApproximator)
|
||||||
|
|||||||
+2
-2
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -138,7 +138,7 @@ internal class KClassValue(value: Value) : ConstantValue<KClassValue.Value>(valu
|
|||||||
is Value.LocalClass -> return value.type
|
is Value.LocalClass -> return value.type
|
||||||
is Value.NormalClass -> {
|
is Value.NormalClass -> {
|
||||||
val (classId, arrayDimensions) = value.value
|
val (classId, arrayDimensions) = value.value
|
||||||
val klass = session.firSymbolProvider.getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass ?: return null
|
val klass = session.symbolProvider.getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass ?: return null
|
||||||
var type: ConeKotlinType = klass.defaultType().replaceArgumentsWithStarProjections()
|
var type: ConeKotlinType = klass.defaultType().replaceArgumentsWithStarProjections()
|
||||||
repeat(arrayDimensions) {
|
repeat(arrayDimensions) {
|
||||||
type = type.createArrayType()
|
type = type.createArrayType()
|
||||||
|
|||||||
+3
-3
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.codegen.JvmBackendClassResolver
|
|||||||
import org.jetbrains.kotlin.codegen.classId
|
import org.jetbrains.kotlin.codegen.classId
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||||
import org.jetbrains.org.objectweb.asm.Type
|
import org.jetbrains.org.objectweb.asm.Type
|
||||||
@@ -19,9 +19,9 @@ class FirJvmBackendClassResolver(val components: Fir2IrComponents) : JvmBackendC
|
|||||||
override fun resolveToClassDescriptors(type: Type): List<ClassDescriptor> {
|
override fun resolveToClassDescriptors(type: Type): List<ClassDescriptor> {
|
||||||
if (type.sort != Type.OBJECT) return emptyList()
|
if (type.sort != Type.OBJECT) return emptyList()
|
||||||
|
|
||||||
val symbol = components.session.firSymbolProvider.getClassLikeSymbolByFqName(type.classId) ?: return emptyList()
|
val symbol = components.session.symbolProvider.getClassLikeSymbolByFqName(type.classId) ?: return emptyList()
|
||||||
require(symbol is FirClassSymbol<*>)
|
require(symbol is FirClassSymbol<*>)
|
||||||
return listOf(components.classifierStorage.getIrClassSymbol(symbol).descriptor)
|
return listOf(components.classifierStorage.getIrClassSymbol(symbol).descriptor)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode
|
|||||||
import org.jetbrains.kotlin.backend.common.serialization.mangle.collectForMangler
|
import org.jetbrains.kotlin.backend.common.serialization.mangle.collectForMangler
|
||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||||
@@ -79,7 +79,7 @@ open class FirJvmMangleComputer(
|
|||||||
else -> return
|
else -> return
|
||||||
}
|
}
|
||||||
if (parentClassId != null && !parentClassId.isLocal) {
|
if (parentClassId != null && !parentClassId.isLocal) {
|
||||||
val parentClassLike = this@FirJvmMangleComputer.session.firSymbolProvider.getClassLikeSymbolByFqName(parentClassId)?.fir
|
val parentClassLike = this@FirJvmMangleComputer.session.symbolProvider.getClassLikeSymbolByFqName(parentClassId)?.fir
|
||||||
?: error("Attempt to find parent ($parentClassId) for probably-local declaration!")
|
?: error("Attempt to find parent ($parentClassId) for probably-local declaration!")
|
||||||
if (parentClassLike is FirRegularClass || parentClassLike is FirTypeAlias) {
|
if (parentClassLike is FirRegularClass || parentClassLike is FirTypeAlias) {
|
||||||
parentClassLike.accept(this@FirJvmMangleComputer, false)
|
parentClassLike.accept(this@FirJvmMangleComputer, false)
|
||||||
|
|||||||
+3
-3
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind
|
|||||||
import org.jetbrains.kotlin.fir.*
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||||
import org.jetbrains.kotlin.fir.resolve.inference.*
|
import org.jetbrains.kotlin.fir.resolve.inference.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
@@ -101,7 +101,7 @@ class FirJvmTypeMapper(val session: FirSession) : TypeMappingContext<JvmSignatur
|
|||||||
|
|
||||||
private fun ConeClassLikeType.parentClassOrNull(): FirRegularClassSymbol? {
|
private fun ConeClassLikeType.parentClassOrNull(): FirRegularClassSymbol? {
|
||||||
val parentClassId = classId?.outerClassId ?: return null
|
val parentClassId = classId?.outerClassId ?: return null
|
||||||
return session.firSymbolProvider.getClassLikeSymbolByFqName(parentClassId) as? FirRegularClassSymbol?
|
return session.symbolProvider.getClassLikeSymbolByFqName(parentClassId) as? FirRegularClassSymbol?
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun ConeClassLikeType.buildPossiblyInnerType(classifier: FirRegularClassSymbol?, index: Int): PossiblyInnerConeType? {
|
private fun ConeClassLikeType.buildPossiblyInnerType(classifier: FirRegularClassSymbol?, index: Int): PossiblyInnerConeType? {
|
||||||
@@ -191,7 +191,7 @@ class ConeTypeSystemCommonBackendContextForTypeMapping(
|
|||||||
val context: ConeTypeContext
|
val context: ConeTypeContext
|
||||||
) : TypeSystemCommonBackendContext by context, TypeSystemCommonBackendContextForTypeMapping {
|
) : TypeSystemCommonBackendContext by context, TypeSystemCommonBackendContextForTypeMapping {
|
||||||
private val session = context.session
|
private val session = context.session
|
||||||
private val symbolProvider = session.firSymbolProvider
|
private val symbolProvider = session.symbolProvider
|
||||||
|
|
||||||
override fun TypeConstructorMarker.isTypeParameter(): Boolean {
|
override fun TypeConstructorMarker.isTypeParameter(): Boolean {
|
||||||
return this is ConeTypeParameterLookupTag
|
return this is ConeTypeParameterLookupTag
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.backend
|
package org.jetbrains.kotlin.fir.backend
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.types.CompilerConeAttributes
|
import org.jetbrains.kotlin.fir.types.CompilerConeAttributes
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
@@ -38,10 +38,10 @@ class Fir2IrBuiltIns(
|
|||||||
flexibleNullabilityAnnotationSymbol?.toConstructorCall()
|
flexibleNullabilityAnnotationSymbol?.toConstructorCall()
|
||||||
|
|
||||||
private fun annotationSymbolById(id: ClassId): IrClassSymbol? =
|
private fun annotationSymbolById(id: ClassId): IrClassSymbol? =
|
||||||
provider?.getClassSymbolById(id) ?: session.firSymbolProvider.getClassLikeSymbolByFqName(id)?.toSymbol(
|
provider?.getClassSymbolById(id) ?: session.symbolProvider.getClassLikeSymbolByFqName(id)?.toSymbol(
|
||||||
session, classifierStorage, ConversionTypeContext.DEFAULT
|
session, classifierStorage, ConversionTypeContext.DEFAULT
|
||||||
) as? IrClassSymbol
|
) as? IrClassSymbol
|
||||||
|
|
||||||
private fun IrClassSymbol.toConstructorCall(): IrConstructorCallImpl =
|
private fun IrClassSymbol.toConstructorCall(): IrConstructorCallImpl =
|
||||||
IrConstructorCallImpl.fromSymbolOwner(defaultType, owner.declarations.firstIsInstance<IrConstructor>().symbol)
|
IrConstructorCallImpl.fromSymbolOwner(defaultType, owner.declarations.firstIsInstance<IrConstructor>().symbol)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.descriptors.Visibility
|
|||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.lazy.Fir2IrLazyClass
|
import org.jetbrains.kotlin.fir.lazy.Fir2IrLazyClass
|
||||||
import org.jetbrains.kotlin.fir.resolve.firProvider
|
import org.jetbrains.kotlin.fir.resolve.firProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.*
|
import org.jetbrains.kotlin.fir.symbols.*
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||||
@@ -435,7 +435,7 @@ class Fir2IrClassifierStorage(
|
|||||||
firClass as FirRegularClass
|
firClass as FirRegularClass
|
||||||
val classId = firClassSymbol.classId
|
val classId = firClassSymbol.classId
|
||||||
val parentId = classId.outerClassId
|
val parentId = classId.outerClassId
|
||||||
val parentClass = parentId?.let { session.firSymbolProvider.getClassLikeSymbolByFqName(it) }
|
val parentClass = parentId?.let { session.symbolProvider.getClassLikeSymbolByFqName(it) }
|
||||||
val irParent = declarationStorage.findIrParent(classId.packageFqName, parentClass?.toLookupTag(), firClassSymbol)!!
|
val irParent = declarationStorage.findIrParent(classId.packageFqName, parentClass?.toLookupTag(), firClassSymbol)!!
|
||||||
val symbol = Fir2IrClassSymbol(signature)
|
val symbol = Fir2IrClassSymbol(signature)
|
||||||
val irClass = firClass.convertWithOffsets { startOffset, endOffset ->
|
val irClass = firClass.convertWithOffsets { startOffset, endOffset ->
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
|||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
@@ -27,7 +27,7 @@ class FirModuleDescriptor(val session: FirSession) : ModuleDescriptor {
|
|||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
override fun getPackage(fqName: FqName): PackageViewDescriptor {
|
override fun getPackage(fqName: FqName): PackageViewDescriptor {
|
||||||
val symbolProvider = session.firSymbolProvider
|
val symbolProvider = session.symbolProvider
|
||||||
if (symbolProvider.getPackage(fqName) != null) {
|
if (symbolProvider.getPackage(fqName) != null) {
|
||||||
return FirPackageViewDescriptor(fqName, this)
|
return FirPackageViewDescriptor(fqName, this)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ class JavaScopeProvider(
|
|||||||
return lazyNestedClassifierScope(
|
return lazyNestedClassifierScope(
|
||||||
klass.classId,
|
klass.classId,
|
||||||
(klass as FirJavaClass).existingNestedClassifierNames,
|
(klass as FirJavaClass).existingNestedClassifierNames,
|
||||||
useSiteSession.firSymbolProvider
|
useSiteSession.symbolProvider
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.references.impl.FirReferencePlaceholderForResolv
|
|||||||
import org.jetbrains.kotlin.fir.resolve.bindSymbolToLookupTag
|
import org.jetbrains.kotlin.fir.resolve.bindSymbolToLookupTag
|
||||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnresolvedReferenceError
|
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnresolvedReferenceError
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.getClassDeclaredPropertySymbols
|
import org.jetbrains.kotlin.fir.resolve.providers.getClassDeclaredPropertySymbols
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.expectedConeType
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.expectedConeType
|
||||||
@@ -385,7 +385,7 @@ private fun JavaClassifierType.toConeKotlinTypeForFlexibleBound(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
val classSymbol = session.firSymbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol
|
val classSymbol = session.symbolProvider.getClassLikeSymbolByFqName(classId) as? FirRegularClassSymbol
|
||||||
|
|
||||||
val mappedTypeArguments = if (isRaw) {
|
val mappedTypeArguments = if (isRaw) {
|
||||||
val defaultArgs = (1..classifier.typeParameters.size).map { ConeStarProjection }
|
val defaultArgs = (1..classifier.typeParameters.size).map { ConeStarProjection }
|
||||||
@@ -436,7 +436,7 @@ private fun FirRegularClass.createRawArguments(
|
|||||||
private fun buildEnumCall(session: FirSession, classId: ClassId?, entryName: Name?) =
|
private fun buildEnumCall(session: FirSession, classId: ClassId?, entryName: Name?) =
|
||||||
buildFunctionCall {
|
buildFunctionCall {
|
||||||
val calleeReference = if (classId != null && entryName != null) {
|
val calleeReference = if (classId != null && entryName != null) {
|
||||||
session.firSymbolProvider.getClassDeclaredPropertySymbols(classId, entryName)
|
session.symbolProvider.getClassDeclaredPropertySymbols(classId, entryName)
|
||||||
.firstOrNull()?.let { propertySymbol ->
|
.firstOrNull()?.let { propertySymbol ->
|
||||||
buildResolvedNamedReference {
|
buildResolvedNamedReference {
|
||||||
name = entryName
|
name = entryName
|
||||||
@@ -503,7 +503,7 @@ private fun buildArgumentMapping(
|
|||||||
if (annotationArguments.none { it.name != null }) {
|
if (annotationArguments.none { it.name != null }) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
val annotationClassSymbol = session.firSymbolProvider.getClassLikeSymbolByFqName(lookupTag.classId).also {
|
val annotationClassSymbol = session.symbolProvider.getClassLikeSymbolByFqName(lookupTag.classId).also {
|
||||||
lookupTag.bindSymbolToLookupTag(session, it)
|
lookupTag.bindSymbolToLookupTag(session, it)
|
||||||
} ?: return null
|
} ?: return null
|
||||||
val annotationConstructor =
|
val annotationConstructor =
|
||||||
|
|||||||
+3
-3
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.java.createConstantOrError
|
|||||||
import org.jetbrains.kotlin.fir.references.builder.buildErrorNamedReference
|
import org.jetbrains.kotlin.fir.references.builder.buildErrorNamedReference
|
||||||
import org.jetbrains.kotlin.fir.references.builder.buildResolvedNamedReference
|
import org.jetbrains.kotlin.fir.references.builder.buildResolvedNamedReference
|
||||||
import org.jetbrains.kotlin.fir.references.impl.FirReferencePlaceholderForResolvedAnnotations
|
import org.jetbrains.kotlin.fir.references.impl.FirReferencePlaceholderForResolvedAnnotations
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.getClassDeclaredPropertySymbols
|
import org.jetbrains.kotlin.fir.resolve.providers.getClassDeclaredPropertySymbols
|
||||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||||
@@ -55,7 +55,7 @@ internal class AnnotationsLoader(private val session: FirSession) {
|
|||||||
private fun ClassId.toEnumEntryReferenceExpression(name: Name): FirExpression {
|
private fun ClassId.toEnumEntryReferenceExpression(name: Name): FirExpression {
|
||||||
return buildFunctionCall {
|
return buildFunctionCall {
|
||||||
val entryPropertySymbol =
|
val entryPropertySymbol =
|
||||||
session.firSymbolProvider.getClassDeclaredPropertySymbols(
|
session.symbolProvider.getClassDeclaredPropertySymbols(
|
||||||
this@toEnumEntryReferenceExpression, name,
|
this@toEnumEntryReferenceExpression, name,
|
||||||
).firstOrNull()
|
).firstOrNull()
|
||||||
|
|
||||||
@@ -162,4 +162,4 @@ internal class AnnotationsLoader(private val session: FirSession) {
|
|||||||
buildResolvedTypeRef {
|
buildResolvedTypeRef {
|
||||||
type = constructClassType(emptyArray(), isNullable = false)
|
type = constructClassType(emptyArray(), isNullable = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.deserialization.AbstractAnnotationDeserializer
|
import org.jetbrains.kotlin.fir.deserialization.AbstractAnnotationDeserializer
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
|
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
|
||||||
@@ -317,4 +317,4 @@ private fun FirSession.loadMemberAnnotations(kotlinBinaryClass: KotlinJvmBinaryC
|
|||||||
}, byteContent)
|
}, byteContent)
|
||||||
|
|
||||||
return MemberAnnotations(memberAnnotations)
|
return MemberAnnotations(memberAnnotations)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
|||||||
class FirJavaClassMapper(private val session: FirSession) : FirPlatformClassMapper() {
|
class FirJavaClassMapper(private val session: FirSession) : FirPlatformClassMapper() {
|
||||||
override fun getCorrespondingPlatformClass(declaration: FirClassLikeDeclaration<*>): FirRegularClass? {
|
override fun getCorrespondingPlatformClass(declaration: FirClassLikeDeclaration<*>): FirRegularClass? {
|
||||||
val javaClassId = JavaToKotlinClassMap.mapKotlinToJava(declaration.symbol.classId.asSingleFqName().toUnsafe())
|
val javaClassId = JavaToKotlinClassMap.mapKotlinToJava(declaration.symbol.classId.asSingleFqName().toUnsafe())
|
||||||
return javaClassId?.let { session.firSymbolProvider.getClassLikeSymbolByFqName(it)?.fir } as? FirRegularClass
|
return javaClassId?.let { session.symbolProvider.getClassLikeSymbolByFqName(it)?.fir } as? FirRegularClass
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
|||||||
import org.jetbrains.kotlin.fir.declarations.classId
|
import org.jetbrains.kotlin.fir.declarations.classId
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.wrapSubstitutionScopeIfNeed
|
import org.jetbrains.kotlin.fir.resolve.wrapSubstitutionScopeIfNeed
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.jvm.JvmMappedScope
|
import org.jetbrains.kotlin.fir.scopes.jvm.JvmMappedScope
|
||||||
@@ -31,7 +31,7 @@ fun wrapScopeWithJvmMapped(
|
|||||||
val kotlinUnsafeFqName = classId.asSingleFqName().toUnsafe()
|
val kotlinUnsafeFqName = classId.asSingleFqName().toUnsafe()
|
||||||
val javaClassId = JavaToKotlinClassMap.mapKotlinToJava(kotlinUnsafeFqName)
|
val javaClassId = JavaToKotlinClassMap.mapKotlinToJava(kotlinUnsafeFqName)
|
||||||
?: return declaredMemberScope
|
?: return declaredMemberScope
|
||||||
val symbolProvider = useSiteSession.firSymbolProvider
|
val symbolProvider = useSiteSession.symbolProvider
|
||||||
val javaClass = symbolProvider.getClassLikeSymbolByFqName(javaClassId)?.fir as? FirRegularClass
|
val javaClass = symbolProvider.getClassLikeSymbolByFqName(javaClassId)?.fir as? FirRegularClass
|
||||||
?: return declaredMemberScope
|
?: return declaredMemberScope
|
||||||
val preparedSignatures = JvmMappedScope.prepareSignatures(javaClass, JavaToKotlinClassMap.isMutable(kotlinUnsafeFqName))
|
val preparedSignatures = JvmMappedScope.prepareSignatures(javaClass, JavaToKotlinClassMap.isMutable(kotlinUnsafeFqName))
|
||||||
|
|||||||
+3
-3
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.descriptors.Visibilities
|
|||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||||
@@ -103,8 +103,8 @@ open class FirEffectiveVisibilityResolverImpl(private val session: FirSession) :
|
|||||||
if (!succeededToGetSymbol) {
|
if (!succeededToGetSymbol) {
|
||||||
if (parentClassId?.isLocal == false) {
|
if (parentClassId?.isLocal == false) {
|
||||||
// ?: is needed to get enum from enum entry
|
// ?: is needed to get enum from enum entry
|
||||||
parentSymbol = session.firSymbolProvider.getClassLikeSymbolByFqName(parentClassId)
|
parentSymbol = session.symbolProvider.getClassLikeSymbolByFqName(parentClassId)
|
||||||
?: parentClassId.outerClassId?.let { session.firSymbolProvider.getClassLikeSymbolByFqName(it) }
|
?: parentClassId.outerClassId?.let { session.symbolProvider.getClassLikeSymbolByFqName(it) }
|
||||||
parentSymbol?.fir.safeAs<FirMemberDeclaration>()?.let {
|
parentSymbol?.fir.safeAs<FirMemberDeclaration>()?.let {
|
||||||
parentEffectiveVisibility = resolveFor(it, null, scopeSession)
|
parentEffectiveVisibility = resolveFor(it, null, scopeSession)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.expressions.FirStatement
|
|||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildResolvedQualifier
|
import org.jetbrains.kotlin.fir.expressions.builder.buildResolvedQualifier
|
||||||
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
|
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
|
||||||
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
|
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.PackageOrClass
|
import org.jetbrains.kotlin.fir.resolve.transformers.PackageOrClass
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.resultType
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.resultType
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.resolveToPackageOrClass
|
import org.jetbrains.kotlin.fir.resolve.transformers.resolveToPackageOrClass
|
||||||
@@ -64,7 +64,7 @@ class FirQualifiedNameResolver(private val components: BodyResolveComponents) {
|
|||||||
if (qualifierStack.isEmpty()) {
|
if (qualifierStack.isEmpty()) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
val symbolProvider = session.firSymbolProvider
|
val symbolProvider = session.symbolProvider
|
||||||
var qualifierParts = qualifierStack.asReversed().map { it.name.asString() }
|
var qualifierParts = qualifierStack.asReversed().map { it.name.asString() }
|
||||||
var resolved: PackageOrClass?
|
var resolved: PackageOrClass?
|
||||||
do {
|
do {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
|||||||
import org.jetbrains.kotlin.fir.resolve.calls.Candidate
|
import org.jetbrains.kotlin.fir.resolve.calls.Candidate
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.ReceiverValue
|
import org.jetbrains.kotlin.fir.resolve.calls.ReceiverValue
|
||||||
import org.jetbrains.kotlin.fir.resolve.firProvider
|
import org.jetbrains.kotlin.fir.resolve.firProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||||
import org.jetbrains.kotlin.fir.resolve.lookupSuperTypes
|
import org.jetbrains.kotlin.fir.resolve.lookupSuperTypes
|
||||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||||
@@ -133,7 +133,7 @@ abstract class FirVisibilityChecker : FirSessionComponent {
|
|||||||
|
|
||||||
private fun ClassId.ownerIfCompanion(session: FirSession): ClassId? {
|
private fun ClassId.ownerIfCompanion(session: FirSession): ClassId? {
|
||||||
if (outerClassId == null || isLocal) return null
|
if (outerClassId == null || isLocal) return null
|
||||||
val ownerSymbol = session.firSymbolProvider.getClassLikeSymbolByFqName(this) as? FirRegularClassSymbol
|
val ownerSymbol = session.symbolProvider.getClassLikeSymbolByFqName(this) as? FirRegularClassSymbol
|
||||||
|
|
||||||
return outerClassId.takeIf { ownerSymbol?.fir?.isCompanion == true }
|
return outerClassId.takeIf { ownerSymbol?.fir?.isCompanion == true }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class FirOuterClassManager(
|
|||||||
private val session: FirSession,
|
private val session: FirSession,
|
||||||
private val outerLocalClassForNested: Map<FirClassLikeSymbol<*>, FirClassLikeSymbol<*>>,
|
private val outerLocalClassForNested: Map<FirClassLikeSymbol<*>, FirClassLikeSymbol<*>>,
|
||||||
) {
|
) {
|
||||||
private val symbolProvider = session.firSymbolProvider
|
private val symbolProvider = session.symbolProvider
|
||||||
|
|
||||||
fun outerClass(classSymbol: FirClassLikeSymbol<*>): FirClassLikeSymbol<*>? {
|
fun outerClass(classSymbol: FirClassLikeSymbol<*>): FirClassLikeSymbol<*>? {
|
||||||
if (classSymbol !is FirClassSymbol<*>) return null
|
if (classSymbol !is FirClassSymbol<*>) return null
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ fun ConeClassLikeLookupTag.toSymbol(useSiteSession: FirSession): FirClassLikeSym
|
|||||||
if (this is ConeClassLookupTagWithFixedSymbol) {
|
if (this is ConeClassLookupTagWithFixedSymbol) {
|
||||||
return this.symbol
|
return this.symbol
|
||||||
}
|
}
|
||||||
val firSymbolProvider = useSiteSession.firSymbolProvider
|
val firSymbolProvider = useSiteSession.symbolProvider
|
||||||
(this as? ConeClassLikeLookupTagImpl)?.boundSymbol?.takeIf { it.key === useSiteSession }?.let { return it.value }
|
(this as? ConeClassLikeLookupTagImpl)?.boundSymbol?.takeIf { it.key === useSiteSession }?.let { return it.value }
|
||||||
|
|
||||||
return firSymbolProvider.getClassLikeSymbolByFqName(classId).also {
|
return firSymbolProvider.getClassLikeSymbolByFqName(classId).also {
|
||||||
@@ -40,7 +40,7 @@ fun ConeClassLikeLookupTag.toSymbolOrError(useSiteSession: FirSession): FirClass
|
|||||||
|
|
||||||
|
|
||||||
fun ConeClassLikeLookupTag.toFirRegularClass(session: FirSession): FirRegularClass? =
|
fun ConeClassLikeLookupTag.toFirRegularClass(session: FirSession): FirRegularClass? =
|
||||||
session.firSymbolProvider.getSymbolByLookupTag(this)?.fir as? FirRegularClass
|
session.symbolProvider.getSymbolByLookupTag(this)?.fir as? FirRegularClass
|
||||||
|
|
||||||
@OptIn(LookupTagInternals::class)
|
@OptIn(LookupTagInternals::class)
|
||||||
fun ConeClassLikeLookupTagImpl.bindSymbolToLookupTag(session: FirSession, symbol: FirClassLikeSymbol<*>?) {
|
fun ConeClassLikeLookupTagImpl.bindSymbolToLookupTag(session: FirSession, symbol: FirClassLikeSymbol<*>?) {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
|||||||
import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache
|
import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache
|
||||||
|
|
||||||
val FirSession.firSymbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor()
|
val FirSession.symbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor()
|
||||||
val FirSession.firProvider: FirProvider by FirSession.sessionComponentAccessor()
|
val FirSession.firProvider: FirProvider by FirSession.sessionComponentAccessor()
|
||||||
val FirSession.correspondingSupertypesCache: FirCorrespondingSupertypesCache by FirSession.sessionComponentAccessor()
|
val FirSession.correspondingSupertypesCache: FirCorrespondingSupertypesCache by FirSession.sessionComponentAccessor()
|
||||||
val FirSession.declaredMemberScopeProvider: FirDeclaredMemberScopeProvider by FirSession.sessionComponentAccessor()
|
val FirSession.declaredMemberScopeProvider: FirDeclaredMemberScopeProvider by FirSession.sessionComponentAccessor()
|
||||||
|
|||||||
@@ -283,7 +283,7 @@ fun CallableId.isIterator(): Boolean =
|
|||||||
callableName.asString() == "iterator" && packageName.asString() in arrayOf("kotlin.collections", "kotlin.ranges")
|
callableName.asString() == "iterator" && packageName.asString() in arrayOf("kotlin.collections", "kotlin.ranges")
|
||||||
|
|
||||||
fun FirAnnotationCall.fqName(session: FirSession): FqName? {
|
fun FirAnnotationCall.fqName(session: FirSession): FqName? {
|
||||||
val symbol = session.firSymbolProvider.getSymbolByTypeRef<FirRegularClassSymbol>(annotationTypeRef) ?: return null
|
val symbol = session.symbolProvider.getSymbolByTypeRef<FirRegularClassSymbol>(annotationTypeRef) ?: return null
|
||||||
return symbol.classId.asSingleFqName()
|
return symbol.classId.asSingleFqName()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -327,7 +327,7 @@ fun FirAnnotationCall.getCorrespondingClassSymbolOrNull(session: FirSession): Fi
|
|||||||
// TODO: How to retrieve local annotaiton's constructor?
|
// TODO: How to retrieve local annotaiton's constructor?
|
||||||
null
|
null
|
||||||
} else {
|
} else {
|
||||||
(session.firSymbolProvider.getClassLikeSymbolByFqName(it) as? FirRegularClassSymbol)
|
(session.symbolProvider.getClassLikeSymbolByFqName(it) as? FirRegularClassSymbol)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ private fun FirRegularClass.computeSamCandidateNames(session: FirSession): Set<N
|
|||||||
val classes =
|
val classes =
|
||||||
lookupSuperTypes(this, lookupInterfaces = true, deep = true, useSiteSession = session)
|
lookupSuperTypes(this, lookupInterfaces = true, deep = true, useSiteSession = session)
|
||||||
.mapNotNullTo(mutableListOf(this)) {
|
.mapNotNullTo(mutableListOf(this)) {
|
||||||
(session.firSymbolProvider.getSymbolByLookupTag(it.lookupTag) as? FirRegularClassSymbol)?.fir
|
(session.symbolProvider.getSymbolByLookupTag(it.lookupTag) as? FirRegularClassSymbol)?.fir
|
||||||
}
|
}
|
||||||
|
|
||||||
val samCandidateNames = mutableSetOf<Name>()
|
val samCandidateNames = mutableSetOf<Name>()
|
||||||
|
|||||||
+1
-1
@@ -197,7 +197,7 @@ class ScopeTowerLevel(
|
|||||||
private fun dispatchReceiverValue(candidate: FirCallableSymbol<*>): ReceiverValue? {
|
private fun dispatchReceiverValue(candidate: FirCallableSymbol<*>): ReceiverValue? {
|
||||||
candidate.fir.importedFromObjectData?.let { data ->
|
candidate.fir.importedFromObjectData?.let { data ->
|
||||||
val objectClassId = data.objectClassId
|
val objectClassId = data.objectClassId
|
||||||
val symbol = session.firSymbolProvider.getClassLikeSymbolByFqName(objectClassId)
|
val symbol = session.symbolProvider.getClassLikeSymbolByFqName(objectClassId)
|
||||||
if (symbol is FirRegularClassSymbol) {
|
if (symbol is FirRegularClassSymbol) {
|
||||||
val resolvedQualifier = buildResolvedQualifier {
|
val resolvedQualifier = buildResolvedQualifier {
|
||||||
packageFqName = objectClassId.packageFqName
|
packageFqName = objectClassId.packageFqName
|
||||||
|
|||||||
+2
-2
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
|
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
|
||||||
import org.jetbrains.kotlin.fir.caches.*
|
import org.jetbrains.kotlin.fir.caches.*
|
||||||
import org.jetbrains.kotlin.fir.dependenciesWithoutSelf
|
import org.jetbrains.kotlin.fir.dependenciesWithoutSelf
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
||||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||||
@@ -34,7 +34,7 @@ open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirSymbolPro
|
|||||||
protected open val dependencyProviders by lazy {
|
protected open val dependencyProviders by lazy {
|
||||||
val moduleInfo = session.moduleInfo ?: return@lazy emptyList()
|
val moduleInfo = session.moduleInfo ?: return@lazy emptyList()
|
||||||
moduleInfo.dependenciesWithoutSelf().mapNotNull {
|
moduleInfo.dependenciesWithoutSelf().mapNotNull {
|
||||||
session.sessionProvider?.getSession(it)?.firSymbolProvider
|
session.sessionProvider?.getSession(it)?.symbolProvider
|
||||||
}.toList()
|
}.toList()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.resolve.providers.impl
|
|||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.NoMutableState
|
import org.jetbrains.kotlin.fir.NoMutableState
|
||||||
import org.jetbrains.kotlin.fir.resolve.FirQualifierResolver
|
import org.jetbrains.kotlin.fir.resolve.FirQualifierResolver
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.FirQualifierPart
|
import org.jetbrains.kotlin.fir.types.FirQualifierPart
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.name.FqName
|
|||||||
class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver() {
|
class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver() {
|
||||||
|
|
||||||
override fun resolveSymbolWithPrefix(parts: List<FirQualifierPart>, prefix: ClassId): FirClassifierSymbol<*>? {
|
override fun resolveSymbolWithPrefix(parts: List<FirQualifierPart>, prefix: ClassId): FirClassifierSymbol<*>? {
|
||||||
val symbolProvider = session.firSymbolProvider
|
val symbolProvider = session.symbolProvider
|
||||||
|
|
||||||
val fqName = ClassId(
|
val fqName = ClassId(
|
||||||
prefix.packageFqName,
|
prefix.packageFqName,
|
||||||
@@ -29,7 +29,7 @@ class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver()
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun resolveSymbol(parts: List<FirQualifierPart>): FirClassifierSymbol<*>? {
|
override fun resolveSymbol(parts: List<FirQualifierPart>): FirClassifierSymbol<*>? {
|
||||||
val firProvider = session.firSymbolProvider
|
val firProvider = session.symbolProvider
|
||||||
|
|
||||||
if (parts.isNotEmpty()) {
|
if (parts.isNotEmpty()) {
|
||||||
val lastPart = mutableListOf<FirQualifierPart>()
|
val lastPart = mutableListOf<FirQualifierPart>()
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.name.ClassId
|
|||||||
class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver() {
|
class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver() {
|
||||||
|
|
||||||
private val symbolProvider by lazy {
|
private val symbolProvider by lazy {
|
||||||
session.firSymbolProvider
|
session.symbolProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
private data class ClassIdInSession(val session: FirSession, val id: ClassId)
|
private data class ClassIdInSession(val session: FirSession, val id: ClassId)
|
||||||
|
|||||||
+2
-2
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
|||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildResolvedImport
|
import org.jetbrains.kotlin.fir.declarations.builder.buildResolvedImport
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||||
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||||
import org.jetbrains.kotlin.fir.visitors.compose
|
import org.jetbrains.kotlin.fir.visitors.compose
|
||||||
@@ -34,7 +34,7 @@ open class FirImportResolveTransformer protected constructor(
|
|||||||
|
|
||||||
constructor(session: FirSession) : this(session, FirResolvePhase.IMPORTS)
|
constructor(session: FirSession) : this(session, FirResolvePhase.IMPORTS)
|
||||||
|
|
||||||
private val symbolProvider: FirSymbolProvider = session.firSymbolProvider
|
private val symbolProvider: FirSymbolProvider = session.symbolProvider
|
||||||
|
|
||||||
override fun transformFile(file: FirFile, data: Nothing?): CompositeTransformResult<FirFile> {
|
override fun transformFile(file: FirFile, data: Nothing?): CompositeTransformResult<FirFile> {
|
||||||
checkSessionConsistency(file)
|
checkSessionConsistency(file)
|
||||||
|
|||||||
+2
-2
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||||
@@ -77,7 +77,7 @@ class FirSealedClassInheritorsTransformer : FirTransformer<Nothing?>() {
|
|||||||
data.computeIfAbsent(regularClass) { mutableListOf() }
|
data.computeIfAbsent(regularClass) { mutableListOf() }
|
||||||
}
|
}
|
||||||
|
|
||||||
val symbolProvider = regularClass.session.firSymbolProvider
|
val symbolProvider = regularClass.session.symbolProvider
|
||||||
|
|
||||||
for (typeRef in regularClass.superTypeRefs) {
|
for (typeRef in regularClass.superTypeRefs) {
|
||||||
val parent = extractClassFromTypeRef(symbolProvider, typeRef).takeIf { it?.modality == Modality.SEALED } ?: continue
|
val parent = extractClassFromTypeRef(symbolProvider, typeRef).takeIf { it?.modality == Modality.SEALED } ?: continue
|
||||||
|
|||||||
+2
-3
@@ -11,9 +11,8 @@ import org.jetbrains.kotlin.fir.expressions.FirBlock
|
|||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.dfa.symbol
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.firProvider
|
import org.jetbrains.kotlin.fir.resolve.firProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.LocalClassesNavigationInfo
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.LocalClassesNavigationInfo
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirCompositeScope
|
import org.jetbrains.kotlin.fir.scopes.FirCompositeScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
@@ -224,7 +223,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
|||||||
protected val containingClass: FirClass<*>? get() = classes.lastOrNull()
|
protected val containingClass: FirClass<*>? get() = classes.lastOrNull()
|
||||||
|
|
||||||
private val firProvider = session.firProvider
|
private val firProvider = session.firProvider
|
||||||
private val symbolProvider = session.firSymbolProvider
|
private val symbolProvider = session.symbolProvider
|
||||||
|
|
||||||
protected abstract fun FirDeclaration.needResolveMembers(): Boolean
|
protected abstract fun FirDeclaration.needResolveMembers(): Boolean
|
||||||
protected abstract fun FirDeclaration.needResolveNestedClassifiers(): Boolean
|
protected abstract fun FirDeclaration.needResolveNestedClassifiers(): Boolean
|
||||||
|
|||||||
+2
-2
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.expressions.FirBlock
|
|||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirNamedArgumentExpression
|
import org.jetbrains.kotlin.fir.expressions.FirNamedArgumentExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildVarargArgumentsExpression
|
import org.jetbrains.kotlin.fir.expressions.builder.buildVarargArgumentsExpression
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
@@ -108,7 +108,7 @@ fun FirBlock.writeResultType(session: FirSession) {
|
|||||||
|
|
||||||
fun ConstantValueKind<*>.expectedConeType(session: FirSession): ConeKotlinType {
|
fun ConstantValueKind<*>.expectedConeType(session: FirSession): ConeKotlinType {
|
||||||
fun constructLiteralType(classId: ClassId, isNullable: Boolean = false): ConeKotlinType {
|
fun constructLiteralType(classId: ClassId, isNullable: Boolean = false): ConeKotlinType {
|
||||||
val symbol = session.firSymbolProvider.getClassLikeSymbolByFqName(classId)
|
val symbol = session.symbolProvider.getClassLikeSymbolByFqName(classId)
|
||||||
?: return ConeClassErrorType(ConeSimpleDiagnostic("Missing stdlib class: $classId", DiagnosticKind.MissingStdlibClass))
|
?: return ConeClassErrorType(ConeSimpleDiagnostic("Missing stdlib class: $classId", DiagnosticKind.MissingStdlibClass))
|
||||||
return symbol.toLookupTag().constructClassType(emptyArray(), isNullable)
|
return symbol.toLookupTag().constructClassType(emptyArray(), isNullable)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -127,7 +127,7 @@ abstract class FirAbstractBodyResolveTransformer(phase: FirResolvePhase) : FirAb
|
|||||||
override val container: FirDeclaration get() = context.containerIfAny!!
|
override val container: FirDeclaration get() = context.containerIfAny!!
|
||||||
|
|
||||||
override val noExpectedType: FirTypeRef = buildImplicitTypeRef()
|
override val noExpectedType: FirTypeRef = buildImplicitTypeRef()
|
||||||
override val symbolProvider: FirSymbolProvider = session.firSymbolProvider
|
override val symbolProvider: FirSymbolProvider = session.symbolProvider
|
||||||
|
|
||||||
override val resolutionStageRunner: ResolutionStageRunner = ResolutionStageRunner()
|
override val resolutionStageRunner: ResolutionStageRunner = ResolutionStageRunner()
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -6,17 +6,17 @@
|
|||||||
package org.jetbrains.kotlin.fir.scopes.impl
|
package org.jetbrains.kotlin.fir.scopes.impl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirDependenciesSymbolProviderImpl
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirDependenciesSymbolProviderImpl
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
|
|
||||||
abstract class FirAbstractProviderBasedScope(val session: FirSession, lookupInFir: Boolean = true) :
|
abstract class FirAbstractProviderBasedScope(val session: FirSession, lookupInFir: Boolean = true) :
|
||||||
FirScope() {
|
FirScope() {
|
||||||
val provider = when (val symbolProvider = session.firSymbolProvider) {
|
val provider = when (val symbolProvider = session.symbolProvider) {
|
||||||
is FirCompositeSymbolProvider -> symbolProvider.takeIf { !lookupInFir }?.providers?.find {
|
is FirCompositeSymbolProvider -> symbolProvider.takeIf { !lookupInFir }?.providers?.find {
|
||||||
it is FirDependenciesSymbolProviderImpl
|
it is FirDependenciesSymbolProviderImpl
|
||||||
} ?: symbolProvider
|
} ?: symbolProvider
|
||||||
else -> symbolProvider
|
else -> symbolProvider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
|
|||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||||
@@ -27,7 +27,7 @@ abstract class FirAbstractSimpleImportingScope(
|
|||||||
override fun processClassifiersByNameWithSubstitution(name: Name, processor: (FirClassifierSymbol<*>, ConeSubstitutor) -> Unit) {
|
override fun processClassifiersByNameWithSubstitution(name: Name, processor: (FirClassifierSymbol<*>, ConeSubstitutor) -> Unit) {
|
||||||
val imports = simpleImports[name] ?: return
|
val imports = simpleImports[name] ?: return
|
||||||
if (imports.isEmpty()) return
|
if (imports.isEmpty()) return
|
||||||
val provider = session.firSymbolProvider
|
val provider = session.symbolProvider
|
||||||
for (import in imports) {
|
for (import in imports) {
|
||||||
val importedName = import.importedName ?: continue
|
val importedName = import.importedName ?: continue
|
||||||
val classId =
|
val classId =
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.scopes.impl
|
package org.jetbrains.kotlin.fir.scopes.impl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.ensureResolvedForCalls
|
import org.jetbrains.kotlin.fir.resolve.transformers.ensureResolvedForCalls
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.name.FqName
|
|||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
class FirPackageMemberScope(val fqName: FqName, val session: FirSession) : FirScope() {
|
class FirPackageMemberScope(val fqName: FqName, val session: FirSession) : FirScope() {
|
||||||
private val symbolProvider = session.firSymbolProvider
|
private val symbolProvider = session.symbolProvider
|
||||||
private val classifierCache: MutableMap<Name, FirClassifierSymbol<*>?> = mutableMapOf()
|
private val classifierCache: MutableMap<Name, FirClassifierSymbol<*>?> = mutableMapOf()
|
||||||
private val functionCache: MutableMap<Name, List<FirNamedFunctionSymbol>> = mutableMapOf()
|
private val functionCache: MutableMap<Name, List<FirNamedFunctionSymbol>> = mutableMapOf()
|
||||||
private val propertyCache: MutableMap<Name, List<FirPropertySymbol>> = mutableMapOf()
|
private val propertyCache: MutableMap<Name, List<FirPropertySymbol>> = mutableMapOf()
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
|||||||
|
|
||||||
interface ConeInferenceContext : TypeSystemInferenceExtensionContext, ConeTypeContext {
|
interface ConeInferenceContext : TypeSystemInferenceExtensionContext, ConeTypeContext {
|
||||||
|
|
||||||
val symbolProvider: FirSymbolProvider get() = session.firSymbolProvider
|
val symbolProvider: FirSymbolProvider get() = session.symbolProvider
|
||||||
|
|
||||||
override fun nullableNothingType(): SimpleTypeMarker {
|
override fun nullableNothingType(): SimpleTypeMarker {
|
||||||
return session.builtinTypes.nullableNothingType.type//StandardClassIds.Nothing(symbolProvider).constructType(emptyArray(), true)
|
return session.builtinTypes.nullableNothingType.type//StandardClassIds.Nothing(symbolProvider).constructType(emptyArray(), true)
|
||||||
@@ -472,7 +472,7 @@ interface ConeInferenceContext : TypeSystemInferenceExtensionContext, ConeTypeCo
|
|||||||
val classId = if (isSuspend)
|
val classId = if (isSuspend)
|
||||||
StandardNames.getSuspendFunctionClassId(parametersNumber)
|
StandardNames.getSuspendFunctionClassId(parametersNumber)
|
||||||
else StandardNames.getFunctionClassId(parametersNumber)
|
else StandardNames.getFunctionClassId(parametersNumber)
|
||||||
return session.firSymbolProvider.getClassLikeSymbolByFqName(classId)?.toLookupTag()
|
return session.symbolProvider.getClassLikeSymbolByFqName(classId)?.toLookupTag()
|
||||||
?: error("Can't find Function type")
|
?: error("Can't find Function type")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -480,7 +480,7 @@ interface ConeInferenceContext : TypeSystemInferenceExtensionContext, ConeTypeCo
|
|||||||
val classId = if (isSuspend)
|
val classId = if (isSuspend)
|
||||||
StandardNames.getKSuspendFunctionClassId(parametersNumber)
|
StandardNames.getKSuspendFunctionClassId(parametersNumber)
|
||||||
else StandardNames.getKFunctionClassId(parametersNumber)
|
else StandardNames.getKFunctionClassId(parametersNumber)
|
||||||
return session.firSymbolProvider.getClassLikeSymbolByFqName(classId)?.toLookupTag()
|
return session.symbolProvider.getClassLikeSymbolByFqName(classId)?.toLookupTag()
|
||||||
?: error("Can't find KFunction type")
|
?: error("Can't find KFunction type")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
|||||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||||
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
||||||
import org.jetbrains.kotlin.fir.resolve.directExpansionType
|
import org.jetbrains.kotlin.fir.resolve.directExpansionType
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe
|
||||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||||
@@ -278,7 +278,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
|||||||
inner class FirRenderer : FirVisitor<Unit, StringBuilder>() {
|
inner class FirRenderer : FirVisitor<Unit, StringBuilder>() {
|
||||||
private val session = firFile.session
|
private val session = firFile.session
|
||||||
private val filePackage = firFile.packageFqName.toString().replace(".", "/")
|
private val filePackage = firFile.packageFqName.toString().replace(".", "/")
|
||||||
private val symbolProvider = firFile.session.firSymbolProvider
|
private val symbolProvider = firFile.session.symbolProvider
|
||||||
|
|
||||||
private fun removeCurrentFilePackage(fqName: String): String {
|
private fun removeCurrentFilePackage(fqName: String): String {
|
||||||
return if (fqName.startsWith(filePackage) && !fqName.substring(filePackage.length + 1).contains("/")) {
|
return if (fqName.startsWith(filePackage) && !fqName.substring(filePackage.length + 1).contains("/")) {
|
||||||
|
|||||||
+2
-2
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.psi
|
|||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
||||||
import org.jetbrains.kotlin.idea.fir.low.level.api.element.builder.FirTowerDataContextCollector
|
import org.jetbrains.kotlin.idea.fir.low.level.api.element.builder.FirTowerDataContextCollector
|
||||||
import org.jetbrains.kotlin.idea.fir.low.level.api.trasformers.FirDesignatedBodyResolveTransformerForIDE
|
import org.jetbrains.kotlin.idea.fir.low.level.api.trasformers.FirDesignatedBodyResolveTransformerForIDE
|
||||||
@@ -49,7 +49,7 @@ internal class FirLazyDeclarationResolver(
|
|||||||
else -> error("Invalid source of property accessor ${ktDeclaration::class}")
|
else -> error("Invalid source of property accessor ${ktDeclaration::class}")
|
||||||
}
|
}
|
||||||
val containingProperty = ktContainingResolvableDeclaration
|
val containingProperty = ktContainingResolvableDeclaration
|
||||||
.findSourceNonLocalFirDeclaration(firFileBuilder, declaration.session.firSymbolProvider, moduleFileCache)
|
.findSourceNonLocalFirDeclaration(firFileBuilder, declaration.session.symbolProvider, moduleFileCache)
|
||||||
return lazyResolveDeclaration(containingProperty, moduleFileCache, toPhase, towerDataContextCollector)
|
return lazyResolveDeclaration(containingProperty, moduleFileCache, toPhase, towerDataContextCollector)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.checkers.registerCommonCheckers
|
|||||||
import org.jetbrains.kotlin.fir.dependenciesWithoutSelf
|
import org.jetbrains.kotlin.fir.dependenciesWithoutSelf
|
||||||
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
|
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.java.deserialization.KotlinDeserializedJvmSymbolsProvider
|
import org.jetbrains.kotlin.fir.java.deserialization.KotlinDeserializedJvmSymbolsProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider
|
||||||
@@ -108,7 +108,7 @@ internal object FirIdeSessionFactory {
|
|||||||
builtinsAndCloneableSession,
|
builtinsAndCloneableSession,
|
||||||
builtinTypes,
|
builtinTypes,
|
||||||
librariesCache
|
librariesCache
|
||||||
).firSymbolProvider
|
).symbolProvider
|
||||||
)
|
)
|
||||||
dependentModules
|
dependentModules
|
||||||
.mapTo(this) {
|
.mapTo(this) {
|
||||||
@@ -122,7 +122,7 @@ internal object FirIdeSessionFactory {
|
|||||||
sessionsCache,
|
sessionsCache,
|
||||||
isRootModule = false,
|
isRootModule = false,
|
||||||
librariesCache,
|
librariesCache,
|
||||||
).firSymbolProvider
|
).symbolProvider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@@ -185,7 +185,7 @@ internal object FirIdeSessionFactory {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
add(javaSymbolProvider)
|
add(javaSymbolProvider)
|
||||||
addAll((builtinsAndCloneableSession.firSymbolProvider as FirCompositeSymbolProvider).providers)
|
addAll((builtinsAndCloneableSession.symbolProvider as FirCompositeSymbolProvider).providers)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.idea.frontend.api.fir
|
|||||||
|
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState
|
import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState
|
||||||
import org.jetbrains.kotlin.idea.fir.low.level.api.api.LowLevelFirApiFacadeForCompletion
|
import org.jetbrains.kotlin.idea.fir.low.level.api.api.LowLevelFirApiFacadeForCompletion
|
||||||
import org.jetbrains.kotlin.idea.fir.low.level.api.api.getFirFile
|
import org.jetbrains.kotlin.idea.fir.low.level.api.api.getFirFile
|
||||||
@@ -45,7 +45,7 @@ private constructor(
|
|||||||
override val callResolver: KtCallResolver = KtFirCallResolver(this, token)
|
override val callResolver: KtCallResolver = KtFirCallResolver(this, token)
|
||||||
override val scopeProvider by threadLocal { KtFirScopeProvider(this, firSymbolBuilder, project, firResolveState, token) }
|
override val scopeProvider by threadLocal { KtFirScopeProvider(this, firSymbolBuilder, project, firResolveState, token) }
|
||||||
override val symbolProvider: KtSymbolProvider =
|
override val symbolProvider: KtSymbolProvider =
|
||||||
KtFirSymbolProvider(this, firResolveState.rootModuleSession.firSymbolProvider, firResolveState, firSymbolBuilder, token)
|
KtFirSymbolProvider(this, firResolveState.rootModuleSession.symbolProvider, firResolveState, firSymbolBuilder, token)
|
||||||
override val completionCandidateChecker: KtCompletionCandidateChecker = KtFirCompletionCandidateChecker(this, token)
|
override val completionCandidateChecker: KtCompletionCandidateChecker = KtFirCompletionCandidateChecker(this, token)
|
||||||
override val symbolDeclarationOverridesProvider: KtSymbolDeclarationOverridesProvider =
|
override val symbolDeclarationOverridesProvider: KtSymbolDeclarationOverridesProvider =
|
||||||
KtFirSymbolDeclarationOverridesProvider(this, token)
|
KtFirSymbolDeclarationOverridesProvider(this, token)
|
||||||
|
|||||||
+2
-2
@@ -11,7 +11,7 @@ import com.intellij.psi.search.GlobalSearchScope
|
|||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag
|
import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag
|
||||||
@@ -46,7 +46,7 @@ internal class KtSymbolByFirBuilder private constructor(
|
|||||||
) : ValidityTokenOwner {
|
) : ValidityTokenOwner {
|
||||||
private val resolveState by weakRef(resolveState)
|
private val resolveState by weakRef(resolveState)
|
||||||
|
|
||||||
private val firProvider get() = resolveState.rootModuleSession.firSymbolProvider
|
private val firProvider get() = resolveState.rootModuleSession.symbolProvider
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
resolveState: FirModuleResolveState,
|
resolveState: FirModuleResolveState,
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeAmbiguityError
|
|||||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeInapplicableCandidateError
|
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeInapplicableCandidateError
|
||||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeOperatorAmbiguityError
|
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeOperatorAmbiguityError
|
||||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeWrongNumberOfTypeArgumentsError
|
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeWrongNumberOfTypeArgumentsError
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||||
@@ -311,7 +311,7 @@ internal object FirReferenceResolveHelper {
|
|||||||
return listOfNotNull(classId.toTargetPsi(session, symbolBuilder))
|
return listOfNotNull(classId.toTargetPsi(session, symbolBuilder))
|
||||||
}
|
}
|
||||||
val name = fir.importedName ?: return emptyList()
|
val name = fir.importedName ?: return emptyList()
|
||||||
val symbolProvider = session.firSymbolProvider
|
val symbolProvider = session.symbolProvider
|
||||||
|
|
||||||
@OptIn(ExperimentalStdlibApi::class)
|
@OptIn(ExperimentalStdlibApi::class)
|
||||||
return buildList {
|
return buildList {
|
||||||
|
|||||||
+3
-3
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.idea.references
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||||
@@ -36,7 +36,7 @@ class KtFirCollectionLiteralReference(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun KtFirAnalysisSession.arrayOfSymbol(identifier: Name): KtSymbol? {
|
private fun KtFirAnalysisSession.arrayOfSymbol(identifier: Name): KtSymbol? {
|
||||||
val fir = firResolveState.rootModuleSession.firSymbolProvider.getTopLevelCallableSymbols(kotlinPackage, identifier).firstOrNull {
|
val fir = firResolveState.rootModuleSession.symbolProvider.getTopLevelCallableSymbols(kotlinPackage, identifier).firstOrNull {
|
||||||
/* choose (for byte array)
|
/* choose (for byte array)
|
||||||
* public fun byteArrayOf(vararg elements: kotlin.Byte): kotlin.ByteArray
|
* public fun byteArrayOf(vararg elements: kotlin.Byte): kotlin.ByteArray
|
||||||
*/
|
*/
|
||||||
@@ -56,4 +56,4 @@ class KtFirCollectionLiteralReference(
|
|||||||
Name.identifier("${shortClassName.identifier.decapitalize()}Of")
|
Name.identifier("${shortClassName.identifier.decapitalize()}Of")
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user