diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt index 1c5918d1a3f..99edd9b2b39 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedClassDeserialization.kt @@ -221,7 +221,8 @@ internal fun deserializeClassToSymbol( val zippedParameters = classOrObject.primaryConstructorParameters zip declarations.filterIsInstance() addDeclaration( - createDataClassCopyFunction( + // Explicit type arguments are needed to workaround KT-62544 + createDataClassCopyFunction( classId, classOrObject, context.dispatchReceiver, @@ -231,7 +232,7 @@ internal fun deserializeClassToSymbol( createParameterTypeRefWithSourceKind = { property, newKind -> property.returnTypeRef.copyWithNewSourceKind(newKind) }, - toFirSource = { src, kind -> KtFakeSourceElement(src as PsiElement, kind) }, + toFirSource = { src: Any?, kind -> KtFakeSourceElement(src as PsiElement, kind) }, addValueParameterAnnotations = { annotations += context.annotationDeserializer.loadAnnotations(it) }, isVararg = { it.isVarArg }, )