Files
kotlin-fork/compiler/testData/codegen/boxWithStdlib/fullJdk/native/default.kt
T
Alexander Udalov 72aa3d1465 Use mock JDK in compiler tests where full JDK is not needed
- move some of boxWithStdlib tests under fullJdk/ directory, where they will be
  compiled against the full JDK
- introduce FULL_JDK in-text directive for the reflection test as only 4 tests
  out of 654 needed the full JDK
2015-04-02 21:57:48 +03:00

41 lines
1.0 KiB
Kotlin
Vendored

package foo
import kotlin.jvm.*
import kotlin.platform.*
object ObjWithNative {
native fun foo(x: Int = 1): Double
platformStatic native fun bar(l: Long, s: String = ""): Double
}
native fun topLevel(x: Int = 1): Double
fun box(): String {
var d = 0.0
try {
d = ObjWithNative.bar(1)
return "Link error expected on object"
}
catch (e: java.lang.UnsatisfiedLinkError) {
if (e.getMessage() != "foo.ObjWithNative.bar(JLjava/lang/String;)D") return "Fail 1: " + e.getMessage()
}
try {
d = ObjWithNative.foo()
return "Link error expected on object"
}
catch (e: java.lang.UnsatisfiedLinkError) {
if (e.getMessage() != "foo.ObjWithNative.foo(I)D") return "Fail 2: " + e.getMessage()
}
try {
d = topLevel()
return "Link error expected on object"
}
catch (e: java.lang.UnsatisfiedLinkError) {
if (e.getMessage() != "foo.FooPackage.topLevel(I)D") return "Fail 3: " + e.getMessage()
}
return "OK"
}