FIR: fix incorrect handling of suspend function typealiases again
The previous attempt stopped this code from throwing an exception during serialization, but the arity is still wrong so an exception is now throw when reading the serialized type. ^KT-50997 Fixed
This commit is contained in:
+6
@@ -49409,6 +49409,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
||||
runTest("compiler/testData/codegen/box/typealias/genericTypeAliasConstructor2.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incorrectTypeOfTypealiasForSuspendFTMM.kt")
|
||||
public void testIncorrectTypeOfTypealiasForSuspendFTMM() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/typealias/incorrectTypeOfTypealiasForSuspendFTMM.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("incorrectTypeOfTypealiasForSuspendFunctionalType.kt")
|
||||
public void testIncorrectTypeOfTypealiasForSuspendFunctionalType() throws Exception {
|
||||
|
||||
@@ -112,9 +112,9 @@ fun ConeKotlinType.suspendFunctionTypeToFunctionTypeWithContinuation(session: Fi
|
||||
val kind =
|
||||
if (isKFunctionType(session)) FunctionClassKind.KFunction
|
||||
else FunctionClassKind.Function
|
||||
val functionalTypeId = ClassId(kind.packageFqName, kind.numberedClassName(typeArguments.size))
|
||||
val fullyExpandedType = type.fullyExpandedType(session)
|
||||
val typeArguments = fullyExpandedType.typeArguments
|
||||
val functionalTypeId = ClassId(kind.packageFqName, kind.numberedClassName(typeArguments.size))
|
||||
val lastTypeArgument = typeArguments.last()
|
||||
return ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(functionalTypeId),
|
||||
|
||||
Reference in New Issue
Block a user