K2: use Any? as last argument when serializing suspend types
K1 uses `Any?` in `transformSuspendFunctionToRuntimeFunctionType`, so use `Any?` in K2 too. This type is not used for anything, it's just an artifact of how suspend types are represented in metadata. It's removed during deserialization (see `TypeDeserializer.createSuspendFunctionType` or `FirTypeDeserializer.createSuspendFunctionType`). So it's not a user-visible change. The only effect is that it reduces differences in metadata between K1 and K2, namely in the test `libraries/tools/kotlinp/testData/ValueClass.kt`.
This commit is contained in:
committed by
Space Team
parent
afd35accd8
commit
06e370b012
+2
-2
@@ -41,7 +41,7 @@ fun ConeKotlinType.suspendFunctionTypeToFunctionTypeWithContinuation(session: Fi
|
||||
typeArguments = (typeArguments.dropLast(1) + continuationClassId.toLookupTag().constructClassType(
|
||||
arrayOf(lastTypeArgument),
|
||||
isNullable = false
|
||||
) + lastTypeArgument).toTypedArray(),
|
||||
) + session.builtinTypes.nullableAnyType.type).toTypedArray(),
|
||||
isNullable = fullyExpandedType.isNullable,
|
||||
attributes = fullyExpandedType.attributes
|
||||
)
|
||||
@@ -49,4 +49,4 @@ fun ConeKotlinType.suspendFunctionTypeToFunctionTypeWithContinuation(session: Fi
|
||||
|
||||
fun FirMemberDeclaration.shouldBeSerialized(actualizedExpectDeclaration: Set<FirDeclaration>?): Boolean {
|
||||
return !isExpect || actualizedExpectDeclaration == null || this !in actualizedExpectDeclaration
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user