Files
kotlin/compiler/testData/codegen/bytecodeText/kt7188.kt
Denis Vnukov 52ccd67ec1 Remove duplicate parameter null checks in JvmStatic delegate methods.
Remove unnecessary non-null parameter checks inside static delegate methods
created for @JvmStatic companion object methods. Allows function generation
strategy decide if such checks need to be injected.

 #KT-7188 Fixed
2017-12-14 13:48:50 +03:00

47 lines
1.2 KiB
Kotlin
Vendored

// WITH_RUNTIME
// TARGET_BACKEND: JVM
// FILE: Dummy.kt
// Empty body to trigger multifile test mode
// FILE: Test.kt
class TestMethod {
companion object {
@JvmStatic
fun test(s0: String, s1: String?) = s0 + (s1 ?: "null")
}
}
class TestMethodOverloads {
companion object {
@JvmStatic
@JvmOverloads
fun test(s0: String = "s0", s1: String = "s1", s2: String = "s2") = s0 + s1 + s2
}
}
class TestProperty {
companion object {
@JvmStatic
var prop: String = "Blah"
}
}
class TestAccessor {
companion object {
var prop: String = "Blah" @JvmStatic set
}
}
// @TestMethod.class:
// 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull \(Ljava/lang/Object;Ljava/lang/String;\)V
// @TestMethodOverloads.class:
// 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull \(Ljava/lang/Object;Ljava/lang/String;\)V
// @TestProperty.class:
// 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull \(Ljava/lang/Object;Ljava/lang/String;\)V
// @TestAccessor.class:
// 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull \(Ljava/lang/Object;Ljava/lang/String;\)V