Initial internal member mangling

This commit is contained in:
Michael Bogdanov
2015-10-05 11:54:06 +03:00
parent 306ac73eb7
commit 882f6113dc
28 changed files with 364 additions and 30 deletions
@@ -0,0 +1,29 @@
open class A {
internal open val field = "AF"
internal open fun test(): String = "AM"
}
fun invokeOnA(a: A) = a.test() + a.field
class Z : A() {
override val field: String = "ZF"
override fun test(): String = "ZM"
}
fun box() : String {
var invokeOnA = invokeOnA(A())
if (invokeOnA != "AMAF") return "fail 1: $invokeOnA"
invokeOnA = invokeOnA(Z())
if (invokeOnA != "ZMZF") return "fail 2: $invokeOnA"
val z = Z().test()
if (z != "ZM") return "fail 3: $z"
val f = Z().field
if (f != "ZF") return "fail 4: $f"
return "OK"
}
@@ -0,0 +1,21 @@
open class A {
internal open val field = "F"
internal open fun test(): String = "A"
}
class Z : A() {
override fun test(): String = super.test()
override val field = super.field
}
fun box() : String {
val z = Z().test()
if (z != "A") return "fail 1: $z"
val f = Z().field
if (f != "F") return "fail 2: $f"
return "OK"
}
@@ -0,0 +1,29 @@
open class A {
internal open val field = "AF"
internal open fun test(): String = "AM"
}
fun invokeOnA(a: A) = a.test() + a.field
class Z : A() {
public override val field: String = "ZF"
public override fun test(): String = "ZM"
}
fun box() : String {
var invokeOnA = invokeOnA(A())
if (invokeOnA != "AMAF") return "fail 1: $invokeOnA"
invokeOnA = invokeOnA(Z())
if (invokeOnA != "ZMZF") return "fail 2: $invokeOnA"
val z = Z().test()
if (z != "ZM") return "fail 3: $z"
val f = Z().field
if (f != "ZF") return "fail 4: $f"
return "OK"
}
@@ -0,0 +1,21 @@
open class A {
internal open val field = "F"
internal open fun test(): String = "A"
}
class Z : A() {
public override fun test(): String = super.test()
public override val field = super.field
}
fun box() : String {
val z = Z().test()
if (z != "A") return "fail 1: $z"
val f = Z().field
if (f != "F") return "fail 2: $f"
return "OK"
}