Make NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION error

This commit is contained in:
Zalim Bashorov
2015-10-16 15:07:31 +03:00
parent a16658a9e9
commit de5dc61820
33 changed files with 145 additions and 121 deletions
@@ -30,14 +30,14 @@ annotation class Ann(
class Foo {
companion object {
val i: Int = 2
val s: Short = 2
val f: Float = 2.0.toFloat()
val d: Double = 2.0
val l: Long = 2
val b: Byte = 2
val bool: Boolean = true
val c: Char = 'c'
val str: String = "str"
const val i: Int = 2
const val s: Short = 2
const val f: Float = 2.0.toFloat()
const val d: Double = 2.0
const val l: Long = 2
const val b: Byte = 2
const val bool: Boolean = true
const val c: Char = 'c'
const val str: String = "str"
}
}
@@ -28,12 +28,12 @@ annotation class Ann(
val str: String
)
val i: Int = 2
val s: Short = 2
val f: Float = 2.0.toFloat()
val d: Double = 2.0
val l: Long = 2
val b: Byte = 2
val bool: Boolean = true
val c: Char = 'c'
val str: String = "str"
const val i: Int = 2
const val s: Short = 2
const val f: Float = 2.0.toFloat()
const val d: Double = 2.0
const val l: Long = 2
const val b: Byte = 2
const val bool: Boolean = true
const val c: Char = 'c'
const val str: String = "str"
@@ -13,7 +13,7 @@ annotation class Ann(val i: Int)
class A {
class B {
companion object {
val i = 1
const val i = 1
}
}
}
@@ -10,5 +10,5 @@ fun box(): String {
@Retention(AnnotationRetention.RUNTIME)
annotation class Ann(val i: Int)
val i2: Int = 1
val i: Int = i2
const val i2: Int = 1
const val i: Int = i2
@@ -7,11 +7,11 @@ annotation class Ann(
val p5: Int
)
val prop1: Int = 1.plus(1)
val prop2: Int = 1.minus(1)
val prop3: Int = 1.times(1)
val prop4: Int = 1.div(1)
val prop5: Int = 1.mod(1)
const val prop1: Int = 1.plus(1)
const val prop2: Int = 1.minus(1)
const val prop3: Int = 1.times(1)
const val prop4: Int = 1.div(1)
const val prop5: Int = 1.mod(1)
@Ann(prop1, prop2, prop3, prop4, prop5) class MyClass
@@ -8,12 +8,12 @@ annotation class Ann(
val p6: Float
)
val prop1: Byte = -1
val prop2: Short = -1
val prop3: Int = -1
val prop4: Long = -1
val prop5: Double = -1.0
val prop6: Float = -1.0.toFloat()
const val prop1: Byte = -1
const val prop2: Short = -1
const val prop3: Int = -1
const val prop4: Long = -1
const val prop5: Double = -1.0
const val prop6: Float = -1.0.toFloat()
@Ann(prop1, prop2, prop3, prop4, prop5, prop6) class MyClass
@@ -26,4 +26,4 @@ fun box(): String {
if (annotation.p5 != prop5) return "fail 5, expected = ${prop5}, actual = ${annotation.p5}"
if (annotation.p6 != prop6) return "fail 6, expected = ${prop6}, actual = ${annotation.p6}"
return "OK"
}
}
@@ -8,12 +8,12 @@ annotation class Ann(
val p6: Float
)
val prop1: Byte = +1
val prop2: Short = +1
val prop3: Int = +1
val prop4: Long = +1
val prop5: Double = +1.0
val prop6: Float = +1.0.toFloat()
const val prop1: Byte = +1
const val prop2: Short = +1
const val prop3: Int = +1
const val prop4: Long = +1
const val prop5: Double = +1.0
const val prop6: Float = +1.0.toFloat()
@Ann(prop1, prop2, prop3, prop4, prop5, prop6) class MyClass
@@ -26,4 +26,4 @@ fun box(): String {
if (annotation.p5 != prop5) return "fail 5, expected = ${prop5}, actual = ${annotation.p5}"
if (annotation.p6 != prop6) return "fail 6, expected = ${prop6}, actual = ${annotation.p6}"
return "OK"
}
}
@@ -1,15 +1,15 @@
package constants
public val b: Byte = 100
public val s: Short = 20000
public val i: Int = 2000000
public val l: Long = 2000000000000L
public val f: Float = 3.14f
public val d: Double = 3.14
public val bb: Boolean = true
public val c: Char = '\u03c0' // pi symbol
public const val b: Byte = 100
public const val s: Short = 20000
public const val i: Int = 2000000
public const val l: Long = 2000000000000L
public const val f: Float = 3.14f
public const val d: Double = 3.14
public const val bb: Boolean = true
public const val c: Char = '\u03c0' // pi symbol
public val str: String = ":)"
public const val str: String = ":)"
@Retention(AnnotationRetention.RUNTIME)
public annotation class AnnotationClass(public val value: String)
public annotation class AnnotationClass(public val value: String)
@@ -1,21 +1,21 @@
package a
val i = 2
val s = 2.toShort()
val f = 2.0.toFloat()
val d = 2.0
val l = 2L
val b = 2.toByte()
val bool = true
val c = 'c'
val str = "str"
const val i = 2
const val s = 2.toShort()
const val f = 2.0.toFloat()
const val d = 2.0
const val l = 2L
const val b = 2.toByte()
const val bool = true
const val c = 'c'
const val str = "str"
val i2 = i
val s2 = s
val f2 = f
val d2 = d
val l2 = l
val b2 = b
val bool2 = bool
val c2 = c
val str2 = str
const val i2 = i
const val s2 = s
const val f2 = f
const val d2 = d
const val l2 = l
const val b2 = b
const val bool2 = bool
const val c2 = c
const val str2 = str