Support reflection tests on Android

This commit is contained in:
Mikhael Bogdanov
2019-01-22 17:48:45 +01:00
parent 91980c5293
commit f2a51d3b80
49 changed files with 235 additions and 174 deletions
+6 -4
View File
@@ -2,6 +2,8 @@
// WITH_RUNTIME
package test
enum class IssueState {
DEFAULT,
FIXED {
@@ -15,15 +17,15 @@ fun box(): String {
val field = IssueState::class.java.getField("FIXED")
val typeName = field.type.name
if (typeName != "IssueState") return "Fail type name: $typeName"
if (typeName != "test.IssueState") return "Fail type name: $typeName"
val className = field.get(null).javaClass.name
if (className != "IssueState\$FIXED") return "Fail class name: $className"
if (className != "test.IssueState\$FIXED") return "Fail class name: $className"
val classLoader = IssueState::class.java.classLoader
classLoader.loadClass("IssueState\$FIXED")
classLoader.loadClass("test.IssueState\$FIXED")
try {
classLoader.loadClass("IssueState\$DEFAULT")
classLoader.loadClass("test.IssueState\$DEFAULT")
return "Fail: no class should have been generated for DEFAULT"
}
catch (e: Exception) {
+3 -1
View File
@@ -2,6 +2,8 @@
// WITH_RUNTIME
package test
enum class State {
O,
K
@@ -10,7 +12,7 @@ enum class State {
fun box(): String {
val field = State::class.java.getField("O")
val className = field.get(null).javaClass.name
if (className != "State") return "Fail: $className"
if (className != "test.State") return "Fail: $className"
return "${State.O.name}${State.K.name}"
}