[IR] Add id method in interpreter's tests to avoid optimizations

This commit is contained in:
Ivan Kylchik
2023-04-11 17:23:11 +02:00
committed by Space Team
parent 621f5a0fb7
commit 3f60c83921
20 changed files with 552 additions and 532 deletions
@@ -2,15 +2,16 @@
// TARGET_BACKEND: NATIVE
// TARGET_BACKEND: JS_IR
// WITH_STDLIB
fun <T> T.id() = this
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 (<!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"
if (<!EVALUATED("OK 3.5")!>simple<!>.id() != "OK 3.5") return "Fail 1"
if (<!EVALUATED("1 2 3 4 5 6")!>withInnerConcatenation<!>.id() != "1 2 3 4 5 6") return "Fail 2"
if (<!EVALUATED("1 null")!>withNull<!>.id() != "1 null") return "Fail 3"
return "OK"
}