Use .firSymbolProvider instead of service, deprecate FirSession.service
This commit is contained in:
@@ -20,10 +20,7 @@ import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirUnitExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirSimpleNamedReference
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.directExpansionType
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.fir.resolve.withNullability
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.symbols.*
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
@@ -1172,7 +1169,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
|
||||
private fun FlowContent.generate(resolvedQualifier: FirResolvedQualifier) {
|
||||
resolved {
|
||||
val symbolProvider = session.service<FirSymbolProvider>()
|
||||
val symbolProvider = session.firSymbolProvider
|
||||
val classId = resolvedQualifier.classId
|
||||
if (classId != null) {
|
||||
symbolRef(symbolProvider.getClassLikeSymbolByFqName(classId)) {
|
||||
|
||||
+2
-1
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.expressions.FirVariable
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.resolve.FirProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.getOrPut
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
@@ -43,7 +44,7 @@ class Fir2IrDeclarationStorage(
|
||||
private val irSymbolTable: SymbolTable,
|
||||
private val moduleDescriptor: FirModuleDescriptor
|
||||
) {
|
||||
private val firSymbolProvider = session.service<FirSymbolProvider>()
|
||||
private val firSymbolProvider = session.firSymbolProvider
|
||||
|
||||
private val firProvider = session.service<FirProvider>()
|
||||
|
||||
|
||||
@@ -17,11 +17,8 @@ import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirUnitExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirPropertyFromParameterCallableReference
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.buildUseSiteScope
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.SyntheticPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
@@ -335,7 +332,7 @@ class Fir2IrVisitor(
|
||||
if (ownerClassId == null) {
|
||||
lastClass
|
||||
} else {
|
||||
val classLikeSymbol = session.service<FirSymbolProvider>().getClassLikeSymbolByFqName(ownerClassId)
|
||||
val classLikeSymbol = session.firSymbolProvider.getClassLikeSymbolByFqName(ownerClassId)
|
||||
if (classLikeSymbol !is FirClassSymbol) {
|
||||
lastClass
|
||||
} else {
|
||||
@@ -423,7 +420,7 @@ class Fir2IrVisitor(
|
||||
val constructedIrType = constructedTypeRef.toIrType(this@Fir2IrVisitor.session, declarationStorage)
|
||||
// TODO: find delegated constructor correctly
|
||||
val classId = constructedClassSymbol.classId
|
||||
val provider = this@Fir2IrVisitor.session.service<FirSymbolProvider>()
|
||||
val provider = this@Fir2IrVisitor.session.firSymbolProvider
|
||||
var constructorSymbol: FirConstructorSymbol? = null
|
||||
provider.getClassUseSiteMemberScope(classId, this@Fir2IrVisitor.session, ScopeSession())!!.processFunctionsByName(
|
||||
classId.shortClassName
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReferenceImpl
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.constructClassType
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.getClassDeclaredCallableSymbols
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
@@ -247,7 +248,7 @@ private fun JavaAnnotationArgument.toFirExpression(
|
||||
val classId = this@toFirExpression.enumClassId
|
||||
val entryName = this@toFirExpression.entryName
|
||||
val calleeReference = if (classId != null && entryName != null) {
|
||||
val callableSymbol = session.service<FirSymbolProvider>().getClassDeclaredCallableSymbols(
|
||||
val callableSymbol = session.firSymbolProvider.getClassDeclaredCallableSymbols(
|
||||
classId, entryName
|
||||
).firstOrNull()
|
||||
callableSymbol?.let {
|
||||
|
||||
+1
-1
@@ -210,7 +210,7 @@ class KotlinDeserializedJvmSymbolsProvider(
|
||||
val entryLookupTag = ConeClassLikeLookupTagImpl(entryClassId)
|
||||
val entryClassSymbol = entryLookupTag.toSymbol(this@KotlinDeserializedJvmSymbolsProvider.session)
|
||||
val entryCallableSymbol =
|
||||
this@KotlinDeserializedJvmSymbolsProvider.session.service<FirSymbolProvider>().getClassDeclaredCallableSymbols(
|
||||
this@KotlinDeserializedJvmSymbolsProvider.session.firSymbolProvider.getClassDeclaredCallableSymbols(
|
||||
this@toEnumEntryReferenceExpression, name
|
||||
).firstOrNull()
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirResolvedQualifierImpl
|
||||
import org.jetbrains.kotlin.fir.references.FirSimpleNamedReference
|
||||
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.PackageOrClass
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.resolveToPackageOrClass
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.resultType
|
||||
@@ -44,7 +44,7 @@ class FirQualifiedNameResolver(components: BodyResolveComponents) : BodyResolveC
|
||||
}
|
||||
|
||||
fun tryResolveAsQualifier(): FirResolvedQualifier? {
|
||||
val symbolProvider = session.service<FirSymbolProvider>()
|
||||
val symbolProvider = session.firSymbolProvider
|
||||
var qualifierParts = qualifierStack.asReversed().map { it.asString() }
|
||||
var resolved: PackageOrClass?
|
||||
do {
|
||||
|
||||
@@ -62,7 +62,7 @@ abstract class FirSymbolProvider : FirSessionComponent {
|
||||
fun getSessionForClass(classId: ClassId): FirSession? = getClassLikeSymbolByFqName(classId)?.fir?.session
|
||||
|
||||
companion object {
|
||||
fun getInstance(session: FirSession) = session.service<FirSymbolProvider>()
|
||||
fun getInstance(session: FirSession) = session.firSymbolProvider
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ fun createFunctionalType(
|
||||
val receiverAndParameterTypes = listOfNotNull(receiverType) + parameters + listOf(rawReturnType)
|
||||
|
||||
val functionalTypeId = StandardClassIds.byName("Function${receiverAndParameterTypes.size - 1}")
|
||||
val functionalType = functionalTypeId(session.service()).constructType(receiverAndParameterTypes.toTypedArray(), isNullable = false)
|
||||
val functionalType = functionalTypeId(session.firSymbolProvider).constructType(receiverAndParameterTypes.toTypedArray(), isNullable = false)
|
||||
return functionalType
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ val DECLARED = scopeSessionKey<FirScope>()
|
||||
data class SubstitutionScopeKey<T : FirClassSubstitutionScope>(val type: ConeClassLikeType) : ScopeSessionKey<T>() {}
|
||||
|
||||
fun FirRegularClass.buildUseSiteScope(useSiteSession: FirSession, builder: ScopeSession): FirScope? {
|
||||
val symbolProvider = useSiteSession.service<FirSymbolProvider>()
|
||||
val symbolProvider = useSiteSession.firSymbolProvider
|
||||
return symbolProvider.getClassUseSiteMemberScope(this.classId, useSiteSession, builder)
|
||||
}
|
||||
|
||||
|
||||
+2
-6
@@ -5,13 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.resolve.calls
|
||||
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.AbstractConeSubstitutor
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||
import org.jetbrains.kotlin.fir.resolve.withArguments
|
||||
import org.jetbrains.kotlin.fir.resolve.withNullability
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
@@ -28,7 +24,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.cast
|
||||
interface ConeInferenceContext : TypeSystemInferenceExtensionContext,
|
||||
ConeTypeContext {
|
||||
|
||||
val symbolProvider: FirSymbolProvider get() = session.service()
|
||||
val symbolProvider: FirSymbolProvider get() = session.firSymbolProvider
|
||||
|
||||
override val isErrorTypeAllowed: Boolean get() = false
|
||||
|
||||
|
||||
+2
-2
@@ -8,9 +8,9 @@ package org.jetbrains.kotlin.fir.resolve.calls
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.renderWithType
|
||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.invoke
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
@@ -71,7 +71,7 @@ internal object CreateFreshTypeVariableSubstitutorStage : ResolutionStage() {
|
||||
is FirStarProjection -> csBuilder.addEqualityConstraint(
|
||||
freshVariable.defaultType,
|
||||
typeParameter.bounds.firstOrNull()?.coneTypeUnsafe()
|
||||
?: StandardClassIds.Any(sink.components.session.service()).constructType(emptyArray(), true),
|
||||
?: StandardClassIds.Any(sink.components.session.firSymbolProvider).constructType(emptyArray(), true),
|
||||
SimpleConstraintSystemConstraintPosition
|
||||
)
|
||||
else -> assert(typeArgument == FirTypePlaceholderProjection) {
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.resolve.calls
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.invoke
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
@@ -117,7 +117,7 @@ private fun extraLambdaInfo(
|
||||
?: expectedType?.typeArguments?.singleOrNull()?.safeAs<ConeTypedProjection>()?.type?.takeIf { isFunctionSupertype }
|
||||
?: typeVariable.defaultType
|
||||
|
||||
val nothingType = StandardClassIds.Nothing(argument.session.service()).constructType(emptyArray(), false)
|
||||
val nothingType = StandardClassIds.Nothing(argument.session.firSymbolProvider).constructType(emptyArray(), false)
|
||||
val parameters = argument.valueParameters?.map {
|
||||
it.returnTypeRef.coneTypeSafe<ConeKotlinType>() ?: nothingType
|
||||
} ?: emptyList()
|
||||
@@ -156,7 +156,7 @@ private fun extractLambdaParameters(expectedType: ConeKotlinType, argument: FirA
|
||||
val parameters = argument.valueParameters
|
||||
val expectedParameters = expectedType.valueParameterTypes
|
||||
|
||||
val nullableAnyType = StandardClassIds.Any(argument.session.service()).constructType(emptyArray(), true)
|
||||
val nullableAnyType = StandardClassIds.Any(argument.session.firSymbolProvider).constructType(emptyArray(), true)
|
||||
|
||||
if (parameters.isEmpty()) {
|
||||
return expectedParameters.map { it?.type ?: nullableAnyType }
|
||||
|
||||
+2
-3
@@ -5,11 +5,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.resolve.calls
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds.Unit
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -69,7 +68,7 @@ class PostponedArgumentsAnalyzer(
|
||||
lambda: ResolvedLambdaAtom//,
|
||||
//diagnosticHolder: KotlinDiagnosticsHolder
|
||||
) {
|
||||
val unitType = Unit(components.session.service()).constructType(emptyArray(), false)
|
||||
val unitType = Unit(components.session.firSymbolProvider).constructType(emptyArray(), false)
|
||||
val stubsForPostponedVariables = c.bindingStubsForPostponedVariables()
|
||||
val currentSubstitutor = c.buildCurrentSubstitutor(stubsForPostponedVariables.mapKeys { it.key.freshTypeConstructor(c) })
|
||||
|
||||
|
||||
@@ -267,7 +267,7 @@ fun FirCallableDeclaration<*>.dispatchReceiverValue(session: FirSession): ClassD
|
||||
// TODO: this is not true atCall least for inner class constructors
|
||||
if (this is FirConstructor) return null
|
||||
val id = this.symbol.callableId.classId ?: return null
|
||||
val symbol = session.service<FirSymbolProvider>().getClassLikeSymbolByFqName(id) as? FirClassSymbol ?: return null
|
||||
val symbol = session.firSymbolProvider.getClassLikeSymbolByFqName(id) as? FirClassSymbol ?: return null
|
||||
val regularClass = symbol.fir
|
||||
|
||||
return ClassDispatchReceiverValue(regularClass.symbol)
|
||||
|
||||
+2
-3
@@ -8,10 +8,9 @@ package org.jetbrains.kotlin.fir.resolve.impl
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.dependenciesWithoutSelf
|
||||
import org.jetbrains.kotlin.fir.resolve.AbstractFirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
@@ -24,7 +23,7 @@ class FirDependenciesSymbolProviderImpl(val session: FirSession) : AbstractFirSy
|
||||
private val dependencyProviders by lazy {
|
||||
val moduleInfo = session.moduleInfo ?: return@lazy emptyList()
|
||||
moduleInfo.dependenciesWithoutSelf().mapNotNull {
|
||||
session.sessionProvider?.getSession(it)?.service<FirSymbolProvider>()
|
||||
session.sessionProvider?.getSession(it)?.firSymbolProvider
|
||||
}.toList()
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -54,7 +54,7 @@ open class FirBodyResolveTransformer(
|
||||
final override val noExpectedType = FirImplicitTypeRefImpl(null)
|
||||
private inline val builtinTypes: BuiltinTypes get() = session.builtinTypes
|
||||
|
||||
final override val symbolProvider = session.service<FirSymbolProvider>()
|
||||
final override val symbolProvider = session.firSymbolProvider
|
||||
|
||||
private var packageFqName = FqName.ROOT
|
||||
final override lateinit var file: FirFile
|
||||
@@ -173,7 +173,7 @@ open class FirBodyResolveTransformer(
|
||||
}
|
||||
|
||||
override fun transformTypeOperatorCall(typeOperatorCall: FirTypeOperatorCall, data: Any?): CompositeTransformResult<FirStatement> {
|
||||
val symbolProvider = session.service<FirSymbolProvider>()
|
||||
val symbolProvider = session.firSymbolProvider
|
||||
val resolved = transformExpression(typeOperatorCall, data).single
|
||||
when ((resolved as FirTypeOperatorCall).operation) {
|
||||
FirOperation.IS, FirOperation.NOT_IS -> {
|
||||
@@ -826,7 +826,7 @@ open class FirBodyResolveTransformer(
|
||||
|
||||
override fun transformGetClassCall(getClassCall: FirGetClassCall, data: Any?): CompositeTransformResult<FirStatement> {
|
||||
val transformedGetClassCall = transformExpression(getClassCall, data).single as FirGetClassCall
|
||||
val kClassSymbol = ClassId.fromString("kotlin/reflect/KClass")(session.service())
|
||||
val kClassSymbol = ClassId.fromString("kotlin/reflect/KClass")(session.firSymbolProvider)
|
||||
|
||||
val typeOfExpression = when (val lhs = transformedGetClassCall.argument) {
|
||||
is FirResolvedQualifier -> {
|
||||
|
||||
@@ -8,13 +8,13 @@ package org.jetbrains.kotlin.fir.types
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.invoke
|
||||
|
||||
|
||||
fun ConeKotlinType.createArrayOf(session: FirSession, nullable: Boolean = false): ConeKotlinType {
|
||||
val symbolProvider: FirSymbolProvider = session.service()
|
||||
val symbolProvider: FirSymbolProvider = session.firSymbolProvider
|
||||
if (this is ConeClassType) {
|
||||
val primitiveArrayId = StandardClassIds.primitiveArrayTypeByElementType[lookupTag.classId]
|
||||
if (primitiveArrayId != null) {
|
||||
@@ -33,7 +33,7 @@ fun ConeKotlinType.arrayElementType(session: FirSession): ConeKotlinType? {
|
||||
return (typeArguments.first() as ConeTypedProjection).type
|
||||
val elementType = StandardClassIds.elementTypeByPrimitiveArrayType[classId]
|
||||
if (elementType != null) {
|
||||
return elementType.invoke(session.service()).constructType(emptyArray(), isNullable = false)
|
||||
return elementType.invoke(session.firSymbolProvider).constructType(emptyArray(), isNullable = false)
|
||||
}
|
||||
|
||||
return null
|
||||
|
||||
@@ -155,7 +155,7 @@ interface ConeTypeContext : TypeSystemContext, TypeSystemOptimizationContext, Ty
|
||||
require(this is ConeKotlinType)
|
||||
|
||||
return this.typeArguments.getOrNull(index)
|
||||
?: StandardClassIds.Any(session.service()).constructType(emptyArray(), false) // TODO wtf
|
||||
?: StandardClassIds.Any(session.firSymbolProvider).constructType(emptyArray(), false) // TODO wtf
|
||||
}
|
||||
|
||||
override fun KotlinTypeMarker.asTypeArgument(): TypeArgumentMarker {
|
||||
|
||||
+2
-6
@@ -28,15 +28,11 @@ import org.jetbrains.kotlin.fir.java.declarations.FirJavaConstructor
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaMethod
|
||||
import org.jetbrains.kotlin.fir.java.scopes.JavaClassEnhancementScope
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.impl.FirCompositeSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirCompositeScope
|
||||
import org.jetbrains.kotlin.fir.service
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -151,7 +147,7 @@ abstract class AbstractFirTypeEnhancementTest : KtUsefulTestCase() {
|
||||
|
||||
val javaFirDump = StringBuilder().also { builder ->
|
||||
val renderer = FirRenderer(builder)
|
||||
val symbolProvider = session.service<FirSymbolProvider>() as FirCompositeSymbolProvider
|
||||
val symbolProvider = session.firSymbolProvider as FirCompositeSymbolProvider
|
||||
val javaProvider = symbolProvider.providers.filterIsInstance<JavaSymbolProvider>().first()
|
||||
|
||||
fun processClassWithChildren(psiClass: PsiClass, parentFqName: FqName) {
|
||||
|
||||
@@ -56,6 +56,7 @@ interface FirSessionProvider {
|
||||
fun getSession(moduleInfo: ModuleInfo): FirSession?
|
||||
}
|
||||
|
||||
@Deprecated("This is very slow, introduce & use componentArrayAccessor instead")
|
||||
inline fun <reified T : Any> FirSession.service(): T =
|
||||
getService(T::class)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user