Use ResolvedCall for callable reference in KCallableNameProperty intrinsic
Instead of manually inspecting the DOUBLE_COLON_LHS slice, which is a bit more error-prone. Note that new tests were passing before this change
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
fun box(): String {
|
||||
return if (call(10, ::calc) == 5) "OK" else "fail"
|
||||
}
|
||||
|
||||
fun calc(p: Int): Int {
|
||||
return p / 2
|
||||
}
|
||||
|
||||
inline fun call(p: Int, s: (Int) -> Int): Int {
|
||||
return s(p)
|
||||
}
|
||||
|
||||
// 0 NEW
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class Foo {
|
||||
fun bar(): String {
|
||||
return ::bar.name
|
||||
}
|
||||
}
|
||||
|
||||
// We can avoid loading (and then immediately popping) implicit "this" when generating intrinsified bytecode for KCallable.name
|
||||
// because this can't have any side effects
|
||||
// 0 POP
|
||||
Reference in New Issue
Block a user