Initial internal member mangling
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package test
|
||||
|
||||
internal val noMangling = 1;
|
||||
|
||||
class Z {
|
||||
internal var noMangling = 1;
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val clazz = Z::class.java
|
||||
val classField = clazz.getDeclaredField("noMangling")
|
||||
if (classField == null) return "Class internal backing field should exist"
|
||||
if (!classField.isSynthetic) return "Class internal backing field should be synthetic"
|
||||
|
||||
val topLevel = Class.forName("test.FieldKt").getDeclaredField("noMangling")
|
||||
if (topLevel == null) return "Top level internal backing field should exist"
|
||||
if (!topLevel.isSynthetic) return "Top level internal backing field should be synthetic"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package test
|
||||
|
||||
internal fun noMangling() = 1;
|
||||
|
||||
class Z {
|
||||
internal fun mangled() = 1;
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val clazz = Z::class.java
|
||||
val declaredMethods = clazz.declaredMethods
|
||||
|
||||
val mangled = declaredMethods.firstOrNull {
|
||||
it.name.startsWith("mangled$")
|
||||
}
|
||||
if (mangled == null) return "Class internal function should exist"
|
||||
if (!mangled.isSynthetic) return "Class internal function should be synthetic"
|
||||
|
||||
val topLevel = Class.forName("test.FunKt").getMethod("noMangling")
|
||||
if (topLevel == null) return "Top level internal function should exist"
|
||||
if (!topLevel.isSynthetic) return "Top level internal function should be synthetic"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user