blob: 90d26bfb7f672a7603ee0950ca3077fc5b0e684a [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()
}