mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
API version calls preprocessing, 1st passing test
This commit is contained in:
41
compiler/testData/codegen/boxInline/bytecodePreprocessing/apiVersionAtLeast1.kt
vendored
Normal file
41
compiler/testData/codegen/boxInline/bytecodePreprocessing/apiVersionAtLeast1.kt
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: 1.kt
|
||||
package kotlin.internal
|
||||
|
||||
fun apiVersionIsAtLeast(epic: Int, major: Int, minor: Int): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
var properFunctionWasClled = false
|
||||
|
||||
fun doSomethingNew() {
|
||||
properFunctionWasClled = true
|
||||
}
|
||||
|
||||
fun doSomethingOld() {
|
||||
throw AssertionError("Should not be called")
|
||||
}
|
||||
|
||||
inline fun versionDependentInlineFun() {
|
||||
if (apiVersionIsAtLeast(1, 1, 0)) {
|
||||
doSomethingNew()
|
||||
}
|
||||
else {
|
||||
doSomethingOld()
|
||||
}
|
||||
}
|
||||
|
||||
fun test() {
|
||||
versionDependentInlineFun()
|
||||
}
|
||||
|
||||
|
||||
// FILE: 2.kt
|
||||
import kotlin.internal.*
|
||||
|
||||
fun box(): String {
|
||||
test()
|
||||
if (!properFunctionWasClled) return "Fail 1"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user