Files
kotlin-fork/compiler/testData/codegen/box/delegatedProperty/callableReferenceAsSecondArgumentOfDelegate.kt
T
Kirill Rakhman 853ad54699 [FIR] Fix incorrect updating of callable reference type in delegated property
... if the delegate happens to be a function call whose second
argument is a callable reference but not actually a provideDelegate
call.
The fix is to ensure that the call is _actually_ a desugared
provideDelegate call.

This fixes a CCE in a case where the delegate expression is a regular
function call and the second argument is a callable reference.

#KT-65165 Fixed
2024-01-31 14:51:51 +00:00

23 lines
585 B
Kotlin
Vendored

// WITH_STDLIB
// ISSUE: KT-65165
import kotlin.properties.ReadOnlyProperty
import kotlin.reflect.KProperty
private class TransformedConfigPropertyString(
defaultValue: String,
private val transform: (String) -> Regex
) : ReadOnlyProperty<SampleClass, Regex> {
override fun getValue(thisRef: SampleClass, property: KProperty<*>): Regex {
return transform("string")
}
}
class SampleClass {
val ignoreStringsRegex: Regex by TransformedConfigPropertyString("$^", String::toRegex)
}
fun box(): String {
SampleClass().ignoreStringsRegex
return "OK"
}