Generate invokeSpecial for all private functions

This commit is contained in:
Natalia Ukhorskaya
2014-06-19 15:51:48 +04:00
parent c847d180a7
commit 28cbe95e0c
3 changed files with 28 additions and 5 deletions
@@ -1,6 +1,10 @@
package privateMember
fun main(args: Array<String>) {
val base = Base()
val derived = Derived()
val derivedAsBase: Base = Derived()
//Breakpoint!
args.size
}
@@ -14,6 +18,14 @@ class MyClass {
}
}
open class Base {
private fun privateFun() = 2
}
class Derived: Base() {
private fun privateFun() = 3
}
// EXPRESSION: MyClass().privateFun()
// RESULT: 1: I
@@ -21,4 +33,13 @@ class MyClass {
// RESULT: 1: I
// EXPRESSION: MyClass.PrivateClass().a
// RESULT: 1: I
// RESULT: 1: I
// EXPRESSION: base.privateFun()
// RESULT: 2: I
// EXPRESSION: derived.privateFun()
// RESULT: 3: I
// EXPRESSION: derivedAsBase.privateFun()
// RESULT: 2: I