// 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" }