blob: 0c4a09c6037d016a98bf6eb9d8f0afcb8ed722ce [file] [log] [blame]
// Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package intrinsics
import java.lang.reflect.InvocationTargetException
fun main(args: Array<String>) {
testParameterNullCheck()
}
fun expectsNonNullParameters(a: String, b: String): String = a + b
fun testParameterNullCheck() {
println("> ${expectsNonNullParameters("pre", "post")} <")
val intrinsics = Class.forName("intrinsics.IntrinsicsKt")
val method =
intrinsics.getMethod("expectsNonNullParameters", String::class.java, String::class.java)
println("> ${method.invoke(null, "pre", "post")} <")
try {
println("> ${method.invoke(null, "pre", null)} <")
} catch (e: InvocationTargetException) {
println("> exception: ${e.targetException::javaClass} <")
return
}
throw AssertionError()
}