nadi
08/17/2024, 5:14 PMJoffrey
08/17/2024, 5:27 PMnadi
08/17/2024, 5:39 PMdata class SomeDataClass(val param: String)
import kotlin.reflect.KFunction1
fun <String, T0> KFunction1<String, T0>.someMethod(
param:String
) = println("i can be called from a data class reference " + param )
::SomeDataClass.someMethod("my param")
i can be called from a data class reference my param
i executed it inside kotlin replJoffrey
08/17/2024, 5:49 PM::SomeDataClass.someMethod
is different from SomeDataClass::someMethod
nadi
08/17/2024, 5:49 PMJoffrey
08/17/2024, 5:50 PMJoffrey
08/17/2024, 5:51 PMSomeDataClass
so it is a valid KFunction1<String, SomeDataClass>
Joffrey
08/17/2024, 5:51 PM::SomeDataClass
is a reference to the constructor, so it's ok to call the extension function on itnadi
08/17/2024, 5:55 PMnadi
08/17/2024, 5:55 PMnadi
08/17/2024, 5:55 PMnadi
08/17/2024, 5:55 PMnadi
08/17/2024, 5:56 PM(::SomeDataClass)::class
res15: kotlin.reflect.KClass<out kotlin.reflect.KFunction1<kotlin.String, Line_0.SomeDataClass>> = class Line_17$res15$1