I've made an interesting observation while working on a Gradle task: For a task hierarchy `DefaultTa...
l
I've made an interesting observation while working on a Gradle task: For a task hierarchy
DefaultTask > MyAbstractBaseTask > MyTask > MyTask_Decorated (generated by Gradle)
, inside
MyAbstractBaseTask
I've observed:
Copy code
println(this@MyAbstractBaseTask::class.supertypes)        // [MyAbstractBaseTask]
println(this@MyAbstractBaseTask.javaClass.superclass)     // MyTask
Is this expected?
v
Sounds like a Kotlin reflection bug to me.
this@MyAbstractBaseTask::class
and
this@MyAbstractBaseTask.javaClass
are both the
MyTask_Decorated
instance, yet they show different superclasses. 🤷‍♂️