[K2] Report NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION when it is appropriate

This commit is contained in:
Ivan Kylchik
2023-12-05 17:19:25 +01:00
committed by Space Team
parent 0d127f6daf
commit 8cd9479f20
13 changed files with 23 additions and 56 deletions
@@ -21,8 +21,8 @@ const val l = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>k<!>
const val m = "123".toString()
const val n = "456".length
val o = "789"
const val p = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>o.toString()<!>
const val q = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>o.length<!>
const val p = <!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>o.toString()<!>
const val q = <!NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION!>o.length<!>
class ForConst{
companion object {
@@ -5,7 +5,7 @@ FILE: withSuppression.kt
}
public final val y: R|kotlin/String| = String(789)
public get(): R|kotlin/String|
public final const val z: R|kotlin/String| = @R|kotlin/Suppress|(names = vararg(String(CONST_VAL_WITH_NON_CONST_INITIALIZER))) R|/y|
public final const val z: R|kotlin/String| = @R|kotlin/Suppress|(names = vararg(String(NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION))) R|/y|
public get(): R|kotlin/String|
@R|kotlin/annotation/Target|(allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final annotation class Ann : R|kotlin/Annotation| {
public constructor(): R|Ann| {
@@ -4,7 +4,7 @@ const val x = "123"
val y = "789"
const val z = @Suppress(<!ERROR_SUPPRESSION!>"CONST_VAL_WITH_NON_CONST_INITIALIZER"<!>) y
const val z = @Suppress(<!ERROR_SUPPRESSION!>"NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION"<!>) y
@Target(AnnotationTarget.TYPE)
annotation class Ann