Support plus, minus, div, mod, multiply in ConstantExpressionEvaluator
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(val c1: Char)
|
||||
|
||||
Ann('a' - 'a') class MyClass
|
||||
|
||||
// EXPECTED: Ann[c1 = 0.toInt(): jet.Int]
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val p1: Int,
|
||||
val p2: Int,
|
||||
val p3: Int
|
||||
)
|
||||
|
||||
Ann(1.toInt().plus(1), 1.minus(1.toInt()), 1.toInt().times(1.toInt())) class MyClass
|
||||
|
||||
// EXPECTED: Ann[p1 = 2.toInt(): jet.Int, p2 = 0.toInt(): jet.Int, p3 = 1.toInt(): jet.Int]
|
||||
@@ -0,0 +1,12 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val b: Byte,
|
||||
val s: Short,
|
||||
val i: Int,
|
||||
val l: Long
|
||||
)
|
||||
|
||||
Ann(1 / 1, 1 / 1, 1 / 1, 1 / 1) class MyClass
|
||||
|
||||
// EXPECTED: Ann[b = 1.toByte(): jet.Byte, i = 1.toInt(): jet.Int, l = 1.toLong(): jet.Long, s = 1.toShort(): jet.Short]
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val d1: Double,
|
||||
val d2: Double,
|
||||
val d3: Double
|
||||
)
|
||||
|
||||
Ann(1.0 + 1.0, 1.0 + 1, 1 + 1.0) class MyClass
|
||||
|
||||
// EXPECTED: Ann[d1 = 2.0.toDouble(): jet.Double, d2 = 2.0.toDouble(): jet.Double, d3 = 2.0.toDouble(): jet.Double]
|
||||
@@ -0,0 +1,12 @@
|
||||
package test
|
||||
|
||||
|
||||
annotation class Ann(
|
||||
val d1: Float,
|
||||
val d2: Float,
|
||||
val d3: Double
|
||||
)
|
||||
|
||||
Ann(1.toFloat() + 1.toFloat(), 1.toFloat() + 1, 1.toFloat() + 1.0) class MyClass
|
||||
|
||||
// EXPECTED: Ann[d1 = 2.0.toFloat(): jet.Float, d2 = 2.0.toFloat(): jet.Float, d3 = 2.0.toDouble(): jet.Double]
|
||||
@@ -0,0 +1,13 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val p1: Int,
|
||||
val p2: Int,
|
||||
val p3: Int,
|
||||
val p4: Int,
|
||||
val p5: Int
|
||||
)
|
||||
|
||||
Ann(1 plus 1, 1 minus 1, 1 times 1, 1 div 1, 1 mod 1) class MyClass
|
||||
|
||||
// EXPECTED: Ann[p1 = 2.toInt(): jet.Int, p2 = 0.toInt(): jet.Int, p3 = 1.toInt(): jet.Int, p4 = 1.toInt(): jet.Int, p5 = 0.toInt(): jet.Int]
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val l1: Long,
|
||||
val l2: Long,
|
||||
val l3: Long
|
||||
)
|
||||
|
||||
Ann(1 + 1, java.lang.Long.MAX_VALUE + 1 - 1, java.lang.Long.MAX_VALUE - 1) class MyClass
|
||||
|
||||
// EXPECTED: Ann[l1 = 2.toLong(): jet.Long, l2 = 9223372036854775807.toLong(): jet.Long, l3 = 9223372036854775806.toLong(): jet.Long]
|
||||
@@ -0,0 +1,21 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val p1: Byte,
|
||||
val p2: Short,
|
||||
val p3: Int,
|
||||
val p4: Int,
|
||||
val p5: Long,
|
||||
val p6: Long
|
||||
)
|
||||
|
||||
Ann(
|
||||
p1 = java.lang.Byte.MAX_VALUE + 1,
|
||||
p2 = java.lang.Short.MAX_VALUE + 1,
|
||||
p3 = java.lang.Integer.MAX_VALUE + 1,
|
||||
p4 = java.lang.Integer.MAX_VALUE + 1,
|
||||
p5 = java.lang.Integer.MAX_VALUE + 1.toLong(),
|
||||
p6 = java.lang.Long.MAX_VALUE + 1
|
||||
) class MyClass
|
||||
|
||||
// EXPECTED: Ann[p1 = 128.toInt(): jet.Int, p2 = 32768.toInt(): jet.Int, p3 = -2147483648.toInt(): jet.Int, p4 = -2147483648.toInt(): jet.Int, p5 = 2147483648.toLong(): jet.Long, p6 = -9223372036854775808.toLong(): jet.Long]
|
||||
@@ -0,0 +1,19 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val p1: Byte,
|
||||
val p2: Byte,
|
||||
val p3: Int,
|
||||
val p4: Int,
|
||||
val p5: Byte
|
||||
)
|
||||
|
||||
Ann(
|
||||
p1 = java.lang.Byte.MAX_VALUE + 1,
|
||||
p2 = 1 + 1,
|
||||
p3 = java.lang.Byte.MAX_VALUE + 1,
|
||||
p4 = 1.toByte() + 1.toByte(),
|
||||
p5 = 1.toByte() + 1.toByte()
|
||||
) class MyClass
|
||||
|
||||
// EXPECTED: Ann[p1 = 128.toInt(): jet.Int, p2 = 2.toByte(): jet.Byte, p3 = 128.toInt(): jet.Int, p4 = 2.toInt(): jet.Int, p5 = 2.toByte(): jet.Byte]
|
||||
@@ -0,0 +1,19 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val p1: Int,
|
||||
val p2: Int,
|
||||
val p3: Long,
|
||||
val p4: Long,
|
||||
val p5: Int
|
||||
)
|
||||
|
||||
Ann(
|
||||
p1 = java.lang.Integer.MAX_VALUE + 1,
|
||||
p2 = 1 + 1,
|
||||
p3 = java.lang.Integer.MAX_VALUE + 1,
|
||||
p4 = 1.toInt() + 1.toInt(),
|
||||
p5 = 1.toInt() + 1.toInt()
|
||||
) class MyClass
|
||||
|
||||
// EXPECTED: Ann[p1 = -2147483648.toInt(): jet.Int, p2 = 2.toInt(): jet.Int, p3 = -2147483648.toLong(): jet.Long, p4 = 2.toLong(): jet.Long, p5 = 2.toInt(): jet.Int]
|
||||
@@ -0,0 +1,12 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val b: Byte,
|
||||
val s: Short,
|
||||
val i: Int,
|
||||
val l: Long
|
||||
)
|
||||
|
||||
Ann(1 * 1, 1 * 1, 1 * 1, 1 * 1) class MyClass
|
||||
|
||||
// EXPECTED: Ann[b = 1.toByte(): jet.Byte, i = 1.toInt(): jet.Int, l = 1.toLong(): jet.Long, s = 1.toShort(): jet.Short]
|
||||
@@ -0,0 +1,12 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val b: Byte,
|
||||
val s: Short,
|
||||
val i: Int,
|
||||
val l: Long
|
||||
)
|
||||
|
||||
Ann(1 - 1, 1 - 1, 1 - 1, 1 - 1) class MyClass
|
||||
|
||||
// EXPECTED: Ann[b = 0.toByte(): jet.Byte, i = 0.toInt(): jet.Int, l = 0.toLong(): jet.Long, s = 0.toShort(): jet.Short]
|
||||
@@ -0,0 +1,12 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val b: Byte,
|
||||
val s: Short,
|
||||
val i: Int,
|
||||
val l: Long
|
||||
)
|
||||
|
||||
Ann(1 % 1, 1 % 1, 1 % 1, 1 % 1) class MyClass
|
||||
|
||||
// EXPECTED: Ann[b = 0.toByte(): jet.Byte, i = 0.toInt(): jet.Int, l = 0.toLong(): jet.Long, s = 0.toShort(): jet.Short]
|
||||
@@ -0,0 +1,12 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val b: Byte,
|
||||
val s: Short,
|
||||
val i: Int,
|
||||
val l: Long
|
||||
)
|
||||
|
||||
Ann(1 + 1, 1 + 1, 1 + 1, 1 + 1) class MyClass
|
||||
|
||||
// EXPECTED: Ann[b = 2.toByte(): jet.Byte, i = 2.toInt(): jet.Int, l = 2.toLong(): jet.Long, s = 2.toShort(): jet.Short]
|
||||
@@ -0,0 +1,13 @@
|
||||
package test
|
||||
|
||||
annotation class Ann(
|
||||
val p1: Int,
|
||||
val p2: Int,
|
||||
val p3: Int,
|
||||
val p4: Int,
|
||||
val p5: Int
|
||||
)
|
||||
|
||||
Ann(1.plus(1), 1.minus(1), 1.times(1), 1.div(1), 1.mod(1)) class MyClass
|
||||
|
||||
// EXPECTED: Ann[p1 = 2.toInt(): jet.Int, p2 = 0.toInt(): jet.Int, p3 = 1.toInt(): jet.Int, p4 = 1.toInt(): jet.Int, p5 = 0.toInt(): jet.Int]
|
||||
Reference in New Issue
Block a user