[FIR] Fix generic sam conversion in call completion
#KT-60903 Fixed
This commit is contained in:
committed by
Space Team
parent
3ecadf1af7
commit
43180597fe
+1
-14
@@ -560,20 +560,7 @@ class FirCallCompletionResultsWriterTransformer(
|
||||
// a built-in functional type, no-brainer
|
||||
expectedArgumentType.isSomeFunctionType(session) -> expectedArgumentType
|
||||
// fun interface (a.k.a. SAM), then unwrap it and build a functional type from that interface function
|
||||
expectedArgumentType is ConeClassLikeType -> {
|
||||
expectedArgumentType.lookupTag.toFirRegularClass(session)?.let answer@{ firRegularClass ->
|
||||
val functionType = samResolver.getFunctionTypeForPossibleSamType(firRegularClass.defaultType())
|
||||
?: return@answer null
|
||||
val kind = functionType.functionTypeKind(session) ?: FunctionTypeKind.Function
|
||||
createFunctionType(
|
||||
kind,
|
||||
functionType.typeArguments.dropLast(1).map { it as ConeKotlinType },
|
||||
null,
|
||||
functionType.typeArguments.last() as ConeKotlinType
|
||||
)
|
||||
}
|
||||
}
|
||||
else -> null
|
||||
else -> samResolver.getFunctionTypeForPossibleSamType(expectedArgumentType)?.lowerBoundIfFlexible()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user