Add ir interpreter tests

This commit is contained in:
Ivan Kylchik
2021-05-19 16:27:03 +03:00
committed by TeamCityServer
parent cc2d7340dc
commit e28ab45c51
115 changed files with 5104 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
@CompileTimeCalculation fun evalWithVariables(): Double {
val a = 1
val b = 1.5
return a + b
}
@CompileTimeCalculation fun evalWithVariablesLateinit(): Double {
var a: Double
var b: Double
a = 1.5
b = -3.75
return a + b
}
@CompileTimeCalculation fun evalWithValueParameter(toAdd: Int): Int {
var a: Int = toAdd
a += 10
a = a % 5
a -= 2
return a
}
class A @CompileTimeCalculation constructor(@CompileTimeCalculation val a: Int)
@CompileTimeCalculation fun createObject(a: Int): Int {
val aObj = A(a)
return aObj.a
}
const val a = <!EVALUATED: `2.5`!>evalWithVariables()<!>
const val b = <!EVALUATED: `-2.25`!>evalWithVariablesLateinit()<!>
const val c = <!EVALUATED: `-2`!>evalWithValueParameter(10)<!>
const val d = <!EVALUATED: `-2`!>createObject(c)<!>