853ad54699
... 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
23 lines
585 B
Kotlin
Vendored
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"
|
|
} |