[IR] Print evaluated const directly into interpreter's tests
This commit is contained in:
+52
-52
@@ -1,73 +1,73 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// `Boolean.equals(Boolean)` will not be evaluated in K1
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
|
||||
const val trueVal = true
|
||||
const val falseVal = false
|
||||
const val trueVal = <!EVALUATED("true")!>true<!>
|
||||
const val falseVal = <!EVALUATED("false")!>false<!>
|
||||
|
||||
const val not1 = trueVal.not()
|
||||
const val not2 = falseVal.not()
|
||||
const val not1 = trueVal.<!EVALUATED("false")!>not()<!>
|
||||
const val not2 = falseVal.<!EVALUATED("true")!>not()<!>
|
||||
|
||||
const val and1 = trueVal.and(trueVal)
|
||||
const val and2 = trueVal.and(falseVal)
|
||||
const val and3 = falseVal.and(trueVal)
|
||||
const val and4 = falseVal.and(falseVal)
|
||||
const val and1 = trueVal.<!EVALUATED("true")!>and(trueVal)<!>
|
||||
const val and2 = trueVal.<!EVALUATED("false")!>and(falseVal)<!>
|
||||
const val and3 = falseVal.<!EVALUATED("false")!>and(trueVal)<!>
|
||||
const val and4 = falseVal.<!EVALUATED("false")!>and(falseVal)<!>
|
||||
|
||||
const val or1 = trueVal.or(trueVal)
|
||||
const val or2 = trueVal.or(falseVal)
|
||||
const val or3 = falseVal.or(trueVal)
|
||||
const val or4 = falseVal.or(falseVal)
|
||||
const val or1 = trueVal.<!EVALUATED("true")!>or(trueVal)<!>
|
||||
const val or2 = trueVal.<!EVALUATED("true")!>or(falseVal)<!>
|
||||
const val or3 = falseVal.<!EVALUATED("true")!>or(trueVal)<!>
|
||||
const val or4 = falseVal.<!EVALUATED("false")!>or(falseVal)<!>
|
||||
|
||||
const val xor1 = trueVal.xor(trueVal)
|
||||
const val xor2 = trueVal.xor(falseVal)
|
||||
const val xor3 = falseVal.xor(trueVal)
|
||||
const val xor4 = falseVal.xor(falseVal)
|
||||
const val xor1 = trueVal.<!EVALUATED("false")!>xor(trueVal)<!>
|
||||
const val xor2 = trueVal.<!EVALUATED("true")!>xor(falseVal)<!>
|
||||
const val xor3 = falseVal.<!EVALUATED("true")!>xor(trueVal)<!>
|
||||
const val xor4 = falseVal.<!EVALUATED("false")!>xor(falseVal)<!>
|
||||
|
||||
const val compareTo1 = trueVal.compareTo(trueVal)
|
||||
const val compareTo2 = trueVal.compareTo(falseVal)
|
||||
const val compareTo3 = falseVal.compareTo(trueVal)
|
||||
const val compareTo4 = falseVal.compareTo(falseVal)
|
||||
const val compareTo1 = trueVal.<!EVALUATED("0")!>compareTo(trueVal)<!>
|
||||
const val compareTo2 = trueVal.<!EVALUATED("1")!>compareTo(falseVal)<!>
|
||||
const val compareTo3 = falseVal.<!EVALUATED("-1")!>compareTo(trueVal)<!>
|
||||
const val compareTo4 = falseVal.<!EVALUATED("0")!>compareTo(falseVal)<!>
|
||||
|
||||
const val equals1 = trueVal == trueVal
|
||||
const val equals2 = trueVal == falseVal
|
||||
const val equals3 = falseVal == trueVal
|
||||
const val equals4 = falseVal == falseVal
|
||||
const val equals1 = <!EVALUATED("true")!>trueVal == trueVal<!>
|
||||
const val equals2 = <!EVALUATED("false")!>trueVal == falseVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>falseVal == trueVal<!>
|
||||
const val equals4 = <!EVALUATED("true")!>falseVal == falseVal<!>
|
||||
|
||||
const val toString1 = trueVal.toString()
|
||||
const val toString2 = falseVal.toString()
|
||||
const val toString1 = trueVal.<!EVALUATED("true")!>toString()<!>
|
||||
const val toString2 = falseVal.<!EVALUATED("false")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (not1 != false) return "Fail 1.1"
|
||||
if (not2 != true) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>not1 != false<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>not2 != true<!>) return "Fail 1.2"
|
||||
|
||||
if (and1 != true) return "Fail 2.1"
|
||||
if (and2 != false) return "Fail 2.2"
|
||||
if (and3 != false) return "Fail 2.3"
|
||||
if (and4 != false) return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>and1 != true<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>and2 != false<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>and3 != false<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>and4 != false<!>) return "Fail 2.4"
|
||||
|
||||
if (or1 != true) return "Fail 3.1"
|
||||
if (or2 != true) return "Fail 3.2"
|
||||
if (or3 != true) return "Fail 3.3"
|
||||
if (or4 != false) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>or1 != true<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>or2 != true<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>or3 != true<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>or4 != false<!>) return "Fail 3.4"
|
||||
|
||||
if (xor1 != false) return "Fail 4.1"
|
||||
if (xor2 != true) return "Fail 4.2"
|
||||
if (xor3 != true) return "Fail 4.3"
|
||||
if (xor4 != false) return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>xor1 != false<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>xor2 != true<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>xor3 != true<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>xor4 != false<!>) return "Fail 4.4"
|
||||
|
||||
if (compareTo1 != 0) return "Fail 5.1"
|
||||
if (compareTo2 != 1) return "Fail 5.2"
|
||||
if (compareTo3 != -1) return "Fail 5.3"
|
||||
if (compareTo4 != 0) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>compareTo1 != 0<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 1<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != -1<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 0<!>) return "Fail 5.4"
|
||||
|
||||
if (equals1 != true) return "Fail 6.1"
|
||||
if (equals2 != false) return "Fail 6.2"
|
||||
if (equals3 != false) return "Fail 6.3"
|
||||
if (equals4 != true) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>equals1 != true<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>equals2 != false<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>equals4 != true<!>) return "Fail 6.4"
|
||||
|
||||
if (toString1 != "true") return "Fail 7.1"
|
||||
if (toString2 != "false") return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>toString1 != "true"<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>toString2 != "false"<!>) return "Fail 7.2"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+142
-142
@@ -3,169 +3,169 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
|
||||
const val minusOneVal = (-1).toByte()
|
||||
const val oneVal = 1.toByte()
|
||||
const val twoVal = 2.toByte()
|
||||
const val threeVal = 3.toByte()
|
||||
const val fourVal = 4.toByte()
|
||||
const val minusOneVal = (-1).<!EVALUATED("-1")!>toByte()<!>
|
||||
const val oneVal = 1.<!EVALUATED("1")!>toByte()<!>
|
||||
const val twoVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val threeVal = 3.<!EVALUATED("3")!>toByte()<!>
|
||||
const val fourVal = 4.<!EVALUATED("4")!>toByte()<!>
|
||||
|
||||
const val byteVal = 2.toByte()
|
||||
const val shortVal = 2.toShort()
|
||||
const val intVal = 2
|
||||
const val longVal = 2L
|
||||
const val floatVal = 2.0f
|
||||
const val doubleVal = 2.0
|
||||
const val byteVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val shortVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val intVal = <!EVALUATED("2")!>2<!>
|
||||
const val longVal = <!EVALUATED("2")!>2L<!>
|
||||
const val floatVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val doubleVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
|
||||
const val compareTo1 = oneVal.compareTo(twoVal)
|
||||
const val compareTo2 = twoVal.compareTo(twoVal)
|
||||
const val compareTo3 = threeVal.compareTo(twoVal)
|
||||
const val compareTo4 = twoVal.compareTo(shortVal)
|
||||
const val compareTo5 = twoVal.compareTo(intVal)
|
||||
const val compareTo6 = twoVal.compareTo(longVal)
|
||||
const val compareTo7 = twoVal.compareTo(floatVal)
|
||||
const val compareTo8 = twoVal.compareTo(doubleVal)
|
||||
const val compareTo1 = oneVal.<!EVALUATED("-1")!>compareTo(twoVal)<!>
|
||||
const val compareTo2 = twoVal.<!EVALUATED("0")!>compareTo(twoVal)<!>
|
||||
const val compareTo3 = threeVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
const val compareTo4 = twoVal.<!EVALUATED("0")!>compareTo(shortVal)<!>
|
||||
const val compareTo5 = twoVal.<!EVALUATED("0")!>compareTo(intVal)<!>
|
||||
const val compareTo6 = twoVal.<!EVALUATED("0")!>compareTo(longVal)<!>
|
||||
const val compareTo7 = twoVal.<!EVALUATED("0")!>compareTo(floatVal)<!>
|
||||
const val compareTo8 = twoVal.<!EVALUATED("0")!>compareTo(doubleVal)<!>
|
||||
|
||||
const val plus1 = oneVal.plus(twoVal)
|
||||
const val plus2 = twoVal.plus(twoVal)
|
||||
const val plus3 = threeVal.plus(twoVal)
|
||||
const val plus4 = twoVal.plus(shortVal)
|
||||
const val plus5 = twoVal.plus(intVal)
|
||||
const val plus6 = twoVal.plus(longVal)
|
||||
const val plus7 = twoVal.plus(floatVal)
|
||||
const val plus8 = twoVal.plus(doubleVal)
|
||||
const val plus1 = oneVal.<!EVALUATED("3")!>plus(twoVal)<!>
|
||||
const val plus2 = twoVal.<!EVALUATED("4")!>plus(twoVal)<!>
|
||||
const val plus3 = threeVal.<!EVALUATED("5")!>plus(twoVal)<!>
|
||||
const val plus4 = twoVal.<!EVALUATED("4")!>plus(shortVal)<!>
|
||||
const val plus5 = twoVal.<!EVALUATED("4")!>plus(intVal)<!>
|
||||
const val plus6 = twoVal.<!EVALUATED("4")!>plus(longVal)<!>
|
||||
const val plus7 = twoVal.<!EVALUATED("4.0")!>plus(floatVal)<!>
|
||||
const val plus8 = twoVal.<!EVALUATED("4.0")!>plus(doubleVal)<!>
|
||||
|
||||
const val minus1 = oneVal.minus(twoVal)
|
||||
const val minus2 = twoVal.minus(twoVal)
|
||||
const val minus3 = threeVal.minus(twoVal)
|
||||
const val minus4 = twoVal.minus(shortVal)
|
||||
const val minus5 = twoVal.minus(intVal)
|
||||
const val minus6 = twoVal.minus(longVal)
|
||||
const val minus7 = twoVal.minus(floatVal)
|
||||
const val minus8 = twoVal.minus(doubleVal)
|
||||
const val minus1 = oneVal.<!EVALUATED("-1")!>minus(twoVal)<!>
|
||||
const val minus2 = twoVal.<!EVALUATED("0")!>minus(twoVal)<!>
|
||||
const val minus3 = threeVal.<!EVALUATED("1")!>minus(twoVal)<!>
|
||||
const val minus4 = twoVal.<!EVALUATED("0")!>minus(shortVal)<!>
|
||||
const val minus5 = twoVal.<!EVALUATED("0")!>minus(intVal)<!>
|
||||
const val minus6 = twoVal.<!EVALUATED("0")!>minus(longVal)<!>
|
||||
const val minus7 = twoVal.<!EVALUATED("0.0")!>minus(floatVal)<!>
|
||||
const val minus8 = twoVal.<!EVALUATED("0.0")!>minus(doubleVal)<!>
|
||||
|
||||
const val times1 = oneVal.times(twoVal)
|
||||
const val times2 = twoVal.times(twoVal)
|
||||
const val times3 = threeVal.times(twoVal)
|
||||
const val times4 = twoVal.times(shortVal)
|
||||
const val times5 = twoVal.times(intVal)
|
||||
const val times6 = twoVal.times(longVal)
|
||||
const val times7 = twoVal.times(floatVal)
|
||||
const val times8 = twoVal.times(doubleVal)
|
||||
const val times1 = oneVal.<!EVALUATED("2")!>times(twoVal)<!>
|
||||
const val times2 = twoVal.<!EVALUATED("4")!>times(twoVal)<!>
|
||||
const val times3 = threeVal.<!EVALUATED("6")!>times(twoVal)<!>
|
||||
const val times4 = twoVal.<!EVALUATED("4")!>times(shortVal)<!>
|
||||
const val times5 = twoVal.<!EVALUATED("4")!>times(intVal)<!>
|
||||
const val times6 = twoVal.<!EVALUATED("4")!>times(longVal)<!>
|
||||
const val times7 = twoVal.<!EVALUATED("4.0")!>times(floatVal)<!>
|
||||
const val times8 = twoVal.<!EVALUATED("4.0")!>times(doubleVal)<!>
|
||||
|
||||
const val div1 = oneVal.div(twoVal)
|
||||
const val div2 = twoVal.div(twoVal)
|
||||
const val div3 = threeVal.div(twoVal)
|
||||
const val div4 = twoVal.div(shortVal)
|
||||
const val div5 = twoVal.div(intVal)
|
||||
const val div6 = twoVal.div(longVal)
|
||||
const val div7 = twoVal.div(floatVal)
|
||||
const val div8 = twoVal.div(doubleVal)
|
||||
const val div1 = oneVal.<!EVALUATED("0")!>div(twoVal)<!>
|
||||
const val div2 = twoVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div3 = threeVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div4 = twoVal.<!EVALUATED("1")!>div(shortVal)<!>
|
||||
const val div5 = twoVal.<!EVALUATED("1")!>div(intVal)<!>
|
||||
const val div6 = twoVal.<!EVALUATED("1")!>div(longVal)<!>
|
||||
const val div7 = twoVal.<!EVALUATED("1.0")!>div(floatVal)<!>
|
||||
const val div8 = twoVal.<!EVALUATED("1.0")!>div(doubleVal)<!>
|
||||
|
||||
const val rem1 = oneVal.rem(twoVal)
|
||||
const val rem2 = twoVal.rem(twoVal)
|
||||
const val rem3 = threeVal.rem(twoVal)
|
||||
const val rem4 = twoVal.rem(shortVal)
|
||||
const val rem5 = twoVal.rem(intVal)
|
||||
const val rem6 = twoVal.rem(longVal)
|
||||
const val rem7 = twoVal.rem(floatVal)
|
||||
const val rem8 = twoVal.rem(doubleVal)
|
||||
const val rem1 = oneVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem2 = twoVal.<!EVALUATED("0")!>rem(twoVal)<!>
|
||||
const val rem3 = threeVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem4 = twoVal.<!EVALUATED("0")!>rem(shortVal)<!>
|
||||
const val rem5 = twoVal.<!EVALUATED("0")!>rem(intVal)<!>
|
||||
const val rem6 = twoVal.<!EVALUATED("0")!>rem(longVal)<!>
|
||||
const val rem7 = twoVal.<!EVALUATED("0.0")!>rem(floatVal)<!>
|
||||
const val rem8 = twoVal.<!EVALUATED("0.0")!>rem(doubleVal)<!>
|
||||
|
||||
const val unaryPlus1 = oneVal.unaryPlus()
|
||||
const val unaryPlus2 = minusOneVal.unaryPlus()
|
||||
const val unaryMinus1 = oneVal.unaryMinus()
|
||||
const val unaryMinus2 = minusOneVal.unaryMinus()
|
||||
const val unaryPlus1 = oneVal.<!EVALUATED("1")!>unaryPlus()<!>
|
||||
const val unaryPlus2 = minusOneVal.<!EVALUATED("-1")!>unaryPlus()<!>
|
||||
const val unaryMinus1 = oneVal.<!EVALUATED("-1")!>unaryMinus()<!>
|
||||
const val unaryMinus2 = minusOneVal.<!EVALUATED("1")!>unaryMinus()<!>
|
||||
|
||||
const val convert1 = oneVal.toByte()
|
||||
const val convert2 = oneVal.toChar()
|
||||
const val convert3 = oneVal.toShort()
|
||||
const val convert4 = oneVal.toInt()
|
||||
const val convert5 = oneVal.toLong()
|
||||
const val convert6 = oneVal.toFloat()
|
||||
const val convert7 = oneVal.toDouble()
|
||||
const val convert1 = oneVal.<!EVALUATED("1")!>toByte()<!>
|
||||
const val convert2 = oneVal.<!EVALUATED("")!>toChar()<!>
|
||||
const val convert3 = oneVal.<!EVALUATED("1")!>toShort()<!>
|
||||
const val convert4 = oneVal.<!EVALUATED("1")!>toInt()<!>
|
||||
const val convert5 = oneVal.<!EVALUATED("1")!>toLong()<!>
|
||||
const val convert6 = oneVal.<!EVALUATED("1.0")!>toFloat()<!>
|
||||
const val convert7 = oneVal.<!EVALUATED("1.0")!>toDouble()<!>
|
||||
|
||||
const val equals1 = oneVal == twoVal
|
||||
const val equals2 = twoVal == twoVal
|
||||
const val equals3 = threeVal == twoVal
|
||||
const val equals4 = fourVal == twoVal
|
||||
const val equals1 = <!EVALUATED("false")!>oneVal == twoVal<!>
|
||||
const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.toString()
|
||||
const val toString2 = twoVal.toString()
|
||||
const val toString1 = oneVal.<!EVALUATED("1")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (compareTo1 != -1) return "Fail 1.1"
|
||||
if (compareTo2 != 0) return "Fail 1.2"
|
||||
if (compareTo3 != 1) return "Fail 1.3"
|
||||
if (compareTo4 != 0) return "Fail 1.4"
|
||||
if (compareTo5 != 0) return "Fail 1.5"
|
||||
if (compareTo6 != 0) return "Fail 1.6"
|
||||
if (compareTo7 != 0) return "Fail 1.7"
|
||||
if (compareTo8 != 0) return "Fail 1.8"
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != 1<!>) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 0<!>) return "Fail 1.4"
|
||||
if (<!EVALUATED("false")!>compareTo5 != 0<!>) return "Fail 1.5"
|
||||
if (<!EVALUATED("false")!>compareTo6 != 0<!>) return "Fail 1.6"
|
||||
if (<!EVALUATED("false")!>compareTo7 != 0<!>) return "Fail 1.7"
|
||||
if (<!EVALUATED("false")!>compareTo8 != 0<!>) return "Fail 1.8"
|
||||
|
||||
if (plus1 != 3) return "Fail 2.1"
|
||||
if (plus2 != 4) return "Fail 2.2"
|
||||
if (plus3 != 5) return "Fail 2.3"
|
||||
if (plus4 != 4) return "Fail 2.4"
|
||||
if (plus5 != 4) return "Fail 2.5"
|
||||
if (plus6 != 4L) return "Fail 2.6"
|
||||
if (plus7 != 4.0f) return "Fail 2.7"
|
||||
if (plus8 != 4.0) return "Fail 2.8"
|
||||
if (<!EVALUATED("false")!>plus1 != 3<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>plus2 != 4<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>plus3 != 5<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>plus4 != 4<!>) return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>plus5 != 4<!>) return "Fail 2.5"
|
||||
if (<!EVALUATED("false")!>plus6 != 4L<!>) return "Fail 2.6"
|
||||
if (<!EVALUATED("false")!>plus7 != 4.0f<!>) return "Fail 2.7"
|
||||
if (<!EVALUATED("false")!>plus8 != 4.0<!>) return "Fail 2.8"
|
||||
|
||||
if (minus1 != -1) return "Fail 3.1"
|
||||
if (minus2 != 0) return "Fail 3.2"
|
||||
if (minus3 != 1) return "Fail 3.3"
|
||||
if (minus4 != 0) return "Fail 3.4"
|
||||
if (minus5 != 0) return "Fail 3.5"
|
||||
if (minus6 != 0L) return "Fail 3.6"
|
||||
if (minus7 != 0.0f) return "Fail 3.7"
|
||||
if (minus8 != 0.0) return "Fail 3.8"
|
||||
if (<!EVALUATED("false")!>minus1 != -1<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>minus2 != 0<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>minus3 != 1<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>minus4 != 0<!>) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>minus5 != 0<!>) return "Fail 3.5"
|
||||
if (<!EVALUATED("false")!>minus6 != 0L<!>) return "Fail 3.6"
|
||||
if (<!EVALUATED("false")!>minus7 != 0.0f<!>) return "Fail 3.7"
|
||||
if (<!EVALUATED("false")!>minus8 != 0.0<!>) return "Fail 3.8"
|
||||
|
||||
if (times1 != 2) return "Fail 4.1"
|
||||
if (times2 != 4) return "Fail 4.2"
|
||||
if (times3 != 6) return "Fail 4.3"
|
||||
if (times4 != 4) return "Fail 4.4"
|
||||
if (times5 != 4) return "Fail 4.5"
|
||||
if (times6 != 4L) return "Fail 4.6"
|
||||
if (times7 != 4.0f) return "Fail 4.7"
|
||||
if (times8 != 4.0) return "Fail 4.8"
|
||||
if (<!EVALUATED("false")!>times1 != 2<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>times2 != 4<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>times3 != 6<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>times4 != 4<!>) return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>times5 != 4<!>) return "Fail 4.5"
|
||||
if (<!EVALUATED("false")!>times6 != 4L<!>) return "Fail 4.6"
|
||||
if (<!EVALUATED("false")!>times7 != 4.0f<!>) return "Fail 4.7"
|
||||
if (<!EVALUATED("false")!>times8 != 4.0<!>) return "Fail 4.8"
|
||||
|
||||
if (div1 != 0) return "Fail 5.1"
|
||||
if (div2 != 1) return "Fail 5.2"
|
||||
if (div3 != 1) return "Fail 5.3"
|
||||
if (div4 != 1) return "Fail 5.4"
|
||||
if (div5 != 1) return "Fail 5.5"
|
||||
if (div6 != 1L) return "Fail 5.6"
|
||||
if (div7 != 1.0f) return "Fail 5.7"
|
||||
if (div8 != 1.0) return "Fail 5.8"
|
||||
if (<!EVALUATED("false")!>div1 != 0<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>div2 != 1<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>div3 != 1<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>div4 != 1<!>) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>div5 != 1<!>) return "Fail 5.5"
|
||||
if (<!EVALUATED("false")!>div6 != 1L<!>) return "Fail 5.6"
|
||||
if (<!EVALUATED("false")!>div7 != 1.0f<!>) return "Fail 5.7"
|
||||
if (<!EVALUATED("false")!>div8 != 1.0<!>) return "Fail 5.8"
|
||||
|
||||
if (rem1 != 1) return "Fail 6.1"
|
||||
if (rem2 != 0) return "Fail 6.2"
|
||||
if (rem3 != 1) return "Fail 6.3"
|
||||
if (rem4 != 0) return "Fail 6.4"
|
||||
if (rem5 != 0) return "Fail 6.5"
|
||||
if (rem6 != 0L) return "Fail 6.6"
|
||||
if (rem7 != 0.0f) return "Fail 6.7"
|
||||
if (rem8 != 0.0) return "Fail 6.8"
|
||||
if (<!EVALUATED("false")!>rem1 != 1<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>rem2 != 0<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>rem3 != 1<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>rem4 != 0<!>) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>rem5 != 0<!>) return "Fail 6.5"
|
||||
if (<!EVALUATED("false")!>rem6 != 0L<!>) return "Fail 6.6"
|
||||
if (<!EVALUATED("false")!>rem7 != 0.0f<!>) return "Fail 6.7"
|
||||
if (<!EVALUATED("false")!>rem8 != 0.0<!>) return "Fail 6.8"
|
||||
|
||||
if (unaryPlus1 != 1) return "Fail 7.1"
|
||||
if (unaryPlus2 != -1) return "Fail 7.2"
|
||||
if (unaryMinus1 != -1) return "Fail 7.3"
|
||||
if (unaryMinus2 != 1) return "Fail 7.4"
|
||||
if (<!EVALUATED("false")!>unaryPlus1 != 1<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>unaryPlus2 != -1<!>) return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>unaryMinus1 != -1<!>) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>unaryMinus2 != 1<!>) return "Fail 7.4"
|
||||
|
||||
if (convert1 != 1.toByte()) return "Fail 8.1"
|
||||
if (convert2 != '') return "Fail 8.2"
|
||||
if (convert3 != 1.toShort()) return "Fail 8.3"
|
||||
if (convert4 != 1) return "Fail 8.4"
|
||||
if (convert5 != 1L) return "Fail 8.5"
|
||||
if (convert6 != 1.0f) return "Fail 8.6"
|
||||
if (convert7 != 1.0) return "Fail 8.7"
|
||||
if (<!EVALUATED("false")!>convert1 != 1.toByte()<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>convert2 != ''<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>convert3 != 1.toShort()<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>convert4 != 1<!>) return "Fail 8.4"
|
||||
if (<!EVALUATED("false")!>convert5 != 1L<!>) return "Fail 8.5"
|
||||
if (<!EVALUATED("false")!>convert6 != 1.0f<!>) return "Fail 8.6"
|
||||
if (<!EVALUATED("false")!>convert7 != 1.0<!>) return "Fail 8.7"
|
||||
|
||||
if (equals1 != false) return "Fail 9.1"
|
||||
if (equals2 != true) return "Fail 9.2"
|
||||
if (equals3 != false) return "Fail 9.3"
|
||||
if (equals4 != false) return "Fail 9.4"
|
||||
if (<!EVALUATED("false")!>equals1 != false<!>) return "Fail 9.1"
|
||||
if (<!EVALUATED("false")!>equals2 != true<!>) return "Fail 9.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
if (toString1 != "1") return "Fail 10.1"
|
||||
if (toString2 != "2") return "Fail 10.2"
|
||||
if (<!EVALUATED("false")!>toString1 != "1"<!>) return "Fail 10.1"
|
||||
if (<!EVALUATED("false")!>toString2 != "2"<!>) return "Fail 10.2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+72
-72
@@ -5,94 +5,94 @@
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
// WITH_STDLIB
|
||||
|
||||
const val oneVal = '1'
|
||||
const val twoVal = '2'
|
||||
const val threeVal = '3'
|
||||
const val fourVal = '4'
|
||||
const val oneVal = <!EVALUATED("1")!>'1'<!>
|
||||
const val twoVal = <!EVALUATED("2")!>'2'<!>
|
||||
const val threeVal = <!EVALUATED("3")!>'3'<!>
|
||||
const val fourVal = <!EVALUATED("4")!>'4'<!>
|
||||
|
||||
const val intVal = 5
|
||||
const val intVal = <!EVALUATED("5")!>5<!>
|
||||
|
||||
const val compareTo1 = oneVal.compareTo(twoVal)
|
||||
const val compareTo2 = twoVal.compareTo(twoVal)
|
||||
const val compareTo3 = threeVal.compareTo(twoVal)
|
||||
const val compareTo4 = fourVal.compareTo(twoVal)
|
||||
const val compareTo1 = oneVal.<!EVALUATED("-1")!>compareTo(twoVal)<!>
|
||||
const val compareTo2 = twoVal.<!EVALUATED("0")!>compareTo(twoVal)<!>
|
||||
const val compareTo3 = threeVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
const val compareTo4 = fourVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
|
||||
const val plus1 = oneVal.plus(intVal)
|
||||
const val plus2 = twoVal.plus(intVal)
|
||||
const val plus3 = threeVal.plus(intVal)
|
||||
const val plus4 = fourVal.plus(intVal)
|
||||
const val plus1 = oneVal.<!EVALUATED("6")!>plus(intVal)<!>
|
||||
const val plus2 = twoVal.<!EVALUATED("7")!>plus(intVal)<!>
|
||||
const val plus3 = threeVal.<!EVALUATED("8")!>plus(intVal)<!>
|
||||
const val plus4 = fourVal.<!EVALUATED("9")!>plus(intVal)<!>
|
||||
|
||||
const val minusChar1 = oneVal.minus(twoVal)
|
||||
const val minusChar2 = twoVal.minus(twoVal)
|
||||
const val minusChar3 = threeVal.minus(twoVal)
|
||||
const val minusChar4 = fourVal.minus(twoVal)
|
||||
const val minusChar1 = oneVal.<!EVALUATED("-1")!>minus(twoVal)<!>
|
||||
const val minusChar2 = twoVal.<!EVALUATED("0")!>minus(twoVal)<!>
|
||||
const val minusChar3 = threeVal.<!EVALUATED("1")!>minus(twoVal)<!>
|
||||
const val minusChar4 = fourVal.<!EVALUATED("2")!>minus(twoVal)<!>
|
||||
|
||||
const val minusInt1 = oneVal.minus(intVal)
|
||||
const val minusInt2 = twoVal.minus(intVal)
|
||||
const val minusInt3 = threeVal.minus(intVal)
|
||||
const val minusInt4 = fourVal.minus(intVal)
|
||||
const val minusInt1 = oneVal.<!EVALUATED(",")!>minus(intVal)<!>
|
||||
const val minusInt2 = twoVal.<!EVALUATED("-")!>minus(intVal)<!>
|
||||
const val minusInt3 = threeVal.<!EVALUATED(".")!>minus(intVal)<!>
|
||||
const val minusInt4 = fourVal.<!EVALUATED("/")!>minus(intVal)<!>
|
||||
|
||||
const val convert1 = oneVal.toByte()
|
||||
const val convert2 = oneVal.toChar()
|
||||
const val convert3 = oneVal.toShort()
|
||||
const val convert4 = oneVal.toInt()
|
||||
const val convert5 = oneVal.toLong()
|
||||
const val convert6 = oneVal.toFloat()
|
||||
const val convert7 = oneVal.toDouble()
|
||||
const val convert1 = oneVal.<!EVALUATED("49")!>toByte()<!>
|
||||
const val convert2 = oneVal.<!EVALUATED("1")!>toChar()<!>
|
||||
const val convert3 = oneVal.<!EVALUATED("49")!>toShort()<!>
|
||||
const val convert4 = oneVal.<!EVALUATED("49")!>toInt()<!>
|
||||
const val convert5 = oneVal.<!EVALUATED("49")!>toLong()<!>
|
||||
const val convert6 = oneVal.<!EVALUATED("49.0")!>toFloat()<!>
|
||||
const val convert7 = oneVal.<!EVALUATED("49.0")!>toDouble()<!>
|
||||
|
||||
const val equals1 = oneVal == twoVal
|
||||
const val equals2 = twoVal == twoVal
|
||||
const val equals3 = threeVal == twoVal
|
||||
const val equals4 = fourVal == twoVal
|
||||
const val equals1 = <!EVALUATED("false")!>oneVal == twoVal<!>
|
||||
const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.toString()
|
||||
const val toString2 = twoVal.toString()
|
||||
const val toString1 = oneVal.<!EVALUATED("1")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2")!>toString()<!>
|
||||
|
||||
const val code1 = oneVal.code
|
||||
const val code2 = twoVal.code
|
||||
const val code3 = threeVal.code
|
||||
const val code4 = fourVal.code
|
||||
const val code1 = oneVal.<!EVALUATED("49")!>code<!>
|
||||
const val code2 = twoVal.<!EVALUATED("50")!>code<!>
|
||||
const val code3 = threeVal.<!EVALUATED("51")!>code<!>
|
||||
const val code4 = fourVal.<!EVALUATED("52")!>code<!>
|
||||
|
||||
fun box(): String {
|
||||
if (compareTo1 != -1) return "Fail 1.1"
|
||||
if (compareTo2 != 0) return "Fail 1.2"
|
||||
if (compareTo3 != 1) return "Fail 1.3"
|
||||
if (compareTo4 != 1) return "Fail 1.4"
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != 1<!>) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 1<!>) return "Fail 1.4"
|
||||
|
||||
if (plus1 != '6') return "Fail 2.1"
|
||||
if (plus2 != '7') return "Fail 2.2"
|
||||
if (plus3 != '8') return "Fail 2.3"
|
||||
if (plus4 != '9') return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>plus1 != '6'<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>plus2 != '7'<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>plus3 != '8'<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>plus4 != '9'<!>) return "Fail 2.4"
|
||||
|
||||
if (minusChar1 != -1) return "Fail 3.1"
|
||||
if (minusChar2 != 0) return "Fail 3.2"
|
||||
if (minusChar3 != 1) return "Fail 3.3"
|
||||
if (minusChar4 != 2) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>minusChar1 != -1<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>minusChar2 != 0<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>minusChar3 != 1<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>minusChar4 != 2<!>) return "Fail 3.4"
|
||||
|
||||
if (minusInt1 != ',') return "Fail 4.1"
|
||||
if (minusInt2 != '-') return "Fail 4.2"
|
||||
if (minusInt3 != '.') return "Fail 4.3"
|
||||
if (minusInt4 != '/') return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>minusInt1 != ','<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>minusInt2 != '-'<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>minusInt3 != '.'<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>minusInt4 != '/'<!>) return "Fail 4.4"
|
||||
|
||||
if (convert1 != 49.toByte()) return "Fail 5.1"
|
||||
if (convert2 != '1') return "Fail 5.2"
|
||||
if (convert3 != 49.toShort()) return "Fail 5.3"
|
||||
if (convert4 != 49) return "Fail 5.4"
|
||||
if (convert5 != 49L) return "Fail 5.5"
|
||||
if (convert6 != 49.0f) return "Fail 5.6"
|
||||
if (convert7 != 49.0) return "Fail 5.7"
|
||||
if (<!EVALUATED("false")!>convert1 != 49.toByte()<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>convert2 != '1'<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>convert3 != 49.toShort()<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>convert4 != 49<!>) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>convert5 != 49L<!>) return "Fail 5.5"
|
||||
if (<!EVALUATED("false")!>convert6 != 49.0f<!>) return "Fail 5.6"
|
||||
if (<!EVALUATED("false")!>convert7 != 49.0<!>) return "Fail 5.7"
|
||||
|
||||
if (equals1 != false) return "Fail 6.1"
|
||||
if (equals2 != true) return "Fail 6.2"
|
||||
if (equals3 != false) return "Fail 6.3"
|
||||
if (equals4 != false) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>equals1 != false<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>equals2 != true<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 6.4"
|
||||
|
||||
if (toString1 != "1") return "Fail 7.1"
|
||||
if (toString2 != "2") return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>toString1 != "1"<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>toString2 != "2"<!>) return "Fail 7.2"
|
||||
|
||||
if (code1 != 49) return "Fail 8.1"
|
||||
if (code2 != 50) return "Fail 8.2"
|
||||
if (code3 != 51) return "Fail 8.3"
|
||||
if (code4 != 52) return "Fail 8.4"
|
||||
if (<!EVALUATED("false")!>code1 != 49<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>code2 != 50<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>code3 != 51<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>code4 != 52<!>) return "Fail 8.4"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -3,16 +3,16 @@
|
||||
// IGNORE_BACKEND_K1: JVM_IR
|
||||
// WITH_STDLIB
|
||||
|
||||
const val trimIndent = "123".trimIndent()
|
||||
const val trimIndent = "123".<!EVALUATED("123")!>trimIndent()<!>
|
||||
const val complexTrimIndent =
|
||||
"""
|
||||
ABC
|
||||
123
|
||||
456
|
||||
""".trimIndent()
|
||||
""".<!EVALUATED("ABC\n123\n456")!>trimIndent()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (trimIndent != "123") return "Fail 1"
|
||||
if (complexTrimIndent != "ABC\n123\n456") return "Fail 2"
|
||||
if (<!EVALUATED("false")!>trimIndent != "123"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>complexTrimIndent != "ABC\n123\n456"<!>) return "Fail 2"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -3,21 +3,21 @@
|
||||
// IGNORE_BACKEND_K1: JVM_IR
|
||||
// WITH_STDLIB
|
||||
|
||||
const val trimMargin = "123".trimMargin()
|
||||
const val trimMargin = "123".<!EVALUATED("123")!>trimMargin()<!>
|
||||
|
||||
const val trimMarginDefault = """ABC
|
||||
|123
|
||||
|456""".trimMargin()
|
||||
|456""".<!EVALUATED("ABC\n123\n456")!>trimMargin()<!>
|
||||
|
||||
const val withoutMargin = """
|
||||
#XYZ
|
||||
#foo
|
||||
#bar
|
||||
""".trimMargin("#")
|
||||
""".<!EVALUATED("XYZ\nfoo\nbar")!>trimMargin("#")<!>
|
||||
|
||||
fun box(): String {
|
||||
if (trimMargin != "123") return "Fail 1"
|
||||
if (trimMarginDefault != "ABC\n123\n456") return "Fail 2"
|
||||
if (withoutMargin != "XYZ\nfoo\nbar") return "Fail 3"
|
||||
if (<!EVALUATED("false")!>trimMargin != "123"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>trimMarginDefault != "ABC\n123\n456"<!>) return "Fail 2"
|
||||
if (<!EVALUATED("false")!>withoutMargin != "XYZ\nfoo\nbar"<!>) return "Fail 3"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+144
-141
@@ -3,168 +3,171 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
|
||||
const val minusOneVal = -1.0
|
||||
const val oneVal = 1.0
|
||||
const val twoVal = 2.0
|
||||
const val threeVal = 3.0
|
||||
const val fourVal = 4.0
|
||||
const val oneAndAHalf = 1.5
|
||||
const val minusOneVal = <!EVALUATED("-1.0")!>-1.0<!>
|
||||
const val oneVal = <!EVALUATED("1.0")!>1.0<!>
|
||||
const val twoVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
const val threeVal = <!EVALUATED("3.0")!>3.0<!>
|
||||
const val fourVal = <!EVALUATED("4.0")!>4.0<!>
|
||||
const val oneAndAHalf = <!EVALUATED("1.5")!>1.5<!>
|
||||
|
||||
const val byteVal = 2.toByte()
|
||||
const val shortVal = 2.toShort()
|
||||
const val intVal = 2
|
||||
const val longVal = 2L
|
||||
const val floatVal = 2.0f
|
||||
const val doubleVal = 2.0
|
||||
const val byteVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val shortVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val intVal = <!EVALUATED("2")!>2<!>
|
||||
const val longVal = <!EVALUATED("2")!>2L<!>
|
||||
const val floatVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val doubleVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
|
||||
const val compareTo1 = oneVal.compareTo(twoVal)
|
||||
const val compareTo2 = twoVal.compareTo(twoVal)
|
||||
const val compareTo3 = threeVal.compareTo(twoVal)
|
||||
const val compareTo4 = twoVal.compareTo(byteVal)
|
||||
const val compareTo5 = twoVal.compareTo(shortVal)
|
||||
const val compareTo6 = twoVal.compareTo(intVal)
|
||||
const val compareTo7 = twoVal.compareTo(longVal)
|
||||
const val compareTo8 = twoVal.compareTo(floatVal)
|
||||
const val compareTo1 = oneVal.<!EVALUATED("-1")!>compareTo(twoVal)<!>
|
||||
const val compareTo2 = twoVal.<!EVALUATED("0")!>compareTo(twoVal)<!>
|
||||
const val compareTo3 = threeVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
const val compareTo4 = twoVal.<!EVALUATED("0")!>compareTo(byteVal)<!>
|
||||
const val compareTo5 = twoVal.<!EVALUATED("0")!>compareTo(shortVal)<!>
|
||||
const val compareTo6 = twoVal.<!EVALUATED("0")!>compareTo(intVal)<!>
|
||||
const val compareTo7 = twoVal.<!EVALUATED("0")!>compareTo(longVal)<!>
|
||||
const val compareTo8 = twoVal.<!EVALUATED("0")!>compareTo(floatVal)<!>
|
||||
|
||||
const val plus1 = oneVal.plus(twoVal)
|
||||
const val plus2 = twoVal.plus(twoVal)
|
||||
const val plus3 = threeVal.plus(twoVal)
|
||||
const val plus4 = twoVal.plus(byteVal)
|
||||
const val plus5 = twoVal.plus(shortVal)
|
||||
const val plus6 = twoVal.plus(intVal)
|
||||
const val plus7 = twoVal.plus(longVal)
|
||||
const val plus8 = twoVal.plus(floatVal)
|
||||
const val plus1 = oneVal.<!EVALUATED("3.0")!>plus(twoVal)<!>
|
||||
const val plus2 = twoVal.<!EVALUATED("4.0")!>plus(twoVal)<!>
|
||||
const val plus3 = threeVal.<!EVALUATED("5.0")!>plus(twoVal)<!>
|
||||
const val plus4 = twoVal.<!EVALUATED("4.0")!>plus(byteVal)<!>
|
||||
const val plus5 = twoVal.<!EVALUATED("4.0")!>plus(shortVal)<!>
|
||||
const val plus6 = twoVal.<!EVALUATED("4.0")!>plus(intVal)<!>
|
||||
const val plus7 = twoVal.<!EVALUATED("4.0")!>plus(longVal)<!>
|
||||
const val plus8 = twoVal.<!EVALUATED("4.0")!>plus(floatVal)<!>
|
||||
|
||||
const val minus1 = oneVal.minus(twoVal)
|
||||
const val minus2 = twoVal.minus(twoVal)
|
||||
const val minus3 = threeVal.minus(twoVal)
|
||||
const val minus4 = twoVal.minus(byteVal)
|
||||
const val minus5 = twoVal.minus(shortVal)
|
||||
const val minus6 = twoVal.minus(intVal)
|
||||
const val minus7 = twoVal.minus(longVal)
|
||||
const val minus8 = twoVal.minus(floatVal)
|
||||
const val minus1 = oneVal.<!EVALUATED("-1.0")!>minus(twoVal)<!>
|
||||
const val minus2 = twoVal.<!EVALUATED("0.0")!>minus(twoVal)<!>
|
||||
const val minus3 = threeVal.<!EVALUATED("1.0")!>minus(twoVal)<!>
|
||||
const val minus4 = twoVal.<!EVALUATED("0.0")!>minus(byteVal)<!>
|
||||
const val minus5 = twoVal.<!EVALUATED("0.0")!>minus(shortVal)<!>
|
||||
const val minus6 = twoVal.<!EVALUATED("0.0")!>minus(intVal)<!>
|
||||
const val minus7 = twoVal.<!EVALUATED("0.0")!>minus(longVal)<!>
|
||||
const val minus8 = twoVal.<!EVALUATED("0.0")!>minus(floatVal)<!>
|
||||
|
||||
const val times1 = oneVal.times(twoVal)
|
||||
const val times2 = twoVal.times(twoVal)
|
||||
const val times3 = threeVal.times(twoVal)
|
||||
const val times4 = twoVal.times(byteVal)
|
||||
const val times5 = twoVal.times(shortVal)
|
||||
const val times6 = twoVal.times(intVal)
|
||||
const val times7 = twoVal.times(longVal)
|
||||
const val times8 = twoVal.times(floatVal)
|
||||
const val times1 = oneVal.<!EVALUATED("2.0")!>times(twoVal)<!>
|
||||
const val times2 = twoVal.<!EVALUATED("4.0")!>times(twoVal)<!>
|
||||
const val times3 = threeVal.<!EVALUATED("6.0")!>times(twoVal)<!>
|
||||
const val times4 = twoVal.<!EVALUATED("4.0")!>times(byteVal)<!>
|
||||
const val times5 = twoVal.<!EVALUATED("4.0")!>times(shortVal)<!>
|
||||
const val times6 = twoVal.<!EVALUATED("4.0")!>times(intVal)<!>
|
||||
const val times7 = twoVal.<!EVALUATED("4.0")!>times(longVal)<!>
|
||||
const val times8 = twoVal.<!EVALUATED("4.0")!>times(floatVal)<!>
|
||||
|
||||
const val div1 = oneVal.div(twoVal)
|
||||
const val div2 = twoVal.div(twoVal)
|
||||
const val div3 = threeVal.div(twoVal)
|
||||
const val div4 = twoVal.div(byteVal)
|
||||
const val div5 = twoVal.div(shortVal)
|
||||
const val div6 = twoVal.div(intVal)
|
||||
const val div7 = twoVal.div(longVal)
|
||||
const val div8 = twoVal.div(floatVal)
|
||||
const val div1 = oneVal.<!EVALUATED("0.5")!>div(twoVal)<!>
|
||||
const val div2 = twoVal.<!EVALUATED("1.0")!>div(twoVal)<!>
|
||||
const val div3 = threeVal.<!EVALUATED("1.5")!>div(twoVal)<!>
|
||||
const val div4 = twoVal.<!EVALUATED("1.0")!>div(byteVal)<!>
|
||||
const val div5 = twoVal.<!EVALUATED("1.0")!>div(shortVal)<!>
|
||||
const val div6 = twoVal.<!EVALUATED("1.0")!>div(intVal)<!>
|
||||
const val div7 = twoVal.<!EVALUATED("1.0")!>div(longVal)<!>
|
||||
const val div8 = twoVal.<!EVALUATED("1.0")!>div(floatVal)<!>
|
||||
|
||||
const val rem1 = oneVal.rem(twoVal)
|
||||
const val rem2 = twoVal.rem(twoVal)
|
||||
const val rem3 = threeVal.rem(twoVal)
|
||||
const val rem4 = twoVal.rem(byteVal)
|
||||
const val rem5 = twoVal.rem(shortVal)
|
||||
const val rem6 = twoVal.rem(intVal)
|
||||
const val rem7 = twoVal.rem(longVal)
|
||||
const val rem8 = twoVal.rem(floatVal)
|
||||
const val rem1 = oneVal.<!EVALUATED("1.0")!>rem(twoVal)<!>
|
||||
const val rem2 = twoVal.<!EVALUATED("0.0")!>rem(twoVal)<!>
|
||||
const val rem3 = threeVal.<!EVALUATED("1.0")!>rem(twoVal)<!>
|
||||
const val rem4 = twoVal.<!EVALUATED("0.0")!>rem(byteVal)<!>
|
||||
const val rem5 = twoVal.<!EVALUATED("0.0")!>rem(shortVal)<!>
|
||||
const val rem6 = twoVal.<!EVALUATED("0.0")!>rem(intVal)<!>
|
||||
const val rem7 = twoVal.<!EVALUATED("0.0")!>rem(longVal)<!>
|
||||
const val rem8 = twoVal.<!EVALUATED("0.0")!>rem(floatVal)<!>
|
||||
|
||||
const val unaryPlus1 = oneVal.unaryPlus()
|
||||
const val unaryPlus2 = minusOneVal.unaryPlus()
|
||||
const val unaryMinus1 = oneVal.unaryMinus()
|
||||
const val unaryMinus2 = minusOneVal.unaryMinus()
|
||||
const val unaryPlus1 = oneVal.<!EVALUATED("1.0")!>unaryPlus()<!>
|
||||
const val unaryPlus2 = minusOneVal.<!EVALUATED("-1.0")!>unaryPlus()<!>
|
||||
const val unaryMinus1 = oneVal.<!EVALUATED("-1.0")!>unaryMinus()<!>
|
||||
const val unaryMinus2 = minusOneVal.<!EVALUATED("1.0")!>unaryMinus()<!>
|
||||
|
||||
const val convert1 = oneVal.toChar()
|
||||
const val convert2 = oneVal.toInt()
|
||||
const val convert3 = oneVal.toLong()
|
||||
const val convert4 = oneVal.toFloat()
|
||||
const val convert5 = oneVal.toDouble()
|
||||
const val convert1 = oneVal.<!EVALUATED("")!>toChar()<!>
|
||||
const val convert2 = oneVal.<!EVALUATED("1")!>toInt()<!>
|
||||
const val convert3 = oneVal.<!EVALUATED("1")!>toLong()<!>
|
||||
const val convert4 = oneVal.<!EVALUATED("1.0")!>toFloat()<!>
|
||||
const val convert5 = oneVal.<!EVALUATED("1.0")!>toDouble()<!>
|
||||
|
||||
const val equals1 = oneVal == twoVal
|
||||
const val equals2 = twoVal == twoVal
|
||||
const val equals3 = threeVal == twoVal
|
||||
const val equals4 = fourVal == twoVal
|
||||
const val equals1 = <!EVALUATED("false")!>oneVal == twoVal<!>
|
||||
const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.toString()
|
||||
const val toString2 = twoVal.toString()
|
||||
const val toString3 = oneAndAHalf.toString()
|
||||
const val toString1 = oneVal.<!EVALUATED("1.0")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2.0")!>toString()<!>
|
||||
const val toString3 = oneAndAHalf.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
fun <T> T.id(): T = this
|
||||
|
||||
fun box(): String {
|
||||
if (compareTo1 != -1) return "Fail 1.1"
|
||||
if (compareTo2 != 0) return "Fail 1.2"
|
||||
if (compareTo3 != 1) return "Fail 1.3"
|
||||
if (compareTo4 != 0) return "Fail 1.4"
|
||||
if (compareTo5 != 0) return "Fail 1.5"
|
||||
if (compareTo6 != 0) return "Fail 1.6"
|
||||
if (compareTo7 != 0) return "Fail 1.7"
|
||||
if (compareTo8 != 0) return "Fail 1.8"
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != 1<!>) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 0<!>) return "Fail 1.4"
|
||||
if (<!EVALUATED("false")!>compareTo5 != 0<!>) return "Fail 1.5"
|
||||
if (<!EVALUATED("false")!>compareTo6 != 0<!>) return "Fail 1.6"
|
||||
if (<!EVALUATED("false")!>compareTo7 != 0<!>) return "Fail 1.7"
|
||||
if (<!EVALUATED("false")!>compareTo8 != 0<!>) return "Fail 1.8"
|
||||
|
||||
if (plus1 != 3.0) return "Fail 2.1"
|
||||
if (plus2 != 4.0) return "Fail 2.2"
|
||||
if (plus3 != 5.0) return "Fail 2.3"
|
||||
if (plus4 != 4.0) return "Fail 2.4"
|
||||
if (plus5 != 4.0) return "Fail 2.5"
|
||||
if (plus6 != 4.0) return "Fail 2.6"
|
||||
if (plus7 != 4.0) return "Fail 2.7"
|
||||
if (plus8 != 4.0) return "Fail 2.8"
|
||||
if (<!EVALUATED("false")!>plus1 != 3.0<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>plus2 != 4.0<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>plus3 != 5.0<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>plus4 != 4.0<!>) return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>plus5 != 4.0<!>) return "Fail 2.5"
|
||||
if (<!EVALUATED("false")!>plus6 != 4.0<!>) return "Fail 2.6"
|
||||
if (<!EVALUATED("false")!>plus7 != 4.0<!>) return "Fail 2.7"
|
||||
if (<!EVALUATED("false")!>plus8 != 4.0<!>) return "Fail 2.8"
|
||||
|
||||
if (minus1 != -1.0) return "Fail 3.1"
|
||||
if (minus2 != 0.0) return "Fail 3.2"
|
||||
if (minus3 != 1.0) return "Fail 3.3"
|
||||
if (minus4 != 0.0) return "Fail 3.4"
|
||||
if (minus5 != 0.0) return "Fail 3.5"
|
||||
if (minus6 != 0.0) return "Fail 3.6"
|
||||
if (minus7 != 0.0) return "Fail 3.7"
|
||||
if (minus8 != 0.0) return "Fail 3.8"
|
||||
if (<!EVALUATED("false")!>minus1 != -1.0<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>minus2 != 0.0<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>minus3 != 1.0<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>minus4 != 0.0<!>) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>minus5 != 0.0<!>) return "Fail 3.5"
|
||||
if (<!EVALUATED("false")!>minus6 != 0.0<!>) return "Fail 3.6"
|
||||
if (<!EVALUATED("false")!>minus7 != 0.0<!>) return "Fail 3.7"
|
||||
if (<!EVALUATED("false")!>minus8 != 0.0<!>) return "Fail 3.8"
|
||||
|
||||
if (times1 != 2.0) return "Fail 4.1"
|
||||
if (times2 != 4.0) return "Fail 4.2"
|
||||
if (times3 != 6.0) return "Fail 4.3"
|
||||
if (times4 != 4.0) return "Fail 4.4"
|
||||
if (times5 != 4.0) return "Fail 4.5"
|
||||
if (times6 != 4.0) return "Fail 4.6"
|
||||
if (times7 != 4.0) return "Fail 4.7"
|
||||
if (times8 != 4.0) return "Fail 4.8"
|
||||
if (<!EVALUATED("false")!>times1 != 2.0<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>times2 != 4.0<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>times3 != 6.0<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>times4 != 4.0<!>) return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>times5 != 4.0<!>) return "Fail 4.5"
|
||||
if (<!EVALUATED("false")!>times6 != 4.0<!>) return "Fail 4.6"
|
||||
if (<!EVALUATED("false")!>times7 != 4.0<!>) return "Fail 4.7"
|
||||
if (<!EVALUATED("false")!>times8 != 4.0<!>) return "Fail 4.8"
|
||||
|
||||
if (div1 != 0.5) return "Fail 5.1"
|
||||
if (div2 != 1.0) return "Fail 5.2"
|
||||
if (div3 != 1.5) return "Fail 5.3"
|
||||
if (div4 != 1.0) return "Fail 5.4"
|
||||
if (div5 != 1.0) return "Fail 5.5"
|
||||
if (div6 != 1.0) return "Fail 5.6"
|
||||
if (div7 != 1.0) return "Fail 5.7"
|
||||
if (div8 != 1.0) return "Fail 5.8"
|
||||
if (<!EVALUATED("false")!>div1 != 0.5<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>div2 != 1.0<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>div3 != 1.5<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>div4 != 1.0<!>) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>div5 != 1.0<!>) return "Fail 5.5"
|
||||
if (<!EVALUATED("false")!>div6 != 1.0<!>) return "Fail 5.6"
|
||||
if (<!EVALUATED("false")!>div7 != 1.0<!>) return "Fail 5.7"
|
||||
if (<!EVALUATED("false")!>div8 != 1.0<!>) return "Fail 5.8"
|
||||
|
||||
if (rem1 != 1.0) return "Fail 6.1"
|
||||
if (rem2 != 0.0) return "Fail 6.2"
|
||||
if (rem3 != 1.0) return "Fail 6.3"
|
||||
if (rem4 != 0.0) return "Fail 6.4"
|
||||
if (rem5 != 0.0) return "Fail 6.5"
|
||||
if (rem6 != 0.0) return "Fail 6.6"
|
||||
if (rem7 != 0.0) return "Fail 6.7"
|
||||
if (rem8 != 0.0) return "Fail 6.8"
|
||||
if (<!EVALUATED("false")!>rem1 != 1.0<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>rem2 != 0.0<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>rem3 != 1.0<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>rem4 != 0.0<!>) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>rem5 != 0.0<!>) return "Fail 6.5"
|
||||
if (<!EVALUATED("false")!>rem6 != 0.0<!>) return "Fail 6.6"
|
||||
if (<!EVALUATED("false")!>rem7 != 0.0<!>) return "Fail 6.7"
|
||||
if (<!EVALUATED("false")!>rem8 != 0.0<!>) return "Fail 6.8"
|
||||
|
||||
if (unaryPlus1 != 1.0) return "Fail 7.1"
|
||||
if (unaryPlus2 != -1.0) return "Fail 7.2"
|
||||
if (unaryMinus1 != -1.0) return "Fail 7.3"
|
||||
if (unaryMinus2 != 1.0) return "Fail 7.4"
|
||||
if (<!EVALUATED("false")!>unaryPlus1 != 1.0<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>unaryPlus2 != -1.0<!>) return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>unaryMinus1 != -1.0<!>) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>unaryMinus2 != 1.0<!>) return "Fail 7.4"
|
||||
|
||||
if (convert1 != '') return "Fail 8.1"
|
||||
if (convert2 != 1) return "Fail 8.2"
|
||||
if (convert3 != 1L) return "Fail 8.3"
|
||||
if (convert4 != 1.0f) return "Fail 8.4"
|
||||
if (convert5 != 1.0) return "Fail 8.5"
|
||||
if (<!EVALUATED("false")!>convert1 != ''<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>convert2 != 1<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>convert3 != 1L<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>convert4 != 1.0f<!>) return "Fail 8.4"
|
||||
if (<!EVALUATED("false")!>convert5 != 1.0<!>) return "Fail 8.5"
|
||||
|
||||
if (equals1 != false) return "Fail 9.1"
|
||||
if (equals2 != true) return "Fail 9.2"
|
||||
if (equals3 != false) return "Fail 9.3"
|
||||
if (equals4 != false) return "Fail 9.4"
|
||||
if (<!EVALUATED("false")!>equals1 != false<!>) return "Fail 9.1"
|
||||
if (<!EVALUATED("false")!>equals2 != true<!>) return "Fail 9.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
if (toString1 != "1.0" && toString1 != "1" /* JS */) return "Fail 10.1"
|
||||
if (toString2 != "2.0" && toString2 != "2" /* JS */) return "Fail 10.2"
|
||||
if (toString3 != "1.5") return "Fail 10.3"
|
||||
// id is needed to avoid evaluation and so match different cases for JVM and JS
|
||||
if (<!EVALUATED("1.0")!>toString1<!>.id() != "1.0" && <!EVALUATED("1.0")!>toString1<!>.id() != "1" /* JS */) return "Fail 10.1"
|
||||
if (<!EVALUATED("2.0")!>toString2<!>.id() != "2.0" && <!EVALUATED("2.0")!>toString2<!>.id() != "2" /* JS */) return "Fail 10.2"
|
||||
if (<!EVALUATED("1.5")!>toString3<!>.id() != "1.5") return "Fail 10.3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -6,15 +6,15 @@ enum class EnumClass {
|
||||
OK, VALUE, anotherValue, WITH_UNDERSCORE
|
||||
}
|
||||
|
||||
const val name1 = EnumClass.OK.name
|
||||
const val name2 = EnumClass.VALUE.name
|
||||
const val name3 = EnumClass.anotherValue.name
|
||||
const val name4 = EnumClass.WITH_UNDERSCORE.name
|
||||
const val name1 = EnumClass.OK.<!EVALUATED("OK")!>name<!>
|
||||
const val name2 = EnumClass.VALUE.<!EVALUATED("VALUE")!>name<!>
|
||||
const val name3 = EnumClass.anotherValue.<!EVALUATED("anotherValue")!>name<!>
|
||||
const val name4 = EnumClass.WITH_UNDERSCORE.<!EVALUATED("WITH_UNDERSCORE")!>name<!>
|
||||
|
||||
fun box(): String {
|
||||
if (EnumClass.OK.name != "OK") return "Fail 1"
|
||||
if (name2 != "VALUE") return "Fail 2"
|
||||
if (name3 != "anotherValue") return "Fail 3"
|
||||
if (name4 != "WITH_UNDERSCORE") return "Fail 4"
|
||||
return name1
|
||||
}
|
||||
if (<!EVALUATED("false")!>EnumClass.OK.name != "OK"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>name2 != "VALUE"<!>) return "Fail 2"
|
||||
if (<!EVALUATED("false")!>name3 != "anotherValue"<!>) return "Fail 3"
|
||||
if (<!EVALUATED("false")!>name4 != "WITH_UNDERSCORE"<!>) return "Fail 4"
|
||||
return <!EVALUATED("OK")!>name1<!>
|
||||
}
|
||||
|
||||
+3
-6
@@ -1,14 +1,11 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// IGNORE_FIR_DIAGNOSTICS
|
||||
// IGNORE_BACKEND_K1: JVM_IR
|
||||
// !DIAGNOSTICS: -UNINITIALIZED_ENUM_ENTRY
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
|
||||
enum class TestEnum(val testNaming: String) {
|
||||
OK(OK.name),
|
||||
OK(OK.<!EVALUATED("OK")!>name<!>),
|
||||
}
|
||||
|
||||
const val name = TestEnum.OK.name
|
||||
|
||||
fun box(): String {
|
||||
val name = TestEnum.OK.<!EVALUATED("OK")!>name<!>
|
||||
return name
|
||||
}
|
||||
|
||||
+109
-109
@@ -1,141 +1,141 @@
|
||||
// !LANGUAGE: +IntrinsicConstEvaluation
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
const val trueVal = true
|
||||
const val falseVal = false
|
||||
const val trueVal = <!EVALUATED("true")!>true<!>
|
||||
const val falseVal = <!EVALUATED("false")!>false<!>
|
||||
|
||||
const val charOneVal = '1'
|
||||
const val charTwoVal = '2'
|
||||
const val charThreeVal = '3'
|
||||
const val charFourVal = '4'
|
||||
const val charOneVal = <!EVALUATED("1")!>'1'<!>
|
||||
const val charTwoVal = <!EVALUATED("2")!>'2'<!>
|
||||
const val charThreeVal = <!EVALUATED("3")!>'3'<!>
|
||||
const val charFourVal = <!EVALUATED("4")!>'4'<!>
|
||||
|
||||
const val byteMinusOneVal = (-1).toByte()
|
||||
const val byteOneVal = 1.toByte()
|
||||
const val byteTwoVal = 2.toByte()
|
||||
const val byteThreeVal = 3.toByte()
|
||||
const val byteFourVal = 4.toByte()
|
||||
const val byteMinusOneVal = (-1).<!EVALUATED("-1")!>toByte()<!>
|
||||
const val byteOneVal = 1.<!EVALUATED("1")!>toByte()<!>
|
||||
const val byteTwoVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val byteThreeVal = 3.<!EVALUATED("3")!>toByte()<!>
|
||||
const val byteFourVal = 4.<!EVALUATED("4")!>toByte()<!>
|
||||
|
||||
const val shortMinusOneVal = (-1).toShort()
|
||||
const val shortOneVal = 1.toShort()
|
||||
const val shortTwoVal = 2.toShort()
|
||||
const val shortThreeVal = 3.toShort()
|
||||
const val shortFourVal = 4.toShort()
|
||||
const val shortMinusOneVal = (-1).<!EVALUATED("-1")!>toShort()<!>
|
||||
const val shortOneVal = 1.<!EVALUATED("1")!>toShort()<!>
|
||||
const val shortTwoVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val shortThreeVal = 3.<!EVALUATED("3")!>toShort()<!>
|
||||
const val shortFourVal = 4.<!EVALUATED("4")!>toShort()<!>
|
||||
|
||||
const val intMinusOneVal = -1
|
||||
const val intOneVal = 1
|
||||
const val intTwoVal = 2
|
||||
const val intThreeVal = 3
|
||||
const val intFourVal = 4
|
||||
const val intMinusOneVal = <!EVALUATED("-1")!>-1<!>
|
||||
const val intOneVal = <!EVALUATED("1")!>1<!>
|
||||
const val intTwoVal = <!EVALUATED("2")!>2<!>
|
||||
const val intThreeVal = <!EVALUATED("3")!>3<!>
|
||||
const val intFourVal = <!EVALUATED("4")!>4<!>
|
||||
|
||||
const val longMinusOneVal = -1L
|
||||
const val longOneVal = 1L
|
||||
const val longTwoVal = 2L
|
||||
const val longThreeVal = 3L
|
||||
const val longFourVal = 4L
|
||||
const val longMinusOneVal = <!EVALUATED("-1")!>-1L<!>
|
||||
const val longOneVal = <!EVALUATED("1")!>1L<!>
|
||||
const val longTwoVal = <!EVALUATED("2")!>2L<!>
|
||||
const val longThreeVal = <!EVALUATED("3")!>3L<!>
|
||||
const val longFourVal = <!EVALUATED("4")!>4L<!>
|
||||
|
||||
const val floatMinusOneVal = -1.0f
|
||||
const val floatOneVal = 1.0f
|
||||
const val floatTwoVal = 2.0f
|
||||
const val floatThreeVal = 3.0f
|
||||
const val floatFourVal = 4.0f
|
||||
const val floatMinusOneVal = <!EVALUATED("-1.0")!>-1.0f<!>
|
||||
const val floatOneVal = <!EVALUATED("1.0")!>1.0f<!>
|
||||
const val floatTwoVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val floatThreeVal = <!EVALUATED("3.0")!>3.0f<!>
|
||||
const val floatFourVal = <!EVALUATED("4.0")!>4.0f<!>
|
||||
|
||||
const val doubleMinusOneVal = -1.0
|
||||
const val doubleOneVal = 1.0
|
||||
const val doubleTwoVal = 2.0
|
||||
const val doubleThreeVal = 3.0
|
||||
const val doubleFourVal = 4.0
|
||||
const val doubleMinusOneVal = <!EVALUATED("-1.0")!>-1.0<!>
|
||||
const val doubleOneVal = <!EVALUATED("1.0")!>1.0<!>
|
||||
const val doubleTwoVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
const val doubleThreeVal = <!EVALUATED("3.0")!>3.0<!>
|
||||
const val doubleFourVal = <!EVALUATED("4.0")!>4.0<!>
|
||||
|
||||
const val someStr = "123"
|
||||
const val otherStr = "other"
|
||||
const val someStr = <!EVALUATED("123")!>"123"<!>
|
||||
const val otherStr = <!EVALUATED("other")!>"other"<!>
|
||||
|
||||
const val equalsBoolean1 = trueVal.equals(trueVal)
|
||||
const val equalsBoolean2 = trueVal == falseVal
|
||||
const val equalsBoolean3 = falseVal.equals(1)
|
||||
const val equalsBoolean1 = trueVal.<!EVALUATED("true")!>equals(trueVal)<!>
|
||||
const val equalsBoolean2 = <!EVALUATED("false")!>trueVal == falseVal<!>
|
||||
const val equalsBoolean3 = falseVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsChar1 = charOneVal.equals(charTwoVal)
|
||||
const val equalsChar2 = charTwoVal.equals(charTwoVal)
|
||||
const val equalsChar3 = charThreeVal == charTwoVal
|
||||
const val equalsChar4 = charFourVal.equals(1)
|
||||
const val equalsChar1 = charOneVal.<!EVALUATED("false")!>equals(charTwoVal)<!>
|
||||
const val equalsChar2 = charTwoVal.<!EVALUATED("true")!>equals(charTwoVal)<!>
|
||||
const val equalsChar3 = <!EVALUATED("false")!>charThreeVal == charTwoVal<!>
|
||||
const val equalsChar4 = charFourVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsByte1 = byteOneVal.equals(byteTwoVal)
|
||||
const val equalsByte2 = byteTwoVal.equals(byteTwoVal)
|
||||
const val equalsByte3 = byteThreeVal == byteTwoVal
|
||||
const val equalsByte4 = byteFourVal.equals(1)
|
||||
const val equalsByte1 = byteOneVal.<!EVALUATED("false")!>equals(byteTwoVal)<!>
|
||||
const val equalsByte2 = byteTwoVal.<!EVALUATED("true")!>equals(byteTwoVal)<!>
|
||||
const val equalsByte3 = <!EVALUATED("false")!>byteThreeVal == byteTwoVal<!>
|
||||
const val equalsByte4 = byteFourVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsShort1 = shortOneVal.equals(shortTwoVal)
|
||||
const val equalsShort2 = shortTwoVal.equals(shortTwoVal)
|
||||
const val equalsShort3 = shortThreeVal == shortTwoVal
|
||||
const val equalsShort4 = shortFourVal.equals(1)
|
||||
const val equalsShort1 = shortOneVal.<!EVALUATED("false")!>equals(shortTwoVal)<!>
|
||||
const val equalsShort2 = shortTwoVal.<!EVALUATED("true")!>equals(shortTwoVal)<!>
|
||||
const val equalsShort3 = <!EVALUATED("false")!>shortThreeVal == shortTwoVal<!>
|
||||
const val equalsShort4 = shortFourVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsInt1 = intOneVal.equals(intTwoVal)
|
||||
const val equalsInt2 = intTwoVal.equals(intTwoVal)
|
||||
const val equalsInt3 = intThreeVal == intTwoVal
|
||||
const val equalsInt4 = intFourVal.equals(1)
|
||||
const val equalsInt1 = intOneVal.<!EVALUATED("false")!>equals(intTwoVal)<!>
|
||||
const val equalsInt2 = intTwoVal.<!EVALUATED("true")!>equals(intTwoVal)<!>
|
||||
const val equalsInt3 = <!EVALUATED("false")!>intThreeVal == intTwoVal<!>
|
||||
const val equalsInt4 = intFourVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsLong1 = longOneVal.equals(longTwoVal)
|
||||
const val equalsLong2 = longTwoVal.equals(longTwoVal)
|
||||
const val equalsLong3 = longThreeVal == longTwoVal
|
||||
const val equalsLong4 = longFourVal.equals(1)
|
||||
const val equalsLong1 = longOneVal.<!EVALUATED("false")!>equals(longTwoVal)<!>
|
||||
const val equalsLong2 = longTwoVal.<!EVALUATED("true")!>equals(longTwoVal)<!>
|
||||
const val equalsLong3 = <!EVALUATED("false")!>longThreeVal == longTwoVal<!>
|
||||
const val equalsLong4 = longFourVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsFloat1 = floatOneVal.equals(floatTwoVal)
|
||||
const val equalsFloat2 = floatTwoVal.equals(floatTwoVal)
|
||||
const val equalsFloat3 = floatThreeVal == floatTwoVal
|
||||
const val equalsFloat4 = floatFourVal.equals(1)
|
||||
const val equalsFloat1 = floatOneVal.<!EVALUATED("false")!>equals(floatTwoVal)<!>
|
||||
const val equalsFloat2 = floatTwoVal.<!EVALUATED("true")!>equals(floatTwoVal)<!>
|
||||
const val equalsFloat3 = <!EVALUATED("false")!>floatThreeVal == floatTwoVal<!>
|
||||
const val equalsFloat4 = floatFourVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsDouble1 = doubleOneVal.equals(doubleTwoVal)
|
||||
const val equalsDouble2 = doubleTwoVal.equals(doubleTwoVal)
|
||||
const val equalsDouble3 = doubleThreeVal == doubleTwoVal
|
||||
const val equalsDouble4 = doubleFourVal.equals(1)
|
||||
const val equalsDouble1 = doubleOneVal.<!EVALUATED("false")!>equals(doubleTwoVal)<!>
|
||||
const val equalsDouble2 = doubleTwoVal.<!EVALUATED("true")!>equals(doubleTwoVal)<!>
|
||||
const val equalsDouble3 = <!EVALUATED("false")!>doubleThreeVal == doubleTwoVal<!>
|
||||
const val equalsDouble4 = doubleFourVal.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
const val equalsString1 = someStr.equals(otherStr)
|
||||
const val equalsString2 = someStr.equals("123")
|
||||
const val equalsString3 = otherStr == someStr
|
||||
const val equalsString4 = someStr.equals(1)
|
||||
const val equalsString1 = someStr.<!EVALUATED("false")!>equals(otherStr)<!>
|
||||
const val equalsString2 = someStr.<!EVALUATED("true")!>equals("123")<!>
|
||||
const val equalsString3 = <!EVALUATED("false")!>otherStr == someStr<!>
|
||||
const val equalsString4 = someStr.<!EVALUATED("false")!>equals(1)<!>
|
||||
|
||||
fun box(): String {
|
||||
if (equalsBoolean1 != true) return "Fail 1.1"
|
||||
if (equalsBoolean2 != false) return "Fail 1.2"
|
||||
if (equalsBoolean3 != false) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>equalsBoolean1 != true<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>equalsBoolean2 != false<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>equalsBoolean3 != false<!>) return "Fail 1.3"
|
||||
|
||||
if (equalsChar1 != false) return "Fail 2.1"
|
||||
if (equalsChar2 != true) return "Fail 2.2"
|
||||
if (equalsChar3 != false) return "Fail 2.3"
|
||||
if (equalsChar4 != false) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>equalsChar1 != false<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>equalsChar2 != true<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>equalsChar3 != false<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>equalsChar4 != false<!>) return "Fail 2.3"
|
||||
|
||||
if (equalsByte1 != false) return "Fail 3.1"
|
||||
if (equalsByte2 != true) return "Fail 3.2"
|
||||
if (equalsByte3 != false) return "Fail 3.3"
|
||||
if (equalsByte4 != false) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>equalsByte1 != false<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>equalsByte2 != true<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>equalsByte3 != false<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>equalsByte4 != false<!>) return "Fail 3.3"
|
||||
|
||||
if (equalsShort1 != false) return "Fail 4.1"
|
||||
if (equalsShort2 != true) return "Fail 4.2"
|
||||
if (equalsShort3 != false) return "Fail 4.3"
|
||||
if (equalsShort4 != false) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>equalsShort1 != false<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>equalsShort2 != true<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>equalsShort3 != false<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>equalsShort4 != false<!>) return "Fail 4.3"
|
||||
|
||||
if (equalsInt1 != false) return "Fail 5.1"
|
||||
if (equalsInt2 != true) return "Fail 5.2"
|
||||
if (equalsInt3 != false) return "Fail 5.3"
|
||||
if (equalsInt4 != false) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>equalsInt1 != false<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>equalsInt2 != true<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>equalsInt3 != false<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>equalsInt4 != false<!>) return "Fail 5.3"
|
||||
|
||||
if (equalsLong1 != false) return "Fail 6.1"
|
||||
if (equalsLong2 != true) return "Fail 6.2"
|
||||
if (equalsLong3 != false) return "Fail 6.3"
|
||||
if (equalsLong4 != false) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>equalsLong1 != false<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>equalsLong2 != true<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>equalsLong3 != false<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>equalsLong4 != false<!>) return "Fail 6.3"
|
||||
|
||||
if (equalsFloat1 != false) return "Fail 7.1"
|
||||
if (equalsFloat2 != true) return "Fail 7.2"
|
||||
if (equalsFloat3 != false) return "Fail 7.3"
|
||||
if (equalsFloat4 != false) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>equalsFloat1 != false<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>equalsFloat2 != true<!>) return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>equalsFloat3 != false<!>) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>equalsFloat4 != false<!>) return "Fail 7.3"
|
||||
|
||||
if (equalsDouble1 != false) return "Fail 8.1"
|
||||
if (equalsDouble2 != true) return "Fail 8.2"
|
||||
if (equalsDouble3 != false) return "Fail 8.3"
|
||||
if (equalsDouble4 != false) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>equalsDouble1 != false<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>equalsDouble2 != true<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>equalsDouble3 != false<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>equalsDouble4 != false<!>) return "Fail 8.3"
|
||||
|
||||
if (equalsString1 != false) return "Fail 9.1"
|
||||
if (equalsString2 != true) return "Fail 9.2"
|
||||
if (equalsString3 != false) return "Fail 9.3"
|
||||
if (equalsString4 != false) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equalsString1 != false<!>) return "Fail 9.1"
|
||||
if (<!EVALUATED("false")!>equalsString2 != true<!>) return "Fail 9.2"
|
||||
if (<!EVALUATED("false")!>equalsString3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equalsString4 != false<!>) return "Fail 9.3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+144
-141
@@ -3,168 +3,171 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
|
||||
const val minusOneVal = -1.0f
|
||||
const val oneVal = 1.0f
|
||||
const val twoVal = 2.0f
|
||||
const val threeVal = 3.0f
|
||||
const val fourVal = 4.0f
|
||||
const val oneAndAHalf = 1.5f
|
||||
const val minusOneVal = <!EVALUATED("-1.0")!>-1.0f<!>
|
||||
const val oneVal = <!EVALUATED("1.0")!>1.0f<!>
|
||||
const val twoVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val threeVal = <!EVALUATED("3.0")!>3.0f<!>
|
||||
const val fourVal = <!EVALUATED("4.0")!>4.0f<!>
|
||||
const val oneAndAHalf = <!EVALUATED("1.5")!>1.5f<!>
|
||||
|
||||
const val byteVal = 2.toByte()
|
||||
const val shortVal = 2.toShort()
|
||||
const val intVal = 2
|
||||
const val longVal = 2L
|
||||
const val floatVal = 2.0f
|
||||
const val doubleVal = 2.0
|
||||
const val byteVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val shortVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val intVal = <!EVALUATED("2")!>2<!>
|
||||
const val longVal = <!EVALUATED("2")!>2L<!>
|
||||
const val floatVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val doubleVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
|
||||
const val compareTo1 = oneVal.compareTo(twoVal)
|
||||
const val compareTo2 = twoVal.compareTo(twoVal)
|
||||
const val compareTo3 = threeVal.compareTo(twoVal)
|
||||
const val compareTo4 = twoVal.compareTo(byteVal)
|
||||
const val compareTo5 = twoVal.compareTo(shortVal)
|
||||
const val compareTo6 = twoVal.compareTo(intVal)
|
||||
const val compareTo7 = twoVal.compareTo(longVal)
|
||||
const val compareTo8 = twoVal.compareTo(doubleVal)
|
||||
const val compareTo1 = oneVal.<!EVALUATED("-1")!>compareTo(twoVal)<!>
|
||||
const val compareTo2 = twoVal.<!EVALUATED("0")!>compareTo(twoVal)<!>
|
||||
const val compareTo3 = threeVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
const val compareTo4 = twoVal.<!EVALUATED("0")!>compareTo(byteVal)<!>
|
||||
const val compareTo5 = twoVal.<!EVALUATED("0")!>compareTo(shortVal)<!>
|
||||
const val compareTo6 = twoVal.<!EVALUATED("0")!>compareTo(intVal)<!>
|
||||
const val compareTo7 = twoVal.<!EVALUATED("0")!>compareTo(longVal)<!>
|
||||
const val compareTo8 = twoVal.<!EVALUATED("0")!>compareTo(doubleVal)<!>
|
||||
|
||||
const val plus1 = oneVal.plus(twoVal)
|
||||
const val plus2 = twoVal.plus(twoVal)
|
||||
const val plus3 = threeVal.plus(twoVal)
|
||||
const val plus4 = twoVal.plus(byteVal)
|
||||
const val plus5 = twoVal.plus(shortVal)
|
||||
const val plus6 = twoVal.plus(intVal)
|
||||
const val plus7 = twoVal.plus(longVal)
|
||||
const val plus8 = twoVal.plus(doubleVal)
|
||||
const val plus1 = oneVal.<!EVALUATED("3.0")!>plus(twoVal)<!>
|
||||
const val plus2 = twoVal.<!EVALUATED("4.0")!>plus(twoVal)<!>
|
||||
const val plus3 = threeVal.<!EVALUATED("5.0")!>plus(twoVal)<!>
|
||||
const val plus4 = twoVal.<!EVALUATED("4.0")!>plus(byteVal)<!>
|
||||
const val plus5 = twoVal.<!EVALUATED("4.0")!>plus(shortVal)<!>
|
||||
const val plus6 = twoVal.<!EVALUATED("4.0")!>plus(intVal)<!>
|
||||
const val plus7 = twoVal.<!EVALUATED("4.0")!>plus(longVal)<!>
|
||||
const val plus8 = twoVal.<!EVALUATED("4.0")!>plus(doubleVal)<!>
|
||||
|
||||
const val minus1 = oneVal.minus(twoVal)
|
||||
const val minus2 = twoVal.minus(twoVal)
|
||||
const val minus3 = threeVal.minus(twoVal)
|
||||
const val minus4 = twoVal.minus(byteVal)
|
||||
const val minus5 = twoVal.minus(shortVal)
|
||||
const val minus6 = twoVal.minus(intVal)
|
||||
const val minus7 = twoVal.minus(longVal)
|
||||
const val minus8 = twoVal.minus(doubleVal)
|
||||
const val minus1 = oneVal.<!EVALUATED("-1.0")!>minus(twoVal)<!>
|
||||
const val minus2 = twoVal.<!EVALUATED("0.0")!>minus(twoVal)<!>
|
||||
const val minus3 = threeVal.<!EVALUATED("1.0")!>minus(twoVal)<!>
|
||||
const val minus4 = twoVal.<!EVALUATED("0.0")!>minus(byteVal)<!>
|
||||
const val minus5 = twoVal.<!EVALUATED("0.0")!>minus(shortVal)<!>
|
||||
const val minus6 = twoVal.<!EVALUATED("0.0")!>minus(intVal)<!>
|
||||
const val minus7 = twoVal.<!EVALUATED("0.0")!>minus(longVal)<!>
|
||||
const val minus8 = twoVal.<!EVALUATED("0.0")!>minus(doubleVal)<!>
|
||||
|
||||
const val times1 = oneVal.times(twoVal)
|
||||
const val times2 = twoVal.times(twoVal)
|
||||
const val times3 = threeVal.times(twoVal)
|
||||
const val times4 = twoVal.times(byteVal)
|
||||
const val times5 = twoVal.times(shortVal)
|
||||
const val times6 = twoVal.times(intVal)
|
||||
const val times7 = twoVal.times(longVal)
|
||||
const val times8 = twoVal.times(doubleVal)
|
||||
const val times1 = oneVal.<!EVALUATED("2.0")!>times(twoVal)<!>
|
||||
const val times2 = twoVal.<!EVALUATED("4.0")!>times(twoVal)<!>
|
||||
const val times3 = threeVal.<!EVALUATED("6.0")!>times(twoVal)<!>
|
||||
const val times4 = twoVal.<!EVALUATED("4.0")!>times(byteVal)<!>
|
||||
const val times5 = twoVal.<!EVALUATED("4.0")!>times(shortVal)<!>
|
||||
const val times6 = twoVal.<!EVALUATED("4.0")!>times(intVal)<!>
|
||||
const val times7 = twoVal.<!EVALUATED("4.0")!>times(longVal)<!>
|
||||
const val times8 = twoVal.<!EVALUATED("4.0")!>times(doubleVal)<!>
|
||||
|
||||
const val div1 = oneVal.div(twoVal)
|
||||
const val div2 = twoVal.div(twoVal)
|
||||
const val div3 = threeVal.div(twoVal)
|
||||
const val div4 = twoVal.div(byteVal)
|
||||
const val div5 = twoVal.div(shortVal)
|
||||
const val div6 = twoVal.div(intVal)
|
||||
const val div7 = twoVal.div(longVal)
|
||||
const val div8 = twoVal.div(doubleVal)
|
||||
const val div1 = oneVal.<!EVALUATED("0.5")!>div(twoVal)<!>
|
||||
const val div2 = twoVal.<!EVALUATED("1.0")!>div(twoVal)<!>
|
||||
const val div3 = threeVal.<!EVALUATED("1.5")!>div(twoVal)<!>
|
||||
const val div4 = twoVal.<!EVALUATED("1.0")!>div(byteVal)<!>
|
||||
const val div5 = twoVal.<!EVALUATED("1.0")!>div(shortVal)<!>
|
||||
const val div6 = twoVal.<!EVALUATED("1.0")!>div(intVal)<!>
|
||||
const val div7 = twoVal.<!EVALUATED("1.0")!>div(longVal)<!>
|
||||
const val div8 = twoVal.<!EVALUATED("1.0")!>div(doubleVal)<!>
|
||||
|
||||
const val rem1 = oneVal.rem(twoVal)
|
||||
const val rem2 = twoVal.rem(twoVal)
|
||||
const val rem3 = threeVal.rem(twoVal)
|
||||
const val rem4 = twoVal.rem(byteVal)
|
||||
const val rem5 = twoVal.rem(shortVal)
|
||||
const val rem6 = twoVal.rem(intVal)
|
||||
const val rem7 = twoVal.rem(longVal)
|
||||
const val rem8 = twoVal.rem(doubleVal)
|
||||
const val rem1 = oneVal.<!EVALUATED("1.0")!>rem(twoVal)<!>
|
||||
const val rem2 = twoVal.<!EVALUATED("0.0")!>rem(twoVal)<!>
|
||||
const val rem3 = threeVal.<!EVALUATED("1.0")!>rem(twoVal)<!>
|
||||
const val rem4 = twoVal.<!EVALUATED("0.0")!>rem(byteVal)<!>
|
||||
const val rem5 = twoVal.<!EVALUATED("0.0")!>rem(shortVal)<!>
|
||||
const val rem6 = twoVal.<!EVALUATED("0.0")!>rem(intVal)<!>
|
||||
const val rem7 = twoVal.<!EVALUATED("0.0")!>rem(longVal)<!>
|
||||
const val rem8 = twoVal.<!EVALUATED("0.0")!>rem(doubleVal)<!>
|
||||
|
||||
const val unaryPlus1 = oneVal.unaryPlus()
|
||||
const val unaryPlus2 = minusOneVal.unaryPlus()
|
||||
const val unaryMinus1 = oneVal.unaryMinus()
|
||||
const val unaryMinus2 = minusOneVal.unaryMinus()
|
||||
const val unaryPlus1 = oneVal.<!EVALUATED("1.0")!>unaryPlus()<!>
|
||||
const val unaryPlus2 = minusOneVal.<!EVALUATED("-1.0")!>unaryPlus()<!>
|
||||
const val unaryMinus1 = oneVal.<!EVALUATED("-1.0")!>unaryMinus()<!>
|
||||
const val unaryMinus2 = minusOneVal.<!EVALUATED("1.0")!>unaryMinus()<!>
|
||||
|
||||
const val convert1 = oneVal.toChar()
|
||||
const val convert2 = oneVal.toInt()
|
||||
const val convert3 = oneVal.toLong()
|
||||
const val convert4 = oneVal.toFloat()
|
||||
const val convert5 = oneVal.toDouble()
|
||||
const val convert1 = oneVal.<!EVALUATED("")!>toChar()<!>
|
||||
const val convert2 = oneVal.<!EVALUATED("1")!>toInt()<!>
|
||||
const val convert3 = oneVal.<!EVALUATED("1")!>toLong()<!>
|
||||
const val convert4 = oneVal.<!EVALUATED("1.0")!>toFloat()<!>
|
||||
const val convert5 = oneVal.<!EVALUATED("1.0")!>toDouble()<!>
|
||||
|
||||
const val equals1 = oneVal == twoVal
|
||||
const val equals2 = twoVal == twoVal
|
||||
const val equals3 = threeVal == twoVal
|
||||
const val equals4 = fourVal == twoVal
|
||||
const val equals1 = <!EVALUATED("false")!>oneVal == twoVal<!>
|
||||
const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.toString()
|
||||
const val toString2 = twoVal.toString()
|
||||
const val toString3 = oneAndAHalf.toString()
|
||||
const val toString1 = oneVal.<!EVALUATED("1.0")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2.0")!>toString()<!>
|
||||
const val toString3 = oneAndAHalf.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
fun <T> T.id(): T = this
|
||||
|
||||
fun box(): String {
|
||||
if (compareTo1 != -1) return "Fail 1.1"
|
||||
if (compareTo2 != 0) return "Fail 1.2"
|
||||
if (compareTo3 != 1) return "Fail 1.3"
|
||||
if (compareTo4 != 0) return "Fail 1.4"
|
||||
if (compareTo5 != 0) return "Fail 1.5"
|
||||
if (compareTo6 != 0) return "Fail 1.6"
|
||||
if (compareTo7 != 0) return "Fail 1.7"
|
||||
if (compareTo8 != 0) return "Fail 1.8"
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != 1<!>) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 0<!>) return "Fail 1.4"
|
||||
if (<!EVALUATED("false")!>compareTo5 != 0<!>) return "Fail 1.5"
|
||||
if (<!EVALUATED("false")!>compareTo6 != 0<!>) return "Fail 1.6"
|
||||
if (<!EVALUATED("false")!>compareTo7 != 0<!>) return "Fail 1.7"
|
||||
if (<!EVALUATED("false")!>compareTo8 != 0<!>) return "Fail 1.8"
|
||||
|
||||
if (plus1 != 3f) return "Fail 2.1"
|
||||
if (plus2 != 4f) return "Fail 2.2"
|
||||
if (plus3 != 5f) return "Fail 2.3"
|
||||
if (plus4 != 4f) return "Fail 2.4"
|
||||
if (plus5 != 4f) return "Fail 2.5"
|
||||
if (plus6 != 4f) return "Fail 2.6"
|
||||
if (plus7 != 4.0f) return "Fail 2.7"
|
||||
if (plus8 != 4.0) return "Fail 2.8"
|
||||
if (<!EVALUATED("false")!>plus1 != 3f<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>plus2 != 4f<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>plus3 != 5f<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>plus4 != 4f<!>) return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>plus5 != 4f<!>) return "Fail 2.5"
|
||||
if (<!EVALUATED("false")!>plus6 != 4f<!>) return "Fail 2.6"
|
||||
if (<!EVALUATED("false")!>plus7 != 4.0f<!>) return "Fail 2.7"
|
||||
if (<!EVALUATED("false")!>plus8 != 4.0<!>) return "Fail 2.8"
|
||||
|
||||
if (minus1 != -1f) return "Fail 3.1"
|
||||
if (minus2 != 0f) return "Fail 3.2"
|
||||
if (minus3 != 1f) return "Fail 3.3"
|
||||
if (minus4 != 0f) return "Fail 3.4"
|
||||
if (minus5 != 0f) return "Fail 3.5"
|
||||
if (minus6 != 0f) return "Fail 3.6"
|
||||
if (minus7 != 0.0f) return "Fail 3.7"
|
||||
if (minus8 != 0.0) return "Fail 3.8"
|
||||
if (<!EVALUATED("false")!>minus1 != -1f<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>minus2 != 0f<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>minus3 != 1f<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>minus4 != 0f<!>) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>minus5 != 0f<!>) return "Fail 3.5"
|
||||
if (<!EVALUATED("false")!>minus6 != 0f<!>) return "Fail 3.6"
|
||||
if (<!EVALUATED("false")!>minus7 != 0.0f<!>) return "Fail 3.7"
|
||||
if (<!EVALUATED("false")!>minus8 != 0.0<!>) return "Fail 3.8"
|
||||
|
||||
if (times1 != 2f) return "Fail 4.1"
|
||||
if (times2 != 4f) return "Fail 4.2"
|
||||
if (times3 != 6f) return "Fail 4.3"
|
||||
if (times4 != 4f) return "Fail 4.4"
|
||||
if (times5 != 4f) return "Fail 4.5"
|
||||
if (times6 != 4f) return "Fail 4.6"
|
||||
if (times7 != 4.0f) return "Fail 4.7"
|
||||
if (times8 != 4.0) return "Fail 4.8"
|
||||
if (<!EVALUATED("false")!>times1 != 2f<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>times2 != 4f<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>times3 != 6f<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>times4 != 4f<!>) return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>times5 != 4f<!>) return "Fail 4.5"
|
||||
if (<!EVALUATED("false")!>times6 != 4f<!>) return "Fail 4.6"
|
||||
if (<!EVALUATED("false")!>times7 != 4.0f<!>) return "Fail 4.7"
|
||||
if (<!EVALUATED("false")!>times8 != 4.0<!>) return "Fail 4.8"
|
||||
|
||||
if (div1 != 0.5f) return "Fail 5.1"
|
||||
if (div2 != 1.0f) return "Fail 5.2"
|
||||
if (div3 != 1.5f) return "Fail 5.3"
|
||||
if (div4 != 1f) return "Fail 5.4"
|
||||
if (div5 != 1f) return "Fail 5.5"
|
||||
if (div6 != 1f) return "Fail 5.6"
|
||||
if (div7 != 1.0f) return "Fail 5.7"
|
||||
if (div8 != 1.0) return "Fail 5.8"
|
||||
if (<!EVALUATED("false")!>div1 != 0.5f<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>div2 != 1.0f<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>div3 != 1.5f<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>div4 != 1f<!>) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>div5 != 1f<!>) return "Fail 5.5"
|
||||
if (<!EVALUATED("false")!>div6 != 1f<!>) return "Fail 5.6"
|
||||
if (<!EVALUATED("false")!>div7 != 1.0f<!>) return "Fail 5.7"
|
||||
if (<!EVALUATED("false")!>div8 != 1.0<!>) return "Fail 5.8"
|
||||
|
||||
if (rem1 != 1f) return "Fail 6.1"
|
||||
if (rem2 != 0f) return "Fail 6.2"
|
||||
if (rem3 != 1f) return "Fail 6.3"
|
||||
if (rem4 != 0f) return "Fail 6.4"
|
||||
if (rem5 != 0f) return "Fail 6.5"
|
||||
if (rem6 != 0f) return "Fail 6.6"
|
||||
if (rem7 != 0.0f) return "Fail 6.7"
|
||||
if (rem8 != 0.0) return "Fail 6.8"
|
||||
if (<!EVALUATED("false")!>rem1 != 1f<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>rem2 != 0f<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>rem3 != 1f<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>rem4 != 0f<!>) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>rem5 != 0f<!>) return "Fail 6.5"
|
||||
if (<!EVALUATED("false")!>rem6 != 0f<!>) return "Fail 6.6"
|
||||
if (<!EVALUATED("false")!>rem7 != 0.0f<!>) return "Fail 6.7"
|
||||
if (<!EVALUATED("false")!>rem8 != 0.0<!>) return "Fail 6.8"
|
||||
|
||||
if (unaryPlus1 != 1f) return "Fail 7.1"
|
||||
if (unaryPlus2 != -1f) return "Fail 7.2"
|
||||
if (unaryMinus1 != -1f) return "Fail 7.3"
|
||||
if (unaryMinus2 != 1f) return "Fail 7.4"
|
||||
if (<!EVALUATED("false")!>unaryPlus1 != 1f<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>unaryPlus2 != -1f<!>) return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>unaryMinus1 != -1f<!>) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>unaryMinus2 != 1f<!>) return "Fail 7.4"
|
||||
|
||||
if (convert1 != '') return "Fail 8.1"
|
||||
if (convert2 != 1) return "Fail 8.2"
|
||||
if (convert3 != 1L) return "Fail 8.3"
|
||||
if (convert4 != 1.0f) return "Fail 8.4"
|
||||
if (convert5 != 1.0) return "Fail 8.5"
|
||||
if (<!EVALUATED("false")!>convert1 != ''<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>convert2 != 1<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>convert3 != 1L<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>convert4 != 1.0f<!>) return "Fail 8.4"
|
||||
if (<!EVALUATED("false")!>convert5 != 1.0<!>) return "Fail 8.5"
|
||||
|
||||
if (equals1 != false) return "Fail 9.1"
|
||||
if (equals2 != true) return "Fail 9.2"
|
||||
if (equals3 != false) return "Fail 9.3"
|
||||
if (equals4 != false) return "Fail 9.4"
|
||||
if (<!EVALUATED("false")!>equals1 != false<!>) return "Fail 9.1"
|
||||
if (<!EVALUATED("false")!>equals2 != true<!>) return "Fail 9.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
if (toString1 != "1.0" && toString1 != "1" /* JS */) return "Fail 10.1"
|
||||
if (toString2 != "2.0" && toString2 != "2" /* JS */) return "Fail 10.2"
|
||||
if (toString3 != "1.5") return "Fail 10.3"
|
||||
// id is needed to avoid evaluation and so match different cases for JVM and JS
|
||||
if (<!EVALUATED("1.0")!>toString1<!>.id() != "1.0" && <!EVALUATED("1.0")!>toString1<!>.id() != "1" /* JS */) return "Fail 10.1"
|
||||
if (<!EVALUATED("2.0")!>toString2<!>.id() != "2.0" && <!EVALUATED("2.0")!>toString2<!>.id() != "2" /* JS */) return "Fail 10.2"
|
||||
if (<!EVALUATED("1.5")!>toString3<!>.id() != "1.5") return "Fail 10.3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+12
-22
@@ -4,29 +4,19 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: JVM_IR, NATIVE, JS_IR, JS_IR_ES6
|
||||
|
||||
const val flag = true
|
||||
const val value = 10
|
||||
const val condition = if (flag) "True" else "Error"
|
||||
const val withWhen = when (flag) {
|
||||
true -> "True"
|
||||
else -> "Error"
|
||||
}
|
||||
const val withWhen2 = when {
|
||||
flag == true -> "True"
|
||||
else -> "Error"
|
||||
}
|
||||
const val withWhen3 = when(value) {
|
||||
10 -> "1"
|
||||
100 -> "2"
|
||||
else -> "3"
|
||||
}
|
||||
const val multibranchIf = if (value == 100) 1 else if (value == 1000) 2 else 3
|
||||
const val flag = <!EVALUATED("true")!>true<!>
|
||||
const val value = <!EVALUATED("10")!>10<!>
|
||||
const val condition = <!EVALUATED("True")!>if (flag) "True" else "Error"<!>
|
||||
const val withWhen = <!EVALUATED("True")!>when (flag) { true -> "True"; else -> "Error" }<!>
|
||||
const val withWhen2 = <!EVALUATED("True")!>when { flag == true -> "True"; else -> "Error" }<!>
|
||||
const val withWhen3 = <!EVALUATED("1")!>when(value) { 10 -> "1"; 100 -> "2"; else -> "3" }<!>
|
||||
const val multibranchIf = <!EVALUATED("3")!>if (value == 100) 1 else if (value == 1000) 2 else 3<!>
|
||||
|
||||
fun box(): String {
|
||||
if (condition != "True") return "Fail 1"
|
||||
if (withWhen != "True") return "Fail 2"
|
||||
if (withWhen2 != "True") return "Fail 3"
|
||||
if (withWhen3 != "1") return "Fail 4"
|
||||
if (multibranchIf != 3) return "Fail 5"
|
||||
if (<!EVALUATED("false")!>condition != "True"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>withWhen != "True"<!>) return "Fail 2"
|
||||
if (<!EVALUATED("false")!>withWhen2 != "True"<!>) return "Fail 3"
|
||||
if (<!EVALUATED("false")!>withWhen3 != "1"<!>) return "Fail 4"
|
||||
if (<!EVALUATED("false")!>multibranchIf != 3<!>) return "Fail 5"
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+142
-142
@@ -3,169 +3,169 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
|
||||
const val minusOneVal = -1
|
||||
const val oneVal = 1
|
||||
const val twoVal = 2
|
||||
const val threeVal = 3
|
||||
const val fourVal = 4
|
||||
const val minusOneVal = <!EVALUATED("-1")!>-1<!>
|
||||
const val oneVal = <!EVALUATED("1")!>1<!>
|
||||
const val twoVal = <!EVALUATED("2")!>2<!>
|
||||
const val threeVal = <!EVALUATED("3")!>3<!>
|
||||
const val fourVal = <!EVALUATED("4")!>4<!>
|
||||
|
||||
const val byteVal = 2.toByte()
|
||||
const val shortVal = 2.toShort()
|
||||
const val intVal = 2
|
||||
const val longVal = 2L
|
||||
const val floatVal = 2.0f
|
||||
const val doubleVal = 2.0
|
||||
const val byteVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val shortVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val intVal = <!EVALUATED("2")!>2<!>
|
||||
const val longVal = <!EVALUATED("2")!>2L<!>
|
||||
const val floatVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val doubleVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
|
||||
const val compareTo1 = oneVal.compareTo(twoVal)
|
||||
const val compareTo2 = twoVal.compareTo(twoVal)
|
||||
const val compareTo3 = threeVal.compareTo(twoVal)
|
||||
const val compareTo4 = twoVal.compareTo(byteVal)
|
||||
const val compareTo5 = twoVal.compareTo(shortVal)
|
||||
const val compareTo6 = twoVal.compareTo(longVal)
|
||||
const val compareTo7 = twoVal.compareTo(floatVal)
|
||||
const val compareTo8 = twoVal.compareTo(doubleVal)
|
||||
const val compareTo1 = oneVal.<!EVALUATED("-1")!>compareTo(twoVal)<!>
|
||||
const val compareTo2 = twoVal.<!EVALUATED("0")!>compareTo(twoVal)<!>
|
||||
const val compareTo3 = threeVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
const val compareTo4 = twoVal.<!EVALUATED("0")!>compareTo(byteVal)<!>
|
||||
const val compareTo5 = twoVal.<!EVALUATED("0")!>compareTo(shortVal)<!>
|
||||
const val compareTo6 = twoVal.<!EVALUATED("0")!>compareTo(longVal)<!>
|
||||
const val compareTo7 = twoVal.<!EVALUATED("0")!>compareTo(floatVal)<!>
|
||||
const val compareTo8 = twoVal.<!EVALUATED("0")!>compareTo(doubleVal)<!>
|
||||
|
||||
const val plus1 = oneVal.plus(twoVal)
|
||||
const val plus2 = twoVal.plus(twoVal)
|
||||
const val plus3 = threeVal.plus(twoVal)
|
||||
const val plus4 = twoVal.plus(byteVal)
|
||||
const val plus5 = twoVal.plus(shortVal)
|
||||
const val plus6 = twoVal.plus(longVal)
|
||||
const val plus7 = twoVal.plus(floatVal)
|
||||
const val plus8 = twoVal.plus(doubleVal)
|
||||
const val plus1 = oneVal.<!EVALUATED("3")!>plus(twoVal)<!>
|
||||
const val plus2 = twoVal.<!EVALUATED("4")!>plus(twoVal)<!>
|
||||
const val plus3 = threeVal.<!EVALUATED("5")!>plus(twoVal)<!>
|
||||
const val plus4 = twoVal.<!EVALUATED("4")!>plus(byteVal)<!>
|
||||
const val plus5 = twoVal.<!EVALUATED("4")!>plus(shortVal)<!>
|
||||
const val plus6 = twoVal.<!EVALUATED("4")!>plus(longVal)<!>
|
||||
const val plus7 = twoVal.<!EVALUATED("4.0")!>plus(floatVal)<!>
|
||||
const val plus8 = twoVal.<!EVALUATED("4.0")!>plus(doubleVal)<!>
|
||||
|
||||
const val minus1 = oneVal.minus(twoVal)
|
||||
const val minus2 = twoVal.minus(twoVal)
|
||||
const val minus3 = threeVal.minus(twoVal)
|
||||
const val minus4 = twoVal.minus(byteVal)
|
||||
const val minus5 = twoVal.minus(shortVal)
|
||||
const val minus6 = twoVal.minus(longVal)
|
||||
const val minus7 = twoVal.minus(floatVal)
|
||||
const val minus8 = twoVal.minus(doubleVal)
|
||||
const val minus1 = oneVal.<!EVALUATED("-1")!>minus(twoVal)<!>
|
||||
const val minus2 = twoVal.<!EVALUATED("0")!>minus(twoVal)<!>
|
||||
const val minus3 = threeVal.<!EVALUATED("1")!>minus(twoVal)<!>
|
||||
const val minus4 = twoVal.<!EVALUATED("0")!>minus(byteVal)<!>
|
||||
const val minus5 = twoVal.<!EVALUATED("0")!>minus(shortVal)<!>
|
||||
const val minus6 = twoVal.<!EVALUATED("0")!>minus(longVal)<!>
|
||||
const val minus7 = twoVal.<!EVALUATED("0.0")!>minus(floatVal)<!>
|
||||
const val minus8 = twoVal.<!EVALUATED("0.0")!>minus(doubleVal)<!>
|
||||
|
||||
const val times1 = oneVal.times(twoVal)
|
||||
const val times2 = twoVal.times(twoVal)
|
||||
const val times3 = threeVal.times(twoVal)
|
||||
const val times4 = twoVal.times(byteVal)
|
||||
const val times5 = twoVal.times(shortVal)
|
||||
const val times6 = twoVal.times(longVal)
|
||||
const val times7 = twoVal.times(floatVal)
|
||||
const val times8 = twoVal.times(doubleVal)
|
||||
const val times1 = oneVal.<!EVALUATED("2")!>times(twoVal)<!>
|
||||
const val times2 = twoVal.<!EVALUATED("4")!>times(twoVal)<!>
|
||||
const val times3 = threeVal.<!EVALUATED("6")!>times(twoVal)<!>
|
||||
const val times4 = twoVal.<!EVALUATED("4")!>times(byteVal)<!>
|
||||
const val times5 = twoVal.<!EVALUATED("4")!>times(shortVal)<!>
|
||||
const val times6 = twoVal.<!EVALUATED("4")!>times(longVal)<!>
|
||||
const val times7 = twoVal.<!EVALUATED("4.0")!>times(floatVal)<!>
|
||||
const val times8 = twoVal.<!EVALUATED("4.0")!>times(doubleVal)<!>
|
||||
|
||||
const val div1 = oneVal.div(twoVal)
|
||||
const val div2 = twoVal.div(twoVal)
|
||||
const val div3 = threeVal.div(twoVal)
|
||||
const val div4 = twoVal.div(byteVal)
|
||||
const val div5 = twoVal.div(shortVal)
|
||||
const val div6 = twoVal.div(longVal)
|
||||
const val div7 = twoVal.div(floatVal)
|
||||
const val div8 = twoVal.div(doubleVal)
|
||||
const val div1 = oneVal.<!EVALUATED("0")!>div(twoVal)<!>
|
||||
const val div2 = twoVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div3 = threeVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div4 = twoVal.<!EVALUATED("1")!>div(byteVal)<!>
|
||||
const val div5 = twoVal.<!EVALUATED("1")!>div(shortVal)<!>
|
||||
const val div6 = twoVal.<!EVALUATED("1")!>div(longVal)<!>
|
||||
const val div7 = twoVal.<!EVALUATED("1.0")!>div(floatVal)<!>
|
||||
const val div8 = twoVal.<!EVALUATED("1.0")!>div(doubleVal)<!>
|
||||
|
||||
const val rem1 = oneVal.rem(twoVal)
|
||||
const val rem2 = twoVal.rem(twoVal)
|
||||
const val rem3 = threeVal.rem(twoVal)
|
||||
const val rem4 = twoVal.rem(byteVal)
|
||||
const val rem5 = twoVal.rem(shortVal)
|
||||
const val rem6 = twoVal.rem(longVal)
|
||||
const val rem7 = twoVal.rem(floatVal)
|
||||
const val rem8 = twoVal.rem(doubleVal)
|
||||
const val rem1 = oneVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem2 = twoVal.<!EVALUATED("0")!>rem(twoVal)<!>
|
||||
const val rem3 = threeVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem4 = twoVal.<!EVALUATED("0")!>rem(byteVal)<!>
|
||||
const val rem5 = twoVal.<!EVALUATED("0")!>rem(shortVal)<!>
|
||||
const val rem6 = twoVal.<!EVALUATED("0")!>rem(longVal)<!>
|
||||
const val rem7 = twoVal.<!EVALUATED("0.0")!>rem(floatVal)<!>
|
||||
const val rem8 = twoVal.<!EVALUATED("0.0")!>rem(doubleVal)<!>
|
||||
|
||||
const val unaryPlus1 = oneVal.unaryPlus()
|
||||
const val unaryPlus2 = minusOneVal.unaryPlus()
|
||||
const val unaryMinus1 = oneVal.unaryMinus()
|
||||
const val unaryMinus2 = minusOneVal.unaryMinus()
|
||||
const val unaryPlus1 = oneVal.<!EVALUATED("1")!>unaryPlus()<!>
|
||||
const val unaryPlus2 = minusOneVal.<!EVALUATED("-1")!>unaryPlus()<!>
|
||||
const val unaryMinus1 = oneVal.<!EVALUATED("-1")!>unaryMinus()<!>
|
||||
const val unaryMinus2 = minusOneVal.<!EVALUATED("1")!>unaryMinus()<!>
|
||||
|
||||
const val convert1 = oneVal.toByte()
|
||||
const val convert2 = oneVal.toChar()
|
||||
const val convert3 = oneVal.toShort()
|
||||
const val convert4 = oneVal.toInt()
|
||||
const val convert5 = oneVal.toLong()
|
||||
const val convert6 = oneVal.toFloat()
|
||||
const val convert7 = oneVal.toDouble()
|
||||
const val convert1 = oneVal.<!EVALUATED("1")!>toByte()<!>
|
||||
const val convert2 = oneVal.<!EVALUATED("")!>toChar()<!>
|
||||
const val convert3 = oneVal.<!EVALUATED("1")!>toShort()<!>
|
||||
const val convert4 = oneVal.<!EVALUATED("1")!>toInt()<!>
|
||||
const val convert5 = oneVal.<!EVALUATED("1")!>toLong()<!>
|
||||
const val convert6 = oneVal.<!EVALUATED("1.0")!>toFloat()<!>
|
||||
const val convert7 = oneVal.<!EVALUATED("1.0")!>toDouble()<!>
|
||||
|
||||
const val equals1 = oneVal == twoVal
|
||||
const val equals2 = twoVal == twoVal
|
||||
const val equals3 = threeVal == twoVal
|
||||
const val equals4 = fourVal == twoVal
|
||||
const val equals1 = <!EVALUATED("false")!>oneVal == twoVal<!>
|
||||
const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.toString()
|
||||
const val toString2 = twoVal.toString()
|
||||
const val toString1 = oneVal.<!EVALUATED("1")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (compareTo1 != -1) return "Fail 1.1"
|
||||
if (compareTo2 != 0) return "Fail 1.2"
|
||||
if (compareTo3 != 1) return "Fail 1.3"
|
||||
if (compareTo4 != 0) return "Fail 1.4"
|
||||
if (compareTo5 != 0) return "Fail 1.5"
|
||||
if (compareTo6 != 0) return "Fail 1.6"
|
||||
if (compareTo7 != 0) return "Fail 1.7"
|
||||
if (compareTo8 != 0) return "Fail 1.8"
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != 1<!>) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 0<!>) return "Fail 1.4"
|
||||
if (<!EVALUATED("false")!>compareTo5 != 0<!>) return "Fail 1.5"
|
||||
if (<!EVALUATED("false")!>compareTo6 != 0<!>) return "Fail 1.6"
|
||||
if (<!EVALUATED("false")!>compareTo7 != 0<!>) return "Fail 1.7"
|
||||
if (<!EVALUATED("false")!>compareTo8 != 0<!>) return "Fail 1.8"
|
||||
|
||||
if (plus1 != 3) return "Fail 2.1"
|
||||
if (plus2 != 4) return "Fail 2.2"
|
||||
if (plus3 != 5) return "Fail 2.3"
|
||||
if (plus4 != 4) return "Fail 2.4"
|
||||
if (plus5 != 4) return "Fail 2.5"
|
||||
if (plus6 != 4L) return "Fail 2.6"
|
||||
if (plus7 != 4.0f) return "Fail 2.7"
|
||||
if (plus8 != 4.0) return "Fail 2.8"
|
||||
if (<!EVALUATED("false")!>plus1 != 3<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>plus2 != 4<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>plus3 != 5<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>plus4 != 4<!>) return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>plus5 != 4<!>) return "Fail 2.5"
|
||||
if (<!EVALUATED("false")!>plus6 != 4L<!>) return "Fail 2.6"
|
||||
if (<!EVALUATED("false")!>plus7 != 4.0f<!>) return "Fail 2.7"
|
||||
if (<!EVALUATED("false")!>plus8 != 4.0<!>) return "Fail 2.8"
|
||||
|
||||
if (minus1 != -1) return "Fail 3.1"
|
||||
if (minus2 != 0) return "Fail 3.2"
|
||||
if (minus3 != 1) return "Fail 3.3"
|
||||
if (minus4 != 0) return "Fail 3.4"
|
||||
if (minus5 != 0) return "Fail 3.5"
|
||||
if (minus6 != 0L) return "Fail 3.6"
|
||||
if (minus7 != 0.0f) return "Fail 3.7"
|
||||
if (minus8 != 0.0) return "Fail 3.8"
|
||||
if (<!EVALUATED("false")!>minus1 != -1<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>minus2 != 0<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>minus3 != 1<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>minus4 != 0<!>) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>minus5 != 0<!>) return "Fail 3.5"
|
||||
if (<!EVALUATED("false")!>minus6 != 0L<!>) return "Fail 3.6"
|
||||
if (<!EVALUATED("false")!>minus7 != 0.0f<!>) return "Fail 3.7"
|
||||
if (<!EVALUATED("false")!>minus8 != 0.0<!>) return "Fail 3.8"
|
||||
|
||||
if (times1 != 2) return "Fail 4.1"
|
||||
if (times2 != 4) return "Fail 4.2"
|
||||
if (times3 != 6) return "Fail 4.3"
|
||||
if (times4 != 4) return "Fail 4.4"
|
||||
if (times5 != 4) return "Fail 4.5"
|
||||
if (times6 != 4L) return "Fail 4.6"
|
||||
if (times7 != 4.0f) return "Fail 4.7"
|
||||
if (times8 != 4.0) return "Fail 4.8"
|
||||
if (<!EVALUATED("false")!>times1 != 2<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>times2 != 4<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>times3 != 6<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>times4 != 4<!>) return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>times5 != 4<!>) return "Fail 4.5"
|
||||
if (<!EVALUATED("false")!>times6 != 4L<!>) return "Fail 4.6"
|
||||
if (<!EVALUATED("false")!>times7 != 4.0f<!>) return "Fail 4.7"
|
||||
if (<!EVALUATED("false")!>times8 != 4.0<!>) return "Fail 4.8"
|
||||
|
||||
if (div1 != 0) return "Fail 5.1"
|
||||
if (div2 != 1) return "Fail 5.2"
|
||||
if (div3 != 1) return "Fail 5.3"
|
||||
if (div4 != 1) return "Fail 5.4"
|
||||
if (div5 != 1) return "Fail 5.5"
|
||||
if (div6 != 1L) return "Fail 5.6"
|
||||
if (div7 != 1.0f) return "Fail 5.7"
|
||||
if (div8 != 1.0) return "Fail 5.8"
|
||||
if (<!EVALUATED("false")!>div1 != 0<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>div2 != 1<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>div3 != 1<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>div4 != 1<!>) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>div5 != 1<!>) return "Fail 5.5"
|
||||
if (<!EVALUATED("false")!>div6 != 1L<!>) return "Fail 5.6"
|
||||
if (<!EVALUATED("false")!>div7 != 1.0f<!>) return "Fail 5.7"
|
||||
if (<!EVALUATED("false")!>div8 != 1.0<!>) return "Fail 5.8"
|
||||
|
||||
if (rem1 != 1) return "Fail 6.1"
|
||||
if (rem2 != 0) return "Fail 6.2"
|
||||
if (rem3 != 1) return "Fail 6.3"
|
||||
if (rem4 != 0) return "Fail 6.4"
|
||||
if (rem5 != 0) return "Fail 6.5"
|
||||
if (rem6 != 0L) return "Fail 6.6"
|
||||
if (rem7 != 0.0f) return "Fail 6.7"
|
||||
if (rem8 != 0.0) return "Fail 6.8"
|
||||
if (<!EVALUATED("false")!>rem1 != 1<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>rem2 != 0<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>rem3 != 1<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>rem4 != 0<!>) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>rem5 != 0<!>) return "Fail 6.5"
|
||||
if (<!EVALUATED("false")!>rem6 != 0L<!>) return "Fail 6.6"
|
||||
if (<!EVALUATED("false")!>rem7 != 0.0f<!>) return "Fail 6.7"
|
||||
if (<!EVALUATED("false")!>rem8 != 0.0<!>) return "Fail 6.8"
|
||||
|
||||
if (unaryPlus1 != 1) return "Fail 7.1"
|
||||
if (unaryPlus2 != -1) return "Fail 7.2"
|
||||
if (unaryMinus1 != -1) return "Fail 7.3"
|
||||
if (unaryMinus2 != 1) return "Fail 7.4"
|
||||
if (<!EVALUATED("false")!>unaryPlus1 != 1<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>unaryPlus2 != -1<!>) return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>unaryMinus1 != -1<!>) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>unaryMinus2 != 1<!>) return "Fail 7.4"
|
||||
|
||||
if (convert1 != 1.toByte()) return "Fail 8.1"
|
||||
if (convert2 != '') return "Fail 8.2"
|
||||
if (convert3 != 1.toShort()) return "Fail 8.3"
|
||||
if (convert4 != 1) return "Fail 8.4"
|
||||
if (convert5 != 1L) return "Fail 8.5"
|
||||
if (convert6 != 1.0f) return "Fail 8.6"
|
||||
if (convert7 != 1.0) return "Fail 8.7"
|
||||
if (<!EVALUATED("false")!>convert1 != 1.toByte()<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>convert2 != ''<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>convert3 != 1.toShort()<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>convert4 != 1<!>) return "Fail 8.4"
|
||||
if (<!EVALUATED("false")!>convert5 != 1L<!>) return "Fail 8.5"
|
||||
if (<!EVALUATED("false")!>convert6 != 1.0f<!>) return "Fail 8.6"
|
||||
if (<!EVALUATED("false")!>convert7 != 1.0<!>) return "Fail 8.7"
|
||||
|
||||
if (equals1 != false) return "Fail 9.1"
|
||||
if (equals2 != true) return "Fail 9.2"
|
||||
if (equals3 != false) return "Fail 9.3"
|
||||
if (equals4 != false) return "Fail 9.4"
|
||||
if (<!EVALUATED("false")!>equals1 != false<!>) return "Fail 9.1"
|
||||
if (<!EVALUATED("false")!>equals2 != true<!>) return "Fail 9.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
if (toString1 != "1") return "Fail 10.1"
|
||||
if (toString2 != "2") return "Fail 10.2"
|
||||
if (<!EVALUATED("false")!>toString1 != "1"<!>) return "Fail 10.1"
|
||||
if (<!EVALUATED("false")!>toString2 != "2"<!>) return "Fail 10.2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+13
-13
@@ -8,19 +8,19 @@ class A(val OK: Int, val somePropertyWithLongName: String) {
|
||||
}
|
||||
val topLevelProp = 1
|
||||
|
||||
const val propertyName1 = A::OK.name
|
||||
const val propertyName2 = A::somePropertyWithLongName.name
|
||||
const val methodName = A::foo.name
|
||||
const val suspendMethodName = A::bar.name
|
||||
const val className = ::A.name
|
||||
const val topLevelPropName = ::topLevelProp.name
|
||||
const val propertyName1 = A::OK.<!EVALUATED("OK")!>name<!>
|
||||
const val propertyName2 = A::somePropertyWithLongName.<!EVALUATED("somePropertyWithLongName")!>name<!>
|
||||
const val methodName = A::foo.<!EVALUATED("foo")!>name<!>
|
||||
const val suspendMethodName = A::bar.<!EVALUATED("bar")!>name<!>
|
||||
const val className = ::A.<!EVALUATED("<init>")!>name<!>
|
||||
const val topLevelPropName = ::topLevelProp.<!EVALUATED("topLevelProp")!>name<!>
|
||||
|
||||
fun box(): String {
|
||||
if (propertyName1 != "OK") return "Fail 1"
|
||||
if (propertyName2 != "somePropertyWithLongName") return "Fail 2"
|
||||
if (methodName != "foo") return "Fail 3.1"
|
||||
if (suspendMethodName != "bar") return "Fail 3.2"
|
||||
if (className != "<init>") return "Fail 4"
|
||||
if (topLevelPropName != "topLevelProp") return "Fail 5"
|
||||
if (<!EVALUATED("false")!>propertyName1 != "OK"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>propertyName2 != "somePropertyWithLongName"<!>) return "Fail 2"
|
||||
if (<!EVALUATED("false")!>methodName != "foo"<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>suspendMethodName != "bar"<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>className != "<init>"<!>) return "Fail 4"
|
||||
if (<!EVALUATED("false")!>topLevelPropName != "topLevelProp"<!>) return "Fail 5"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -4,12 +4,12 @@
|
||||
|
||||
// FILE: 1.kt
|
||||
|
||||
const val name = E.OK.name
|
||||
fun box(): String = name
|
||||
const val name = E.OK.<!EVALUATED("OK")!>name<!>
|
||||
fun box(): String = <!EVALUATED("OK")!>name<!>
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
enum class E(val parent: E?) {
|
||||
X(null),
|
||||
OK(X),
|
||||
}
|
||||
}
|
||||
|
||||
+142
-142
@@ -3,169 +3,169 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
|
||||
const val minusOneVal = -1L
|
||||
const val oneVal = 1L
|
||||
const val twoVal = 2L
|
||||
const val threeVal = 3L
|
||||
const val fourVal = 4L
|
||||
const val minusOneVal = <!EVALUATED("-1")!>-1L<!>
|
||||
const val oneVal = <!EVALUATED("1")!>1L<!>
|
||||
const val twoVal = <!EVALUATED("2")!>2L<!>
|
||||
const val threeVal = <!EVALUATED("3")!>3L<!>
|
||||
const val fourVal = <!EVALUATED("4")!>4L<!>
|
||||
|
||||
const val byteVal = 2.toByte()
|
||||
const val shortVal = 2.toShort()
|
||||
const val intVal = 2
|
||||
const val longVal = 2L
|
||||
const val floatVal = 2.0f
|
||||
const val doubleVal = 2.0
|
||||
const val byteVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val shortVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val intVal = <!EVALUATED("2")!>2<!>
|
||||
const val longVal = <!EVALUATED("2")!>2L<!>
|
||||
const val floatVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val doubleVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
|
||||
const val compareTo1 = oneVal.compareTo(twoVal)
|
||||
const val compareTo2 = twoVal.compareTo(twoVal)
|
||||
const val compareTo3 = threeVal.compareTo(twoVal)
|
||||
const val compareTo4 = twoVal.compareTo(byteVal)
|
||||
const val compareTo5 = twoVal.compareTo(shortVal)
|
||||
const val compareTo6 = twoVal.compareTo(intVal)
|
||||
const val compareTo7 = twoVal.compareTo(floatVal)
|
||||
const val compareTo8 = twoVal.compareTo(doubleVal)
|
||||
const val compareTo1 = oneVal.<!EVALUATED("-1")!>compareTo(twoVal)<!>
|
||||
const val compareTo2 = twoVal.<!EVALUATED("0")!>compareTo(twoVal)<!>
|
||||
const val compareTo3 = threeVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
const val compareTo4 = twoVal.<!EVALUATED("0")!>compareTo(byteVal)<!>
|
||||
const val compareTo5 = twoVal.<!EVALUATED("0")!>compareTo(shortVal)<!>
|
||||
const val compareTo6 = twoVal.<!EVALUATED("0")!>compareTo(intVal)<!>
|
||||
const val compareTo7 = twoVal.<!EVALUATED("0")!>compareTo(floatVal)<!>
|
||||
const val compareTo8 = twoVal.<!EVALUATED("0")!>compareTo(doubleVal)<!>
|
||||
|
||||
const val plus1 = oneVal.plus(twoVal)
|
||||
const val plus2 = twoVal.plus(twoVal)
|
||||
const val plus3 = threeVal.plus(twoVal)
|
||||
const val plus4 = twoVal.plus(byteVal)
|
||||
const val plus5 = twoVal.plus(shortVal)
|
||||
const val plus6 = twoVal.plus(intVal)
|
||||
const val plus7 = twoVal.plus(floatVal)
|
||||
const val plus8 = twoVal.plus(doubleVal)
|
||||
const val plus1 = oneVal.<!EVALUATED("3")!>plus(twoVal)<!>
|
||||
const val plus2 = twoVal.<!EVALUATED("4")!>plus(twoVal)<!>
|
||||
const val plus3 = threeVal.<!EVALUATED("5")!>plus(twoVal)<!>
|
||||
const val plus4 = twoVal.<!EVALUATED("4")!>plus(byteVal)<!>
|
||||
const val plus5 = twoVal.<!EVALUATED("4")!>plus(shortVal)<!>
|
||||
const val plus6 = twoVal.<!EVALUATED("4")!>plus(intVal)<!>
|
||||
const val plus7 = twoVal.<!EVALUATED("4.0")!>plus(floatVal)<!>
|
||||
const val plus8 = twoVal.<!EVALUATED("4.0")!>plus(doubleVal)<!>
|
||||
|
||||
const val minus1 = oneVal.minus(twoVal)
|
||||
const val minus2 = twoVal.minus(twoVal)
|
||||
const val minus3 = threeVal.minus(twoVal)
|
||||
const val minus4 = twoVal.minus(byteVal)
|
||||
const val minus5 = twoVal.minus(shortVal)
|
||||
const val minus6 = twoVal.minus(intVal)
|
||||
const val minus7 = twoVal.minus(floatVal)
|
||||
const val minus8 = twoVal.minus(doubleVal)
|
||||
const val minus1 = oneVal.<!EVALUATED("-1")!>minus(twoVal)<!>
|
||||
const val minus2 = twoVal.<!EVALUATED("0")!>minus(twoVal)<!>
|
||||
const val minus3 = threeVal.<!EVALUATED("1")!>minus(twoVal)<!>
|
||||
const val minus4 = twoVal.<!EVALUATED("0")!>minus(byteVal)<!>
|
||||
const val minus5 = twoVal.<!EVALUATED("0")!>minus(shortVal)<!>
|
||||
const val minus6 = twoVal.<!EVALUATED("0")!>minus(intVal)<!>
|
||||
const val minus7 = twoVal.<!EVALUATED("0.0")!>minus(floatVal)<!>
|
||||
const val minus8 = twoVal.<!EVALUATED("0.0")!>minus(doubleVal)<!>
|
||||
|
||||
const val times1 = oneVal.times(twoVal)
|
||||
const val times2 = twoVal.times(twoVal)
|
||||
const val times3 = threeVal.times(twoVal)
|
||||
const val times4 = twoVal.times(byteVal)
|
||||
const val times5 = twoVal.times(shortVal)
|
||||
const val times6 = twoVal.times(intVal)
|
||||
const val times7 = twoVal.times(floatVal)
|
||||
const val times8 = twoVal.times(doubleVal)
|
||||
const val times1 = oneVal.<!EVALUATED("2")!>times(twoVal)<!>
|
||||
const val times2 = twoVal.<!EVALUATED("4")!>times(twoVal)<!>
|
||||
const val times3 = threeVal.<!EVALUATED("6")!>times(twoVal)<!>
|
||||
const val times4 = twoVal.<!EVALUATED("4")!>times(byteVal)<!>
|
||||
const val times5 = twoVal.<!EVALUATED("4")!>times(shortVal)<!>
|
||||
const val times6 = twoVal.<!EVALUATED("4")!>times(intVal)<!>
|
||||
const val times7 = twoVal.<!EVALUATED("4.0")!>times(floatVal)<!>
|
||||
const val times8 = twoVal.<!EVALUATED("4.0")!>times(doubleVal)<!>
|
||||
|
||||
const val div1 = oneVal.div(twoVal)
|
||||
const val div2 = twoVal.div(twoVal)
|
||||
const val div3 = threeVal.div(twoVal)
|
||||
const val div4 = twoVal.div(byteVal)
|
||||
const val div5 = twoVal.div(shortVal)
|
||||
const val div6 = twoVal.div(intVal)
|
||||
const val div7 = twoVal.div(floatVal)
|
||||
const val div8 = twoVal.div(doubleVal)
|
||||
const val div1 = oneVal.<!EVALUATED("0")!>div(twoVal)<!>
|
||||
const val div2 = twoVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div3 = threeVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div4 = twoVal.<!EVALUATED("1")!>div(byteVal)<!>
|
||||
const val div5 = twoVal.<!EVALUATED("1")!>div(shortVal)<!>
|
||||
const val div6 = twoVal.<!EVALUATED("1")!>div(intVal)<!>
|
||||
const val div7 = twoVal.<!EVALUATED("1.0")!>div(floatVal)<!>
|
||||
const val div8 = twoVal.<!EVALUATED("1.0")!>div(doubleVal)<!>
|
||||
|
||||
const val rem1 = oneVal.rem(twoVal)
|
||||
const val rem2 = twoVal.rem(twoVal)
|
||||
const val rem3 = threeVal.rem(twoVal)
|
||||
const val rem4 = twoVal.rem(byteVal)
|
||||
const val rem5 = twoVal.rem(shortVal)
|
||||
const val rem6 = twoVal.rem(intVal)
|
||||
const val rem7 = twoVal.rem(floatVal)
|
||||
const val rem8 = twoVal.rem(doubleVal)
|
||||
const val rem1 = oneVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem2 = twoVal.<!EVALUATED("0")!>rem(twoVal)<!>
|
||||
const val rem3 = threeVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem4 = twoVal.<!EVALUATED("0")!>rem(byteVal)<!>
|
||||
const val rem5 = twoVal.<!EVALUATED("0")!>rem(shortVal)<!>
|
||||
const val rem6 = twoVal.<!EVALUATED("0")!>rem(intVal)<!>
|
||||
const val rem7 = twoVal.<!EVALUATED("0.0")!>rem(floatVal)<!>
|
||||
const val rem8 = twoVal.<!EVALUATED("0.0")!>rem(doubleVal)<!>
|
||||
|
||||
const val unaryPlus1 = oneVal.unaryPlus()
|
||||
const val unaryPlus2 = minusOneVal.unaryPlus()
|
||||
const val unaryMinus1 = oneVal.unaryMinus()
|
||||
const val unaryMinus2 = minusOneVal.unaryMinus()
|
||||
const val unaryPlus1 = oneVal.<!EVALUATED("1")!>unaryPlus()<!>
|
||||
const val unaryPlus2 = minusOneVal.<!EVALUATED("-1")!>unaryPlus()<!>
|
||||
const val unaryMinus1 = oneVal.<!EVALUATED("-1")!>unaryMinus()<!>
|
||||
const val unaryMinus2 = minusOneVal.<!EVALUATED("1")!>unaryMinus()<!>
|
||||
|
||||
const val convert1 = oneVal.toByte()
|
||||
const val convert2 = oneVal.toChar()
|
||||
const val convert3 = oneVal.toShort()
|
||||
const val convert4 = oneVal.toInt()
|
||||
const val convert5 = oneVal.toLong()
|
||||
const val convert6 = oneVal.toFloat()
|
||||
const val convert7 = oneVal.toDouble()
|
||||
const val convert1 = oneVal.<!EVALUATED("1")!>toByte()<!>
|
||||
const val convert2 = oneVal.<!EVALUATED("")!>toChar()<!>
|
||||
const val convert3 = oneVal.<!EVALUATED("1")!>toShort()<!>
|
||||
const val convert4 = oneVal.<!EVALUATED("1")!>toInt()<!>
|
||||
const val convert5 = oneVal.<!EVALUATED("1")!>toLong()<!>
|
||||
const val convert6 = oneVal.<!EVALUATED("1.0")!>toFloat()<!>
|
||||
const val convert7 = oneVal.<!EVALUATED("1.0")!>toDouble()<!>
|
||||
|
||||
const val equals1 = oneVal == twoVal
|
||||
const val equals2 = twoVal == twoVal
|
||||
const val equals3 = threeVal == twoVal
|
||||
const val equals4 = fourVal == twoVal
|
||||
const val equals1 = <!EVALUATED("false")!>oneVal == twoVal<!>
|
||||
const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.toString()
|
||||
const val toString2 = twoVal.toString()
|
||||
const val toString1 = oneVal.<!EVALUATED("1")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (compareTo1 != -1) return "Fail 1.1"
|
||||
if (compareTo2 != 0) return "Fail 1.2"
|
||||
if (compareTo3 != 1) return "Fail 1.3"
|
||||
if (compareTo4 != 0) return "Fail 1.4"
|
||||
if (compareTo5 != 0) return "Fail 1.5"
|
||||
if (compareTo6 != 0) return "Fail 1.6"
|
||||
if (compareTo7 != 0) return "Fail 1.7"
|
||||
if (compareTo8 != 0) return "Fail 1.8"
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != 1<!>) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 0<!>) return "Fail 1.4"
|
||||
if (<!EVALUATED("false")!>compareTo5 != 0<!>) return "Fail 1.5"
|
||||
if (<!EVALUATED("false")!>compareTo6 != 0<!>) return "Fail 1.6"
|
||||
if (<!EVALUATED("false")!>compareTo7 != 0<!>) return "Fail 1.7"
|
||||
if (<!EVALUATED("false")!>compareTo8 != 0<!>) return "Fail 1.8"
|
||||
|
||||
if (plus1 != 3L) return "Fail 2.1"
|
||||
if (plus2 != 4L) return "Fail 2.2"
|
||||
if (plus3 != 5L) return "Fail 2.3"
|
||||
if (plus4 != 4L) return "Fail 2.4"
|
||||
if (plus5 != 4L) return "Fail 2.5"
|
||||
if (plus6 != 4L) return "Fail 2.6"
|
||||
if (plus7 != 4.0f) return "Fail 2.7"
|
||||
if (plus8 != 4.0) return "Fail 2.8"
|
||||
if (<!EVALUATED("false")!>plus1 != 3L<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>plus2 != 4L<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>plus3 != 5L<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>plus4 != 4L<!>) return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>plus5 != 4L<!>) return "Fail 2.5"
|
||||
if (<!EVALUATED("false")!>plus6 != 4L<!>) return "Fail 2.6"
|
||||
if (<!EVALUATED("false")!>plus7 != 4.0f<!>) return "Fail 2.7"
|
||||
if (<!EVALUATED("false")!>plus8 != 4.0<!>) return "Fail 2.8"
|
||||
|
||||
if (minus1 != -1L) return "Fail 3.1"
|
||||
if (minus2 != 0L) return "Fail 3.2"
|
||||
if (minus3 != 1L) return "Fail 3.3"
|
||||
if (minus4 != 0L) return "Fail 3.4"
|
||||
if (minus5 != 0L) return "Fail 3.5"
|
||||
if (minus6 != 0L) return "Fail 3.6"
|
||||
if (minus7 != 0.0f) return "Fail 3.7"
|
||||
if (minus8 != 0.0) return "Fail 3.8"
|
||||
if (<!EVALUATED("false")!>minus1 != -1L<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>minus2 != 0L<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>minus3 != 1L<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>minus4 != 0L<!>) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>minus5 != 0L<!>) return "Fail 3.5"
|
||||
if (<!EVALUATED("false")!>minus6 != 0L<!>) return "Fail 3.6"
|
||||
if (<!EVALUATED("false")!>minus7 != 0.0f<!>) return "Fail 3.7"
|
||||
if (<!EVALUATED("false")!>minus8 != 0.0<!>) return "Fail 3.8"
|
||||
|
||||
if (times1 != 2L) return "Fail 4.1"
|
||||
if (times2 != 4L) return "Fail 4.2"
|
||||
if (times3 != 6L) return "Fail 4.3"
|
||||
if (times4 != 4L) return "Fail 4.4"
|
||||
if (times5 != 4L) return "Fail 4.5"
|
||||
if (times6 != 4L) return "Fail 4.6"
|
||||
if (times7 != 4.0f) return "Fail 4.7"
|
||||
if (times8 != 4.0) return "Fail 4.8"
|
||||
if (<!EVALUATED("false")!>times1 != 2L<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>times2 != 4L<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>times3 != 6L<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>times4 != 4L<!>) return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>times5 != 4L<!>) return "Fail 4.5"
|
||||
if (<!EVALUATED("false")!>times6 != 4L<!>) return "Fail 4.6"
|
||||
if (<!EVALUATED("false")!>times7 != 4.0f<!>) return "Fail 4.7"
|
||||
if (<!EVALUATED("false")!>times8 != 4.0<!>) return "Fail 4.8"
|
||||
|
||||
if (div1 != 0L) return "Fail 5.1"
|
||||
if (div2 != 1L) return "Fail 5.2"
|
||||
if (div3 != 1L) return "Fail 5.3"
|
||||
if (div4 != 1L) return "Fail 5.4"
|
||||
if (div5 != 1L) return "Fail 5.5"
|
||||
if (div6 != 1L) return "Fail 5.6"
|
||||
if (div7 != 1.0f) return "Fail 5.7"
|
||||
if (div8 != 1.0) return "Fail 5.8"
|
||||
if (<!EVALUATED("false")!>div1 != 0L<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>div2 != 1L<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>div3 != 1L<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>div4 != 1L<!>) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>div5 != 1L<!>) return "Fail 5.5"
|
||||
if (<!EVALUATED("false")!>div6 != 1L<!>) return "Fail 5.6"
|
||||
if (<!EVALUATED("false")!>div7 != 1.0f<!>) return "Fail 5.7"
|
||||
if (<!EVALUATED("false")!>div8 != 1.0<!>) return "Fail 5.8"
|
||||
|
||||
if (rem1 != 1L) return "Fail 6.1"
|
||||
if (rem2 != 0L) return "Fail 6.2"
|
||||
if (rem3 != 1L) return "Fail 6.3"
|
||||
if (rem4 != 0L) return "Fail 6.4"
|
||||
if (rem5 != 0L) return "Fail 6.5"
|
||||
if (rem6 != 0L) return "Fail 6.6"
|
||||
if (rem7 != 0.0f) return "Fail 6.7"
|
||||
if (rem8 != 0.0) return "Fail 6.8"
|
||||
if (<!EVALUATED("false")!>rem1 != 1L<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>rem2 != 0L<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>rem3 != 1L<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>rem4 != 0L<!>) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>rem5 != 0L<!>) return "Fail 6.5"
|
||||
if (<!EVALUATED("false")!>rem6 != 0L<!>) return "Fail 6.6"
|
||||
if (<!EVALUATED("false")!>rem7 != 0.0f<!>) return "Fail 6.7"
|
||||
if (<!EVALUATED("false")!>rem8 != 0.0<!>) return "Fail 6.8"
|
||||
|
||||
if (unaryPlus1 != 1L) return "Fail 7.1"
|
||||
if (unaryPlus2 != -1L) return "Fail 7.2"
|
||||
if (unaryMinus1 != -1L) return "Fail 7.3"
|
||||
if (unaryMinus2 != 1L) return "Fail 7.4"
|
||||
if (<!EVALUATED("false")!>unaryPlus1 != 1L<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>unaryPlus2 != -1L<!>) return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>unaryMinus1 != -1L<!>) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>unaryMinus2 != 1L<!>) return "Fail 7.4"
|
||||
|
||||
if (convert1 != 1.toByte()) return "Fail 8.1"
|
||||
if (convert2 != '') return "Fail 8.2"
|
||||
if (convert3 != 1.toShort()) return "Fail 8.3"
|
||||
if (convert4 != 1) return "Fail 8.4"
|
||||
if (convert5 != 1L) return "Fail 8.5"
|
||||
if (convert6 != 1.0f) return "Fail 8.6"
|
||||
if (convert7 != 1.0) return "Fail 8.7"
|
||||
if (<!EVALUATED("false")!>convert1 != 1.toByte()<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>convert2 != ''<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>convert3 != 1.toShort()<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>convert4 != 1<!>) return "Fail 8.4"
|
||||
if (<!EVALUATED("false")!>convert5 != 1L<!>) return "Fail 8.5"
|
||||
if (<!EVALUATED("false")!>convert6 != 1.0f<!>) return "Fail 8.6"
|
||||
if (<!EVALUATED("false")!>convert7 != 1.0<!>) return "Fail 8.7"
|
||||
|
||||
if (equals1 != false) return "Fail 9.1"
|
||||
if (equals2 != true) return "Fail 9.2"
|
||||
if (equals3 != false) return "Fail 9.3"
|
||||
if (equals4 != false) return "Fail 9.4"
|
||||
if (<!EVALUATED("false")!>equals1 != false<!>) return "Fail 9.1"
|
||||
if (<!EVALUATED("false")!>equals2 != true<!>) return "Fail 9.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
if (toString1 != "1") return "Fail 10.1"
|
||||
if (toString2 != "2") return "Fail 10.2"
|
||||
if (<!EVALUATED("false")!>toString1 != "1"<!>) return "Fail 10.1"
|
||||
if (<!EVALUATED("false")!>toString2 != "2"<!>) return "Fail 10.2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
annotation class Key(val value: String)
|
||||
|
||||
object Messanger {
|
||||
const val DEFAULT_TEXT = <!EVALUATED("OK")!>"OK"<!>
|
||||
|
||||
// Note: second `EVALUATED` from `message$default`
|
||||
fun message(@Key(value = <!EVALUATED("OK"), EVALUATED("OK")!>DEFAULT_TEXT<!>) text: String = <!EVALUATED("OK")!>DEFAULT_TEXT<!>): String {
|
||||
return text
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return Messanger.message()
|
||||
}
|
||||
+142
-142
@@ -3,169 +3,169 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: NATIVE
|
||||
|
||||
const val minusOneVal = (-1).toShort()
|
||||
const val oneVal = 1.toShort()
|
||||
const val twoVal = 2.toShort()
|
||||
const val threeVal = 3.toShort()
|
||||
const val fourVal = 4.toShort()
|
||||
const val minusOneVal = (-1).<!EVALUATED("-1")!>toShort()<!>
|
||||
const val oneVal = 1.<!EVALUATED("1")!>toShort()<!>
|
||||
const val twoVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val threeVal = 3.<!EVALUATED("3")!>toShort()<!>
|
||||
const val fourVal = 4.<!EVALUATED("4")!>toShort()<!>
|
||||
|
||||
const val byteVal = 2.toByte()
|
||||
const val shortVal = 2.toShort()
|
||||
const val intVal = 2
|
||||
const val longVal = 2L
|
||||
const val floatVal = 2.0f
|
||||
const val doubleVal = 2.0
|
||||
const val byteVal = 2.<!EVALUATED("2")!>toByte()<!>
|
||||
const val shortVal = 2.<!EVALUATED("2")!>toShort()<!>
|
||||
const val intVal = <!EVALUATED("2")!>2<!>
|
||||
const val longVal = <!EVALUATED("2")!>2L<!>
|
||||
const val floatVal = <!EVALUATED("2.0")!>2.0f<!>
|
||||
const val doubleVal = <!EVALUATED("2.0")!>2.0<!>
|
||||
|
||||
const val compareTo1 = oneVal.compareTo(twoVal)
|
||||
const val compareTo2 = twoVal.compareTo(twoVal)
|
||||
const val compareTo3 = threeVal.compareTo(twoVal)
|
||||
const val compareTo4 = twoVal.compareTo(byteVal)
|
||||
const val compareTo5 = twoVal.compareTo(intVal)
|
||||
const val compareTo6 = twoVal.compareTo(longVal)
|
||||
const val compareTo7 = twoVal.compareTo(floatVal)
|
||||
const val compareTo8 = twoVal.compareTo(doubleVal)
|
||||
const val compareTo1 = oneVal.<!EVALUATED("-1")!>compareTo(twoVal)<!>
|
||||
const val compareTo2 = twoVal.<!EVALUATED("0")!>compareTo(twoVal)<!>
|
||||
const val compareTo3 = threeVal.<!EVALUATED("1")!>compareTo(twoVal)<!>
|
||||
const val compareTo4 = twoVal.<!EVALUATED("0")!>compareTo(byteVal)<!>
|
||||
const val compareTo5 = twoVal.<!EVALUATED("0")!>compareTo(intVal)<!>
|
||||
const val compareTo6 = twoVal.<!EVALUATED("0")!>compareTo(longVal)<!>
|
||||
const val compareTo7 = twoVal.<!EVALUATED("0")!>compareTo(floatVal)<!>
|
||||
const val compareTo8 = twoVal.<!EVALUATED("0")!>compareTo(doubleVal)<!>
|
||||
|
||||
const val plus1 = oneVal.plus(twoVal)
|
||||
const val plus2 = twoVal.plus(twoVal)
|
||||
const val plus3 = threeVal.plus(twoVal)
|
||||
const val plus4 = twoVal.plus(byteVal)
|
||||
const val plus5 = twoVal.plus(intVal)
|
||||
const val plus6 = twoVal.plus(longVal)
|
||||
const val plus7 = twoVal.plus(floatVal)
|
||||
const val plus8 = twoVal.plus(doubleVal)
|
||||
const val plus1 = oneVal.<!EVALUATED("3")!>plus(twoVal)<!>
|
||||
const val plus2 = twoVal.<!EVALUATED("4")!>plus(twoVal)<!>
|
||||
const val plus3 = threeVal.<!EVALUATED("5")!>plus(twoVal)<!>
|
||||
const val plus4 = twoVal.<!EVALUATED("4")!>plus(byteVal)<!>
|
||||
const val plus5 = twoVal.<!EVALUATED("4")!>plus(intVal)<!>
|
||||
const val plus6 = twoVal.<!EVALUATED("4")!>plus(longVal)<!>
|
||||
const val plus7 = twoVal.<!EVALUATED("4.0")!>plus(floatVal)<!>
|
||||
const val plus8 = twoVal.<!EVALUATED("4.0")!>plus(doubleVal)<!>
|
||||
|
||||
const val minus1 = oneVal.minus(twoVal)
|
||||
const val minus2 = twoVal.minus(twoVal)
|
||||
const val minus3 = threeVal.minus(twoVal)
|
||||
const val minus4 = twoVal.minus(byteVal)
|
||||
const val minus5 = twoVal.minus(intVal)
|
||||
const val minus6 = twoVal.minus(longVal)
|
||||
const val minus7 = twoVal.minus(floatVal)
|
||||
const val minus8 = twoVal.minus(doubleVal)
|
||||
const val minus1 = oneVal.<!EVALUATED("-1")!>minus(twoVal)<!>
|
||||
const val minus2 = twoVal.<!EVALUATED("0")!>minus(twoVal)<!>
|
||||
const val minus3 = threeVal.<!EVALUATED("1")!>minus(twoVal)<!>
|
||||
const val minus4 = twoVal.<!EVALUATED("0")!>minus(byteVal)<!>
|
||||
const val minus5 = twoVal.<!EVALUATED("0")!>minus(intVal)<!>
|
||||
const val minus6 = twoVal.<!EVALUATED("0")!>minus(longVal)<!>
|
||||
const val minus7 = twoVal.<!EVALUATED("0.0")!>minus(floatVal)<!>
|
||||
const val minus8 = twoVal.<!EVALUATED("0.0")!>minus(doubleVal)<!>
|
||||
|
||||
const val times1 = oneVal.times(twoVal)
|
||||
const val times2 = twoVal.times(twoVal)
|
||||
const val times3 = threeVal.times(twoVal)
|
||||
const val times4 = twoVal.times(byteVal)
|
||||
const val times5 = twoVal.times(intVal)
|
||||
const val times6 = twoVal.times(longVal)
|
||||
const val times7 = twoVal.times(floatVal)
|
||||
const val times8 = twoVal.times(doubleVal)
|
||||
const val times1 = oneVal.<!EVALUATED("2")!>times(twoVal)<!>
|
||||
const val times2 = twoVal.<!EVALUATED("4")!>times(twoVal)<!>
|
||||
const val times3 = threeVal.<!EVALUATED("6")!>times(twoVal)<!>
|
||||
const val times4 = twoVal.<!EVALUATED("4")!>times(byteVal)<!>
|
||||
const val times5 = twoVal.<!EVALUATED("4")!>times(intVal)<!>
|
||||
const val times6 = twoVal.<!EVALUATED("4")!>times(longVal)<!>
|
||||
const val times7 = twoVal.<!EVALUATED("4.0")!>times(floatVal)<!>
|
||||
const val times8 = twoVal.<!EVALUATED("4.0")!>times(doubleVal)<!>
|
||||
|
||||
const val div1 = oneVal.div(twoVal)
|
||||
const val div2 = twoVal.div(twoVal)
|
||||
const val div3 = threeVal.div(twoVal)
|
||||
const val div4 = twoVal.div(byteVal)
|
||||
const val div5 = twoVal.div(intVal)
|
||||
const val div6 = twoVal.div(longVal)
|
||||
const val div7 = twoVal.div(floatVal)
|
||||
const val div8 = twoVal.div(doubleVal)
|
||||
const val div1 = oneVal.<!EVALUATED("0")!>div(twoVal)<!>
|
||||
const val div2 = twoVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div3 = threeVal.<!EVALUATED("1")!>div(twoVal)<!>
|
||||
const val div4 = twoVal.<!EVALUATED("1")!>div(byteVal)<!>
|
||||
const val div5 = twoVal.<!EVALUATED("1")!>div(intVal)<!>
|
||||
const val div6 = twoVal.<!EVALUATED("1")!>div(longVal)<!>
|
||||
const val div7 = twoVal.<!EVALUATED("1.0")!>div(floatVal)<!>
|
||||
const val div8 = twoVal.<!EVALUATED("1.0")!>div(doubleVal)<!>
|
||||
|
||||
const val rem1 = oneVal.rem(twoVal)
|
||||
const val rem2 = twoVal.rem(twoVal)
|
||||
const val rem3 = threeVal.rem(twoVal)
|
||||
const val rem4 = twoVal.rem(byteVal)
|
||||
const val rem5 = twoVal.rem(intVal)
|
||||
const val rem6 = twoVal.rem(longVal)
|
||||
const val rem7 = twoVal.rem(floatVal)
|
||||
const val rem8 = twoVal.rem(doubleVal)
|
||||
const val rem1 = oneVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem2 = twoVal.<!EVALUATED("0")!>rem(twoVal)<!>
|
||||
const val rem3 = threeVal.<!EVALUATED("1")!>rem(twoVal)<!>
|
||||
const val rem4 = twoVal.<!EVALUATED("0")!>rem(byteVal)<!>
|
||||
const val rem5 = twoVal.<!EVALUATED("0")!>rem(intVal)<!>
|
||||
const val rem6 = twoVal.<!EVALUATED("0")!>rem(longVal)<!>
|
||||
const val rem7 = twoVal.<!EVALUATED("0.0")!>rem(floatVal)<!>
|
||||
const val rem8 = twoVal.<!EVALUATED("0.0")!>rem(doubleVal)<!>
|
||||
|
||||
const val unaryPlus1 = oneVal.unaryPlus()
|
||||
const val unaryPlus2 = minusOneVal.unaryPlus()
|
||||
const val unaryMinus1 = oneVal.unaryMinus()
|
||||
const val unaryMinus2 = minusOneVal.unaryMinus()
|
||||
const val unaryPlus1 = oneVal.<!EVALUATED("1")!>unaryPlus()<!>
|
||||
const val unaryPlus2 = minusOneVal.<!EVALUATED("-1")!>unaryPlus()<!>
|
||||
const val unaryMinus1 = oneVal.<!EVALUATED("-1")!>unaryMinus()<!>
|
||||
const val unaryMinus2 = minusOneVal.<!EVALUATED("1")!>unaryMinus()<!>
|
||||
|
||||
const val convert1 = oneVal.toByte()
|
||||
const val convert2 = oneVal.toChar()
|
||||
const val convert3 = oneVal.toShort()
|
||||
const val convert4 = oneVal.toInt()
|
||||
const val convert5 = oneVal.toLong()
|
||||
const val convert6 = oneVal.toFloat()
|
||||
const val convert7 = oneVal.toDouble()
|
||||
const val convert1 = oneVal.<!EVALUATED("1")!>toByte()<!>
|
||||
const val convert2 = oneVal.<!EVALUATED("")!>toChar()<!>
|
||||
const val convert3 = oneVal.<!EVALUATED("1")!>toShort()<!>
|
||||
const val convert4 = oneVal.<!EVALUATED("1")!>toInt()<!>
|
||||
const val convert5 = oneVal.<!EVALUATED("1")!>toLong()<!>
|
||||
const val convert6 = oneVal.<!EVALUATED("1.0")!>toFloat()<!>
|
||||
const val convert7 = oneVal.<!EVALUATED("1.0")!>toDouble()<!>
|
||||
|
||||
const val equals1 = oneVal == twoVal
|
||||
const val equals2 = twoVal == twoVal
|
||||
const val equals3 = threeVal == twoVal
|
||||
const val equals4 = fourVal == twoVal
|
||||
const val equals1 = <!EVALUATED("false")!>oneVal == twoVal<!>
|
||||
const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.toString()
|
||||
const val toString2 = twoVal.toString()
|
||||
const val toString1 = oneVal.<!EVALUATED("1")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (compareTo1 != -1) return "Fail 1.1"
|
||||
if (compareTo2 != 0) return "Fail 1.2"
|
||||
if (compareTo3 != 1) return "Fail 1.3"
|
||||
if (compareTo4 != 0) return "Fail 1.4"
|
||||
if (compareTo5 != 0) return "Fail 1.5"
|
||||
if (compareTo6 != 0) return "Fail 1.6"
|
||||
if (compareTo7 != 0) return "Fail 1.7"
|
||||
if (compareTo8 != 0) return "Fail 1.8"
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 != 1<!>) return "Fail 1.3"
|
||||
if (<!EVALUATED("false")!>compareTo4 != 0<!>) return "Fail 1.4"
|
||||
if (<!EVALUATED("false")!>compareTo5 != 0<!>) return "Fail 1.5"
|
||||
if (<!EVALUATED("false")!>compareTo6 != 0<!>) return "Fail 1.6"
|
||||
if (<!EVALUATED("false")!>compareTo7 != 0<!>) return "Fail 1.7"
|
||||
if (<!EVALUATED("false")!>compareTo8 != 0<!>) return "Fail 1.8"
|
||||
|
||||
if (plus1 != 3) return "Fail 2.1"
|
||||
if (plus2 != 4) return "Fail 2.2"
|
||||
if (plus3 != 5) return "Fail 2.3"
|
||||
if (plus4 != 4) return "Fail 2.4"
|
||||
if (plus5 != 4) return "Fail 2.5"
|
||||
if (plus6 != 4L) return "Fail 2.6"
|
||||
if (plus7 != 4.0f) return "Fail 2.7"
|
||||
if (plus8 != 4.0) return "Fail 2.8"
|
||||
if (<!EVALUATED("false")!>plus1 != 3<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>plus2 != 4<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>plus3 != 5<!>) return "Fail 2.3"
|
||||
if (<!EVALUATED("false")!>plus4 != 4<!>) return "Fail 2.4"
|
||||
if (<!EVALUATED("false")!>plus5 != 4<!>) return "Fail 2.5"
|
||||
if (<!EVALUATED("false")!>plus6 != 4L<!>) return "Fail 2.6"
|
||||
if (<!EVALUATED("false")!>plus7 != 4.0f<!>) return "Fail 2.7"
|
||||
if (<!EVALUATED("false")!>plus8 != 4.0<!>) return "Fail 2.8"
|
||||
|
||||
if (minus1 != -1) return "Fail 3.1"
|
||||
if (minus2 != 0) return "Fail 3.2"
|
||||
if (minus3 != 1) return "Fail 3.3"
|
||||
if (minus4 != 0) return "Fail 3.4"
|
||||
if (minus5 != 0) return "Fail 3.5"
|
||||
if (minus6 != 0L) return "Fail 3.6"
|
||||
if (minus7 != 0.0f) return "Fail 3.7"
|
||||
if (minus8 != 0.0) return "Fail 3.8"
|
||||
if (<!EVALUATED("false")!>minus1 != -1<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>minus2 != 0<!>) return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>minus3 != 1<!>) return "Fail 3.3"
|
||||
if (<!EVALUATED("false")!>minus4 != 0<!>) return "Fail 3.4"
|
||||
if (<!EVALUATED("false")!>minus5 != 0<!>) return "Fail 3.5"
|
||||
if (<!EVALUATED("false")!>minus6 != 0L<!>) return "Fail 3.6"
|
||||
if (<!EVALUATED("false")!>minus7 != 0.0f<!>) return "Fail 3.7"
|
||||
if (<!EVALUATED("false")!>minus8 != 0.0<!>) return "Fail 3.8"
|
||||
|
||||
if (times1 != 2) return "Fail 4.1"
|
||||
if (times2 != 4) return "Fail 4.2"
|
||||
if (times3 != 6) return "Fail 4.3"
|
||||
if (times4 != 4) return "Fail 4.4"
|
||||
if (times5 != 4) return "Fail 4.5"
|
||||
if (times6 != 4L) return "Fail 4.6"
|
||||
if (times7 != 4.0f) return "Fail 4.7"
|
||||
if (times8 != 4.0) return "Fail 4.8"
|
||||
if (<!EVALUATED("false")!>times1 != 2<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>times2 != 4<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>times3 != 6<!>) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>times4 != 4<!>) return "Fail 4.4"
|
||||
if (<!EVALUATED("false")!>times5 != 4<!>) return "Fail 4.5"
|
||||
if (<!EVALUATED("false")!>times6 != 4L<!>) return "Fail 4.6"
|
||||
if (<!EVALUATED("false")!>times7 != 4.0f<!>) return "Fail 4.7"
|
||||
if (<!EVALUATED("false")!>times8 != 4.0<!>) return "Fail 4.8"
|
||||
|
||||
if (div1 != 0) return "Fail 5.1"
|
||||
if (div2 != 1) return "Fail 5.2"
|
||||
if (div3 != 1) return "Fail 5.3"
|
||||
if (div4 != 1) return "Fail 5.4"
|
||||
if (div5 != 1) return "Fail 5.5"
|
||||
if (div6 != 1L) return "Fail 5.6"
|
||||
if (div7 != 1.0f) return "Fail 5.7"
|
||||
if (div8 != 1.0) return "Fail 5.8"
|
||||
if (<!EVALUATED("false")!>div1 != 0<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>div2 != 1<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>div3 != 1<!>) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>div4 != 1<!>) return "Fail 5.4"
|
||||
if (<!EVALUATED("false")!>div5 != 1<!>) return "Fail 5.5"
|
||||
if (<!EVALUATED("false")!>div6 != 1L<!>) return "Fail 5.6"
|
||||
if (<!EVALUATED("false")!>div7 != 1.0f<!>) return "Fail 5.7"
|
||||
if (<!EVALUATED("false")!>div8 != 1.0<!>) return "Fail 5.8"
|
||||
|
||||
if (rem1 != 1) return "Fail 6.1"
|
||||
if (rem2 != 0) return "Fail 6.2"
|
||||
if (rem3 != 1) return "Fail 6.3"
|
||||
if (rem4 != 0) return "Fail 6.4"
|
||||
if (rem5 != 0) return "Fail 6.5"
|
||||
if (rem6 != 0L) return "Fail 6.6"
|
||||
if (rem7 != 0.0f) return "Fail 6.7"
|
||||
if (rem8 != 0.0) return "Fail 6.8"
|
||||
if (<!EVALUATED("false")!>rem1 != 1<!>) return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>rem2 != 0<!>) return "Fail 6.2"
|
||||
if (<!EVALUATED("false")!>rem3 != 1<!>) return "Fail 6.3"
|
||||
if (<!EVALUATED("false")!>rem4 != 0<!>) return "Fail 6.4"
|
||||
if (<!EVALUATED("false")!>rem5 != 0<!>) return "Fail 6.5"
|
||||
if (<!EVALUATED("false")!>rem6 != 0L<!>) return "Fail 6.6"
|
||||
if (<!EVALUATED("false")!>rem7 != 0.0f<!>) return "Fail 6.7"
|
||||
if (<!EVALUATED("false")!>rem8 != 0.0<!>) return "Fail 6.8"
|
||||
|
||||
if (unaryPlus1 != 1) return "Fail 7.1"
|
||||
if (unaryPlus2 != -1) return "Fail 7.2"
|
||||
if (unaryMinus1 != -1) return "Fail 7.3"
|
||||
if (unaryMinus2 != 1) return "Fail 7.4"
|
||||
if (<!EVALUATED("false")!>unaryPlus1 != 1<!>) return "Fail 7.1"
|
||||
if (<!EVALUATED("false")!>unaryPlus2 != -1<!>) return "Fail 7.2"
|
||||
if (<!EVALUATED("false")!>unaryMinus1 != -1<!>) return "Fail 7.3"
|
||||
if (<!EVALUATED("false")!>unaryMinus2 != 1<!>) return "Fail 7.4"
|
||||
|
||||
if (convert1 != 1.toByte()) return "Fail 8.1"
|
||||
if (convert2 != '') return "Fail 8.2"
|
||||
if (convert3 != 1.toShort()) return "Fail 8.3"
|
||||
if (convert4 != 1) return "Fail 8.4"
|
||||
if (convert5 != 1L) return "Fail 8.5"
|
||||
if (convert6 != 1.0f) return "Fail 8.6"
|
||||
if (convert7 != 1.0) return "Fail 8.7"
|
||||
if (<!EVALUATED("false")!>convert1 != 1.toByte()<!>) return "Fail 8.1"
|
||||
if (<!EVALUATED("false")!>convert2 != ''<!>) return "Fail 8.2"
|
||||
if (<!EVALUATED("false")!>convert3 != 1.toShort()<!>) return "Fail 8.3"
|
||||
if (<!EVALUATED("false")!>convert4 != 1<!>) return "Fail 8.4"
|
||||
if (<!EVALUATED("false")!>convert5 != 1L<!>) return "Fail 8.5"
|
||||
if (<!EVALUATED("false")!>convert6 != 1.0f<!>) return "Fail 8.6"
|
||||
if (<!EVALUATED("false")!>convert7 != 1.0<!>) return "Fail 8.7"
|
||||
|
||||
if (equals1 != false) return "Fail 9.1"
|
||||
if (equals2 != true) return "Fail 9.2"
|
||||
if (equals3 != false) return "Fail 9.3"
|
||||
if (equals4 != false) return "Fail 9.4"
|
||||
if (<!EVALUATED("false")!>equals1 != false<!>) return "Fail 9.1"
|
||||
if (<!EVALUATED("false")!>equals2 != true<!>) return "Fail 9.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
if (toString1 != "1") return "Fail 10.1"
|
||||
if (toString2 != "2") return "Fail 10.2"
|
||||
if (<!EVALUATED("false")!>toString1 != "1"<!>) return "Fail 10.1"
|
||||
if (<!EVALUATED("false")!>toString2 != "2"<!>) return "Fail 10.2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -3,14 +3,14 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// WITH_STDLIB
|
||||
|
||||
const val code = '1'.code
|
||||
const val floorDiv = 10.floorDiv(2)
|
||||
const val mod = 5.mod(3)
|
||||
const val code = '1'.<!EVALUATED("49")!>code<!>
|
||||
const val floorDiv = 10.<!EVALUATED("5")!>floorDiv(2)<!>
|
||||
const val mod = 5.<!EVALUATED("2")!>mod(3)<!>
|
||||
|
||||
fun box(): String {
|
||||
if (code != 49) return "Fail 1"
|
||||
if (floorDiv != 5) return "Fail 2"
|
||||
if (mod != 2) return "Fail 3"
|
||||
if (<!EVALUATED("false")!>code != 49<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>floorDiv != 5<!>) return "Fail 2"
|
||||
if (<!EVALUATED("false")!>mod != 2<!>) return "Fail 3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -3,14 +3,14 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// WITH_STDLIB
|
||||
|
||||
const val simple = "O${'K'} ${1.toLong() + 2.5}"
|
||||
const val withInnerConcatenation = "1 ${"2 ${3} ${4} 5"} 6"
|
||||
const val withNull = "1 ${null}" // but `"1" + null` is invalid
|
||||
const val simple = <!EVALUATED("OK 3.5")!>"O${'K'} ${1.toLong() + 2.5}"<!>
|
||||
const val withInnerConcatenation = <!EVALUATED("1 2 3 4 5 6")!>"1 ${"2 ${3} ${4} 5"} 6"<!>
|
||||
const val withNull = <!EVALUATED("1 null")!>"1 ${null}"<!> // but `"1" + null` is invalid
|
||||
|
||||
fun box(): String {
|
||||
if (simple != "OK 3.5") return "Fail 1"
|
||||
if (withInnerConcatenation != "1 2 3 4 5 6") return "Fail 2"
|
||||
if (withNull != "1 null") return "Fail 3"
|
||||
if (<!EVALUATED("false")!>simple != "OK 3.5"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>withInnerConcatenation != "1 2 3 4 5 6"<!>) return "Fail 2"
|
||||
if (<!EVALUATED("false")!>withNull != "1 null"<!>) return "Fail 3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+30
-30
@@ -2,48 +2,48 @@
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// TARGET_BACKEND: JS_IR
|
||||
|
||||
const val someStr = "123"
|
||||
const val otherStr = "other"
|
||||
const val someStr = <!EVALUATED("123")!>"123"<!>
|
||||
const val otherStr = <!EVALUATED("other")!>"other"<!>
|
||||
|
||||
const val oneVal = 1
|
||||
const val oneVal = <!EVALUATED("1")!>1<!>
|
||||
|
||||
const val plus1 = someStr.plus(otherStr)
|
||||
const val plus2 = someStr.plus(oneVal)
|
||||
const val plus1 = someStr.<!EVALUATED("123other")!>plus(otherStr)<!>
|
||||
const val plus2 = someStr.<!EVALUATED("1231")!>plus(oneVal)<!>
|
||||
|
||||
const val length1 = someStr.length
|
||||
const val length2 = otherStr.length
|
||||
const val length1 = someStr.<!EVALUATED("3")!>length<!>
|
||||
const val length2 = otherStr.<!EVALUATED("5")!>length<!>
|
||||
|
||||
const val get1 = someStr.get(0)
|
||||
const val get2 = otherStr.get(oneVal)
|
||||
const val get1 = someStr.<!EVALUATED("1")!>get(0)<!>
|
||||
const val get2 = otherStr.<!EVALUATED("t")!>get(oneVal)<!>
|
||||
|
||||
const val compareTo1 = someStr.compareTo("123")
|
||||
const val compareTo2 = someStr.compareTo(otherStr)
|
||||
const val compareTo3 = otherStr.compareTo(someStr)
|
||||
const val compareTo1 = someStr.<!EVALUATED("0")!>compareTo("123")<!>
|
||||
const val compareTo2 = someStr.<!EVALUATED("-62")!>compareTo(otherStr)<!>
|
||||
const val compareTo3 = otherStr.<!EVALUATED("62")!>compareTo(someStr)<!>
|
||||
|
||||
const val equals1 = someStr == "123"
|
||||
const val equals2 = someStr == otherStr
|
||||
const val equals3 = otherStr == someStr
|
||||
const val equals1 = <!EVALUATED("true")!>someStr == "123"<!>
|
||||
const val equals2 = <!EVALUATED("false")!>someStr == otherStr<!>
|
||||
const val equals3 = <!EVALUATED("false")!>otherStr == someStr<!>
|
||||
|
||||
const val toString1 = someStr.toString()
|
||||
const val toString1 = someStr.<!EVALUATED("123")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (plus1 != "123other") return "Fail 1.1"
|
||||
if (plus2 != "1231") return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>plus1 != "123other"<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>plus2 != "1231"<!>) return "Fail 1.2"
|
||||
|
||||
if (length1 != 3) return "Fail 2.1"
|
||||
if (length2 != 5) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>length1 != 3<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>length2 != 5<!>) return "Fail 2.2"
|
||||
|
||||
if (get1 != '1') return "Fail 3.1"
|
||||
if (get2 != 't') return "Fail 3.2"
|
||||
if (<!EVALUATED("false")!>get1 != '1'<!>) return "Fail 3.1"
|
||||
if (<!EVALUATED("false")!>get2 != 't'<!>) return "Fail 3.2"
|
||||
|
||||
if (compareTo1 != 0) return "Fail 4.1"
|
||||
if (compareTo2 >= 0) return "Fail 4.2"
|
||||
if (compareTo3 <= 0) return "Fail 4.3"
|
||||
if (<!EVALUATED("false")!>compareTo1 != 0<!>) return "Fail 4.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 >= 0<!>) return "Fail 4.2"
|
||||
if (<!EVALUATED("false")!>compareTo3 <= 0<!>) return "Fail 4.3"
|
||||
|
||||
if (equals1 != true) return "Fail 5.1"
|
||||
if (equals2 != false) return "Fail 5.2"
|
||||
if (equals3 != false) return "Fail 5.3"
|
||||
if (<!EVALUATED("false")!>equals1 != true<!>) return "Fail 5.1"
|
||||
if (<!EVALUATED("false")!>equals2 != false<!>) return "Fail 5.2"
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 5.3"
|
||||
|
||||
if (toString1 != "123") return "Fail 6.1"
|
||||
if (<!EVALUATED("false")!>toString1 != "123"<!>) return "Fail 6.1"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+9
-9
@@ -3,15 +3,15 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// WITH_STDLIB
|
||||
|
||||
const val byteVal: UByte = 1u
|
||||
const val shortVal: UShort = 2u
|
||||
const val intVal: UInt = 3u
|
||||
const val longVal: ULong = 4uL
|
||||
const val byteVal: UByte = <!EVALUATED("1")!>1u<!>
|
||||
const val shortVal: UShort = <!EVALUATED("2")!>2u<!>
|
||||
const val intVal: UInt = <!EVALUATED("3")!>3u<!>
|
||||
const val longVal: ULong = <!EVALUATED("4")!>4uL<!>
|
||||
|
||||
fun box(): String {
|
||||
if (byteVal != 1u.toUByte()) return "Fail 1"
|
||||
if (shortVal != 2u.toUShort()) return "Fail 2"
|
||||
if (intVal != 3u.toUInt()) return "Fail 3"
|
||||
if (longVal != 4u.toULong()) return "Fail 4"
|
||||
if (<!EVALUATED("1")!>byteVal<!> != 1u.toUByte()) return "Fail 1"
|
||||
if (<!EVALUATED("2")!>shortVal<!> != 2u.toUShort()) return "Fail 2"
|
||||
if (<!EVALUATED("3")!>intVal<!> != 3u.toUInt()) return "Fail 3"
|
||||
if (<!EVALUATED("4")!>longVal<!> != 4u.toULong()) return "Fail 4"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: JS_IR, JS_IR_ES6
|
||||
|
||||
const val toStringInConst = 1.0.toString()
|
||||
const val toStringInConst = 1.0.<!EVALUATED("1")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (toStringInConst != "1") return "Fail 1"
|
||||
if (1.0.toString() != toStringInConst) return "Fail 2"
|
||||
if (<!EVALUATED("false")!>toStringInConst != "1"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>1.0.toString() != toStringInConst<!>) return "Fail 2"
|
||||
return "OK"
|
||||
}
|
||||
|
||||
@@ -11,5 +11,5 @@ enum class A {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return A.OK.name
|
||||
}
|
||||
return A.OK.<!EVALUATED("OK")!>name<!>
|
||||
}
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
|
||||
annotation class A(vararg val strings: String)
|
||||
|
||||
@A(*arrayOf("foo", "bar"), "baz")
|
||||
@A(*arrayOf(<!EVALUATED("foo")!>"foo"<!>, <!EVALUATED("bar")!>"bar"<!>), <!EVALUATED("baz")!>"baz"<!>)
|
||||
class B
|
||||
|
||||
@A("baz", *arrayOf("foo", "bar"), "xyz")
|
||||
@A(<!EVALUATED("baz")!>"baz"<!>, *arrayOf(<!EVALUATED("foo")!>"foo"<!>, <!EVALUATED("bar")!>"bar"<!>), <!EVALUATED("xyz")!>"xyz"<!>)
|
||||
class C
|
||||
|
||||
@A(*arrayOf("foo", "bar", "xyz"))
|
||||
@A(*arrayOf(<!EVALUATED("foo")!>"foo"<!>, <!EVALUATED("bar")!>"bar"<!>, <!EVALUATED("xyz")!>"xyz"<!>))
|
||||
class D
|
||||
|
||||
@A("foo", "baz", "bar")
|
||||
@A(<!EVALUATED("foo")!>"foo"<!>, <!EVALUATED("baz")!>"baz"<!>, <!EVALUATED("bar")!>"bar"<!>)
|
||||
class E
|
||||
|
||||
@A(*arrayOf("foo", "bar"), *arrayOf("baz", "xyz"))
|
||||
@A(*arrayOf(<!EVALUATED("foo")!>"foo"<!>, <!EVALUATED("bar")!>"bar"<!>), *arrayOf(<!EVALUATED("baz")!>"baz"<!>, <!EVALUATED("xyz")!>"xyz"<!>))
|
||||
class F
|
||||
|
||||
fun box(): String {
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
// IGNORE_BACKEND: WASM
|
||||
// WASM test infra can't handle `EVALUATED` diagnostic
|
||||
|
||||
public annotation class Entity(val foreignKeys: Array<String>)
|
||||
|
||||
@Entity(foreignKeys = kotlin.arrayOf("id")) // works without "kotlin."
|
||||
@Entity(foreignKeys = kotlin.arrayOf(<!EVALUATED("id")!>"id"<!>)) // works without "kotlin."
|
||||
class Record
|
||||
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ fun ObjectWithExtension?.nullableExtensionFun(): String =
|
||||
"Not null"
|
||||
|
||||
fun ObjectWithExtension.extensionFun(): String =
|
||||
if(this == null)
|
||||
if(<!EVALUATED("false")!>this == null<!>)
|
||||
"Null" // unreachable branch, will be optimized by interpreter
|
||||
else
|
||||
"Not null"
|
||||
|
||||
@@ -15,7 +15,7 @@ class OrgBootstrapTriggerJob(val orgId: Long, val bootstrap: OrgBootstrapRequest
|
||||
}
|
||||
}
|
||||
|
||||
val name = "${OrgBootstrapTriggerJob::class.simpleName}.${OrgBootstrapTriggerJob::execute.name}"
|
||||
val name = "${OrgBootstrapTriggerJob::class.simpleName}<!EVALUATED(".")!>.<!>${OrgBootstrapTriggerJob::execute.<!EVALUATED("execute")!>name<!>}"
|
||||
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
|
||||
Vendored
+9
-4
@@ -27,9 +27,14 @@ class B {
|
||||
|
||||
fun box(): String {
|
||||
// `name` call must be optimized with `ConstEvaluationLowering`
|
||||
if (A::somePropertyFromObject.name != "somePropertyFromObject") return "Fail 1"
|
||||
if (A::someFunctionFromObject.name != "someFunctionFromObject") return "Fail 2"
|
||||
if (B.Companion::somePropertyFromCompanionObject.name != "somePropertyFromCompanionObject") return "Fail 3"
|
||||
if (B.Companion::someFunctionFromCompanionObject.name != "someFunctionFromCompanionObject") return "Fail 4"
|
||||
val somePropertyFromObjectName = A::somePropertyFromObject.<!EVALUATED("somePropertyFromObject")!>name<!>
|
||||
val someFunctionFromObjectName = A::someFunctionFromObject.<!EVALUATED("someFunctionFromObject")!>name<!>
|
||||
val somePropertyFromCompanionObjectName = B.Companion::somePropertyFromCompanionObject.<!EVALUATED("somePropertyFromCompanionObject")!>name<!>
|
||||
val someFunctionFromCompanionObjectName = B.Companion::someFunctionFromCompanionObject.<!EVALUATED("someFunctionFromCompanionObject")!>name<!>
|
||||
|
||||
if (somePropertyFromObjectName != "somePropertyFromObject") return "Fail 1"
|
||||
if (someFunctionFromObjectName != "someFunctionFromObject") return "Fail 2"
|
||||
if (somePropertyFromCompanionObjectName != "somePropertyFromCompanionObject") return "Fail 3"
|
||||
if (someFunctionFromCompanionObjectName != "someFunctionFromCompanionObject") return "Fail 4"
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+3
-3
@@ -17,10 +17,10 @@ annotation class AnnotationWithAnnotation(val anno: Annotation)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
annotation class AnnotationWithAnnotationWithAnnotation(val anno: AnnotationWithAnnotation)
|
||||
|
||||
@AnnotationWithAnnotation(Annotation("Str" + "ing"))
|
||||
@AnnotationWithAnnotation(Annotation("Str" <!EVALUATED("String")!>+ "ing"<!>))
|
||||
class A
|
||||
|
||||
@AnnotationWithAnnotationWithAnnotation(AnnotationWithAnnotation(Annotation("Str" + "ing")))
|
||||
@AnnotationWithAnnotationWithAnnotation(AnnotationWithAnnotation(Annotation("Str" <!EVALUATED("String")!>+ "ing"<!>)))
|
||||
class B
|
||||
|
||||
// MODULE: main
|
||||
@@ -28,4 +28,4 @@ class B
|
||||
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+15
-15
@@ -28,25 +28,25 @@ annotation class BinaryAnnotation(val str: String)
|
||||
|
||||
// 1. CLASS
|
||||
// 8. CONSTRUCTOR
|
||||
@BinaryAnnotation("Str" + "ing")
|
||||
class A @BinaryAnnotation("Str" + "ing") constructor(val i: Int) {
|
||||
@BinaryAnnotation("Str" + "ing") constructor() : this(0)
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>)
|
||||
class A @BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) constructor(val i: Int) {
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) constructor() : this(0)
|
||||
}
|
||||
|
||||
// 2. ANNOTATION_CLASS
|
||||
@BinaryAnnotation("Str" + "ing")
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>)
|
||||
annotation class Anno
|
||||
|
||||
// 3. TYPE_PARAMETER
|
||||
fun <@BinaryAnnotation("Str" + "ing") T, U> fooWithTypeParam(a: T, b: U) {}
|
||||
fun <@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) T, U> fooWithTypeParam(a: T, b: U) {}
|
||||
|
||||
// 4. PROPERTY
|
||||
@BinaryAnnotation("Str" + "ing")
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>)
|
||||
val prop: Int = 0
|
||||
|
||||
// 5. FIELD
|
||||
enum class SomeEnum {
|
||||
@BinaryAnnotation("Str" + "ing") A,
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) A,
|
||||
B;
|
||||
}
|
||||
|
||||
@@ -64,24 +64,24 @@ enum class SomeEnum {
|
||||
|
||||
|
||||
// 7. VALUE_PARAMETER
|
||||
fun @receiver:BinaryAnnotation("Str" + "ing") String.myExtension() { }
|
||||
fun foo(@BinaryAnnotation("Str" + "ing") a: Int) { }
|
||||
fun @receiver:BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) String.myExtension() { }
|
||||
fun foo(@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) a: Int) { }
|
||||
|
||||
val @receiver:BinaryAnnotation("Str" + "ing") String.a: Int
|
||||
val @receiver:BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) String.a: Int
|
||||
get() = 0
|
||||
|
||||
// 9. FUNCTION
|
||||
@BinaryAnnotation("Str" + "ing")
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>)
|
||||
fun bar() {}
|
||||
|
||||
// 10. PROPERTY_GETTER
|
||||
// 11. PROPERTY_SETTER
|
||||
var b: Int
|
||||
@BinaryAnnotation("Str" + "ing") get() = 0
|
||||
@BinaryAnnotation("Str" + "ing") set(value) {}
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) get() = 0
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>) set(value) {}
|
||||
|
||||
// 15. TYPEALIAS
|
||||
@BinaryAnnotation("Str" + "ing")
|
||||
@BinaryAnnotation("Str" <!EVALUATED("String")!>+ "ing"<!>)
|
||||
typealias C = Int
|
||||
|
||||
// MODULE: main
|
||||
@@ -89,4 +89,4 @@ typealias C = Int
|
||||
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -13,10 +13,10 @@ annotation class AnnotationWithVararg(vararg val array: String)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
annotation class AnnotationWithArray(val array: Array<String>)
|
||||
|
||||
@AnnotationWithVararg("Str" + "ing", "String2", "String${3}")
|
||||
@AnnotationWithVararg("Str" <!EVALUATED("String")!>+ "ing"<!>, <!EVALUATED("String2")!>"String2"<!>, <!EVALUATED("String3")!>"String${3}"<!>)
|
||||
class A
|
||||
|
||||
@AnnotationWithArray(["Str" + "ing", "String2", "String${3}"])
|
||||
@AnnotationWithArray(["Str" <!EVALUATED("String")!>+ "ing"<!>, <!EVALUATED("String2")!>"String2"<!>, <!EVALUATED("String3")!>"String${3}"<!>])
|
||||
class B
|
||||
|
||||
// MODULE: main
|
||||
@@ -24,4 +24,4 @@ class B
|
||||
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -12,7 +12,7 @@ annotation class AnnotationWithDefault(val str: String = "Str" + "ing")
|
||||
@AnnotationWithDefault()
|
||||
class A
|
||||
|
||||
@AnnotationWithDefault("Other")
|
||||
@AnnotationWithDefault(<!EVALUATED("Other")!>"Other"<!>)
|
||||
class B
|
||||
|
||||
// MODULE: main
|
||||
@@ -20,4 +20,4 @@ class B
|
||||
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,4 +14,4 @@ class O {
|
||||
|
||||
fun box(): String {
|
||||
return "$O" + "$K" // must not be evaluated during compile time
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ object Test {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
if (!Test.foo().startsWith("foo ")) return "Fail ${Test.foo()}"
|
||||
if (!Test.bar().startsWith("bar ")) return "Fail ${Test.bar()}"
|
||||
if (!Test.baz().startsWith("baz ")) return "Fail ${Test.baz()}"
|
||||
if (!Test.foo().startsWith("foo ")) return "<!EVALUATED("Fail ")!>Fail <!>${Test.foo()}"
|
||||
if (!Test.bar().startsWith("bar ")) return "<!EVALUATED("Fail ")!>Fail <!>${Test.bar()}"
|
||||
if (!Test.baz().startsWith("baz ")) return "<!EVALUATED("Fail ")!>Fail <!>${Test.baz()}"
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user