141 lines
4.8 KiB
Kotlin
Vendored
141 lines
4.8 KiB
Kotlin
Vendored
// !LANGUAGE: +IntrinsicConstEvaluation
|
|
// TARGET_BACKEND: JVM_IR
|
|
|
|
const val trueVal = true
|
|
const val falseVal = false
|
|
|
|
const val charOneVal = '1'
|
|
const val charTwoVal = '2'
|
|
const val charThreeVal = '3'
|
|
const val charFourVal = '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 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 intMinusOneVal = -1
|
|
const val intOneVal = 1
|
|
const val intTwoVal = 2
|
|
const val intThreeVal = 3
|
|
const val intFourVal = 4
|
|
|
|
const val longMinusOneVal = -1L
|
|
const val longOneVal = 1L
|
|
const val longTwoVal = 2L
|
|
const val longThreeVal = 3L
|
|
const val longFourVal = 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 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 someStr = "123"
|
|
const val otherStr = "other"
|
|
|
|
const val equalsBoolean1 = trueVal.equals(trueVal)
|
|
const val equalsBoolean2 = trueVal == falseVal
|
|
const val equalsBoolean3 = falseVal.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 equalsByte1 = byteOneVal.equals(byteTwoVal)
|
|
const val equalsByte2 = byteTwoVal.equals(byteTwoVal)
|
|
const val equalsByte3 = byteThreeVal == byteTwoVal
|
|
const val equalsByte4 = byteFourVal.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 equalsInt1 = intOneVal.equals(intTwoVal)
|
|
const val equalsInt2 = intTwoVal.equals(intTwoVal)
|
|
const val equalsInt3 = intThreeVal == intTwoVal
|
|
const val equalsInt4 = intFourVal.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 equalsFloat1 = floatOneVal.equals(floatTwoVal)
|
|
const val equalsFloat2 = floatTwoVal.equals(floatTwoVal)
|
|
const val equalsFloat3 = floatThreeVal == floatTwoVal
|
|
const val equalsFloat4 = floatFourVal.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 equalsString1 = someStr.equals(otherStr)
|
|
const val equalsString2 = someStr.equals("123")
|
|
const val equalsString3 = otherStr == someStr
|
|
const val equalsString4 = someStr.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 (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 (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 (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 (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 (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 (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 (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 (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"
|
|
|
|
return "OK"
|
|
} |