Properly capture local functions
Local functions in local classed wasn't captured properly
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
//adopted snippet from kdoc
|
||||
open class KModel {
|
||||
val sourcesInfo: String
|
||||
;{
|
||||
fun relativePath(psiFile: String): String {
|
||||
return psiFile;
|
||||
}
|
||||
sourcesInfo = relativePath("OK")
|
||||
}
|
||||
}
|
||||
|
||||
fun box():String {
|
||||
return KModel().sourcesInfo;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
trait Named {
|
||||
abstract fun getName() : String;
|
||||
}
|
||||
|
||||
trait MemberDescriptor : Named {}
|
||||
|
||||
trait ClassifierDescriptor : Named {}
|
||||
|
||||
trait ClassDescriptor : MemberDescriptor, ClassifierDescriptor {}
|
||||
|
||||
class ClassDescriptorImpl : ClassDescriptor {
|
||||
override fun getName(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
class A(val descriptor : ClassDescriptor) {
|
||||
val result : String = descriptor.getName()
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return A(ClassDescriptorImpl()).result
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
class Test {
|
||||
|
||||
val property:Int
|
||||
;{
|
||||
fun local():Int {
|
||||
return 10;
|
||||
}
|
||||
property = local();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return if (Test().property == 10) "OK" else "fail"
|
||||
}
|
||||
Reference in New Issue
Block a user