Support JVM 8 target on Android

This commit is contained in:
Mikhail Bogdanov
2020-04-14 14:25:14 +02:00
parent 284533f72b
commit dda2f53993
17 changed files with 51 additions and 8 deletions
@@ -1,6 +1,7 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
// TARGET_BACKEND: JVM
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_REFLECT
// FULL_JDK
@@ -1,6 +1,10 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.EMIT_JVM_TYPE_ANNOTATIONS
// TARGET_BACKEND: JVM
// IGNORE_BACKEND_FIR: JVM_IR
// No virtual method getAnnotatedReturnType()Ljava/lang/reflect/AnnotatedType
// IGNORE_BACKEND: ANDROID
// WITH_REFLECT
// FULL_JDK
// JVM_TARGET: 1.8
+4
View File
@@ -1,6 +1,10 @@
// IGNORE_BACKEND_FIR: JVM_IR
// JVM_TARGET: 1.8
// TARGET_BACKEND: JVM
// NoSuchMethodError: java.util.List.stream
// IGNORE_BACKEND: ANDROID
// FULL_JDK
// WITH_RUNTIME
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: all-compatibility
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
// FULL_JDK
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: all-compatibility
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
// FULL_JDK
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: enable
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
// FULL_JDK
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: enable
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
// FULL_JDK
+2 -1
View File
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: enable
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_REFLECT
// FULL_JDK
@@ -50,5 +51,5 @@ fun checkNoMethod(clazz: Class<*>, name: String) {
catch (e: NoSuchMethodException) {
return
}
throw AssertionError("fail " + clazz)
throw AssertionError("fail: method $name was found in " + clazz)
}
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: enable
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: all
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
// FULL_JDK
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: all
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
// FULL_JDK
@@ -1,6 +1,7 @@
// !JVM_DEFAULT_MODE: enable
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: ANDROID
// JVM_TARGET: 1.8
// WITH_RUNTIME
// FULL_JDK
+2 -1
View File
@@ -2,6 +2,7 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// WITH_RUNTIME
package test
interface Z {
private fun privateFun() = { "OK" }
@@ -49,7 +50,7 @@ fun box(): String {
val nested = Z.Nested::class.java
val enclosingClass = nested.enclosingClass!!
if (enclosingClass.name != "Z") return "fail 9: ${enclosingClass.name}"
if (enclosingClass.name != "test.Z") return "fail 9: ${enclosingClass.name}"
return "OK"
}
+3
View File
@@ -1,6 +1,9 @@
// IGNORE_BACKEND_FIR: JVM_IR
// TARGET_BACKEND: JVM
// java.lang.NoSuchMethodError: java.util.TreeMap.remove
// IGNORE_BACKEND: ANDROID
// FULL_JDK
// JVM_TARGET: 1.8