FIR: Mark all dependencies' declarations as fully resolved
This commit is contained in:
+4
-3
@@ -17,7 +17,8 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirEnumEntryImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirSealedClassImpl
|
||||
import org.jetbrains.kotlin.fir.scopes.KotlinScopeProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
@@ -78,7 +79,7 @@ fun deserializeClassToSymbol(
|
||||
)
|
||||
}
|
||||
firClass.apply {
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
val context =
|
||||
parentContext?.childContext(
|
||||
classProto.typeParameterList,
|
||||
@@ -136,7 +137,7 @@ fun deserializeClassToSymbol(
|
||||
isStatic = true
|
||||
}
|
||||
).apply {
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
}
|
||||
|
||||
property
|
||||
|
||||
+4
-4
@@ -146,7 +146,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
||||
local.typeDeserializer.type(proto.underlyingType(c.typeTable))
|
||||
)
|
||||
).apply {
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
typeParameters += local.typeDeserializer.ownTypeParameters.map { it.fir }
|
||||
}
|
||||
}
|
||||
@@ -184,7 +184,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
||||
false,
|
||||
status
|
||||
).apply {
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
typeParameters += local.typeDeserializer.ownTypeParameters.map { it.fir }
|
||||
annotations += c.annotationDeserializer.loadPropertyAnnotations(proto, local.nameResolver)
|
||||
getter = FirDefaultPropertyGetter(null, c.session, returnTypeRef, ProtoEnumFlags.visibility(Flags.VISIBILITY.get(getterFlags)))
|
||||
@@ -234,7 +234,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
||||
status,
|
||||
symbol
|
||||
).apply {
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
typeParameters += local.typeDeserializer.ownTypeParameters.map { it.fir }
|
||||
valueParameters += local.memberDeserializer.valueParameters(proto.valueParameterList)
|
||||
annotations += local.annotationDeserializer.loadFunctionAnnotations(proto, local.nameResolver)
|
||||
@@ -290,7 +290,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
||||
symbol
|
||||
)
|
||||
}.apply {
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
this.typeParameters += typeParameters
|
||||
valueParameters += local.memberDeserializer.valueParameters(proto.valueParameterList)
|
||||
annotations += local.annotationDeserializer.loadConstructorAnnotations(proto, local.nameResolver)
|
||||
|
||||
+2
-2
@@ -166,7 +166,7 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider:
|
||||
kotlinScopeProvider,
|
||||
this
|
||||
).apply klass@{
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
typeParameters.addAll((1..arity).map {
|
||||
FirTypeParameterImpl(
|
||||
null,
|
||||
@@ -222,7 +222,7 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider:
|
||||
functionStatus,
|
||||
FirNamedFunctionSymbol(CallableId(packageFqName, relativeClassName, name))
|
||||
).apply {
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument ->
|
||||
val parameterName = Name.identifier("p${index + 1}")
|
||||
FirValueParameterImpl(
|
||||
|
||||
Reference in New Issue
Block a user