Files
kotlin/compiler/testData/codegen/bytecodeText/constantConditions/constantInt.kt
Alexander Udalov e72388895b JVM IR: invoke codegen after lowering all files in the module
Inspired by discussion in #2316
2019-05-30 13:28:31 +02:00

59 lines
1.0 KiB
Kotlin
Vendored

// FILE: util.kt
const val MAGIC = 42
fun doStuffEq() {}
fun doStuffNotEq() {}
fun doStuffLt() {}
fun doStuffLe() {}
fun doStuffGt() {}
fun doStuffGe() {}
inline fun doStuffIfEq(i: Int) {
if (i == MAGIC) doStuffEq()
}
inline fun doStuffIfNotEq(i: Int) {
if (i != MAGIC) doStuffNotEq()
}
inline fun doStuffIfLt(i: Int) {
if (i < MAGIC) doStuffLt()
}
inline fun doStuffIfLe(i: Int) {
if (i <= MAGIC) doStuffLe()
}
inline fun doStuffIfGt(i: Int) {
if (i > MAGIC) doStuffGt()
}
inline fun doStuffIfGe(i: Int) {
if (i >= MAGIC) doStuffGe()
}
// FILE: test.kt
fun test() {
doStuffIfEq(100)
doStuffIfNotEq(100)
doStuffIfLt(100)
doStuffIfLe(100)
doStuffIfGt(100)
doStuffIfGe(100)
}
// @TestKt.class:
// 0 INVOKESTATIC UtilKt.doStuffEq
// 1 INVOKESTATIC UtilKt.doStuffNotEq
// 0 INVOKESTATIC UtilKt.doStuffLt
// 0 INVOKESTATIC UtilKt.doStuffLe
// 1 INVOKESTATIC UtilKt.doStuffGt
// 1 INVOKESTATIC UtilKt.doStuffGe
// 0 ILOAD 0
// 0 IFEQ
// 0 IFNE
// 0 IFLT
// 0 IFLE
// 0 IFGE
// 0 IFGT