[IR] Reorganize test files in involvesIrInterpreter dir

This commit is contained in:
Ivan Kylchik
2023-04-11 16:26:44 +02:00
committed by Space Team
parent c00c7ffbe0
commit 621f5a0fb7
38 changed files with 1001 additions and 1001 deletions
@@ -0,0 +1,18 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K1: JVM_IR
// WITH_STDLIB
const val trimIndent = "123".<!EVALUATED("123")!>trimIndent()<!>
const val complexTrimIndent =
"""
ABC
123
456
""".<!EVALUATED("ABC\n123\n456")!>trimIndent()<!>
fun box(): String {
if (<!EVALUATED("false")!>trimIndent != "123"<!>) return "Fail 1"
if (<!EVALUATED("false")!>complexTrimIndent != "ABC\n123\n456"<!>) return "Fail 2"
return "OK"
}
@@ -0,0 +1,23 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K1: JVM_IR
// WITH_STDLIB
const val trimMargin = "123".<!EVALUATED("123")!>trimMargin()<!>
const val trimMarginDefault = """ABC
|123
|456""".<!EVALUATED("ABC\n123\n456")!>trimMargin()<!>
const val withoutMargin = """
#XYZ
#foo
#bar
""".<!EVALUATED("XYZ\nfoo\nbar")!>trimMargin("#")<!>
fun box(): String {
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"
}
@@ -0,0 +1,20 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K1: JVM_IR
enum class EnumClass {
OK, VALUE, anotherValue, WITH_UNDERSCORE
}
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 (<!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<!>
}
@@ -0,0 +1,141 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// TARGET_BACKEND: JVM_IR
const val trueVal = <!EVALUATED("true")!>true<!>
const val falseVal = <!EVALUATED("false")!>false<!>
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).<!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).<!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 = <!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 = <!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 = <!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 = <!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 = <!EVALUATED("123")!>"123"<!>
const val otherStr = <!EVALUATED("other")!>"other"<!>
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.<!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.<!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.<!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.<!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.<!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.<!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.<!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.<!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 (<!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 (<!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 (<!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 (<!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 (<!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 (<!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 (<!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 (<!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 (<!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"
}
@@ -0,0 +1,22 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// TARGET_BACKEND: JVM_IR
// TARGET_BACKEND: NATIVE
// TARGET_BACKEND: JS_IR
// IGNORE_BACKEND_K1: JVM_IR, NATIVE, JS_IR, JS_IR_ES6
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 (<!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"
}
@@ -0,0 +1,26 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K1: JVM_IR
class A(val OK: Int, val somePropertyWithLongName: String) {
fun foo() {}
suspend fun bar() {}
}
val topLevelProp = 1
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 (<!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"
}
@@ -0,0 +1,15 @@
// !LANGUAGE: +IntrinsicConstEvaluation
// TARGET_BACKEND: JVM_IR
// IGNORE_BACKEND_K1: JVM_IR
// FILE: 1.kt
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),
}