blob: a9627ef238f83f7aa17a9d17d7c7285385b00cad [file] [log] [blame]
@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)<!>