Replace ad-hoc .newRef() with .toFirResolvedTypeRef()
This commit is contained in:
+4
-5
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
|||||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.constructClassLikeType
|
import org.jetbrains.kotlin.fir.types.constructClassLikeType
|
||||||
|
import org.jetbrains.kotlin.fir.types.toFirResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
import org.jetbrains.kotlinx.serialization.compiler.resolve.SerialEntityNames
|
import org.jetbrains.kotlinx.serialization.compiler.resolve.SerialEntityNames
|
||||||
@@ -38,7 +39,9 @@ fun FirDeclarationGenerationExtension.buildPrimaryConstructor(owner: FirClassSym
|
|||||||
return buildPrimaryConstructor {
|
return buildPrimaryConstructor {
|
||||||
moduleData = session.moduleData
|
moduleData = session.moduleData
|
||||||
origin = key.origin
|
origin = key.origin
|
||||||
returnTypeRef = owner.defaultType().newRef()
|
returnTypeRef = run {
|
||||||
|
owner.defaultType().toFirResolvedTypeRef()
|
||||||
|
}
|
||||||
this.status = status
|
this.status = status
|
||||||
symbol = FirConstructorSymbol(classId)
|
symbol = FirConstructorSymbol(classId)
|
||||||
if (isInner && classId.isNestedClass) {
|
if (isInner && classId.isNestedClass) {
|
||||||
@@ -52,10 +55,6 @@ fun FirDeclarationGenerationExtension.buildPrimaryConstructor(owner: FirClassSym
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun ConeKotlinType.newRef(): FirResolvedTypeRef = buildResolvedTypeRef {
|
|
||||||
type = this@newRef
|
|
||||||
}
|
|
||||||
|
|
||||||
fun newSimpleTypeParameter(firSession: FirSession, containingDeclarationSymbol: FirBasedSymbol<*>, name: Name) = buildTypeParameter {
|
fun newSimpleTypeParameter(firSession: FirSession, containingDeclarationSymbol: FirBasedSymbol<*>, name: Name) = buildTypeParameter {
|
||||||
moduleData = firSession.moduleData
|
moduleData = firSession.moduleData
|
||||||
origin = SerializationPluginKey.origin
|
origin = SerializationPluginKey.origin
|
||||||
|
|||||||
+4
-7
@@ -30,11 +30,8 @@ import org.jetbrains.kotlin.fir.scopes.impl.toConeType
|
|||||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||||
import org.jetbrains.kotlin.fir.symbols.constructStarProjectedType
|
import org.jetbrains.kotlin.fir.symbols.constructStarProjectedType
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.ConeTypeProjection
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.classId
|
|
||||||
import org.jetbrains.kotlin.fir.types.constructClassLikeType
|
|
||||||
import org.jetbrains.kotlin.fir.types.toTypeProjection
|
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -195,7 +192,7 @@ class SerializationFirResolveExtension(session: FirSession) : FirDeclarationGene
|
|||||||
valueParameters.addAll(List(serializableClassSymbol.typeParameterSymbols.size) { i ->
|
valueParameters.addAll(List(serializableClassSymbol.typeParameterSymbols.size) { i ->
|
||||||
newSimpleValueParameter(
|
newSimpleValueParameter(
|
||||||
session,
|
session,
|
||||||
kSerializerClassId.constructClassLikeType(arrayOf(parametersAsArguments[i]), false).newRef(),
|
kSerializerClassId.constructClassLikeType(arrayOf(parametersAsArguments[i]), false).toFirResolvedTypeRef(),
|
||||||
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
|
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@@ -267,7 +264,7 @@ class SerializationFirResolveExtension(session: FirSession) : FirDeclarationGene
|
|||||||
valueParameters.addAll(owner.typeParameterSymbols.mapIndexed { i, typeParam ->
|
valueParameters.addAll(owner.typeParameterSymbols.mapIndexed { i, typeParam ->
|
||||||
newSimpleValueParameter(
|
newSimpleValueParameter(
|
||||||
session,
|
session,
|
||||||
kSerializerClassId.constructClassLikeType(arrayOf(typeParam.toConeType()), false).newRef(),
|
kSerializerClassId.constructClassLikeType(arrayOf(typeParam.toConeType()), false).toFirResolvedTypeRef(),
|
||||||
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
|
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@@ -311,7 +308,7 @@ class SerializationFirResolveExtension(session: FirSession) : FirDeclarationGene
|
|||||||
isNullable = false
|
isNullable = false
|
||||||
)
|
)
|
||||||
), isNullable = false
|
), isNullable = false
|
||||||
).newRef()
|
).toFirResolvedTypeRef()
|
||||||
}
|
}
|
||||||
return serializerFirClass.symbol
|
return serializerFirClass.symbol
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user