40 lines
1012 B
Kotlin
Vendored
40 lines
1012 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// IGNORE_BACKEND: ANDROID
|
|
|
|
// WITH_RUNTIME
|
|
// FULL_JDK
|
|
|
|
package foo
|
|
|
|
class WithNative {
|
|
companion object {
|
|
@JvmStatic external fun bar(l: Long, s: String): Double
|
|
}
|
|
}
|
|
|
|
object ObjWithNative {
|
|
@JvmStatic external fun bar(l: Long, s: String): Double
|
|
}
|
|
|
|
fun box(): String {
|
|
var d = 0.0
|
|
try {
|
|
d = WithNative.bar(1, "")
|
|
return "Link error expected"
|
|
}
|
|
catch (e: java.lang.UnsatisfiedLinkError) {
|
|
if (e.message != "foo.WithNative.bar(JLjava/lang/String;)D" &&
|
|
e.message != "'double foo.WithNative.bar(long, java.lang.String)'") return "Fail 1: " + e.message
|
|
}
|
|
|
|
try {
|
|
d = ObjWithNative.bar(1, "")
|
|
return "Link error expected on object"
|
|
}
|
|
catch (e: java.lang.UnsatisfiedLinkError) {
|
|
if (e.message != "foo.ObjWithNative.bar(JLjava/lang/String;)D" &&
|
|
e.message != "'double foo.ObjWithNative.bar(long, java.lang.String)'") return "Fail 2: " + e.message
|
|
}
|
|
return "OK"
|
|
}
|