[K2] Properly report diagnostics on const properties with Java usages
#KT-63752 #KT-59894 #KT-61920 Fixed
This commit is contained in:
@@ -1,26 +0,0 @@
|
||||
// FILE: A.java
|
||||
|
||||
public class A {
|
||||
public static final int X = 1;
|
||||
public static final int Y;
|
||||
|
||||
public final int z = 3;
|
||||
|
||||
static {
|
||||
Y = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
@Ann(A.X)
|
||||
fun main1() {}
|
||||
|
||||
@Ann(A.Y)
|
||||
fun main2() {}
|
||||
|
||||
val q = A()
|
||||
@Ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>q.z<!>)
|
||||
fun main3() {}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: A.java
|
||||
|
||||
public class A {
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// FIR_IDENTICAL
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// FILE: Foo.java
|
||||
public interface Foo {
|
||||
public static final long A = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
const val b = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>Foo.A<!>
|
||||
@@ -1,3 +1,6 @@
|
||||
// IGNORE_REVERSED_RESOLVE
|
||||
// IGNORE_CONTRACT_VIOLATIONS
|
||||
// See KT-63752 about ignores
|
||||
// FIR_IDENTICAL
|
||||
// FILE: Bar.java
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: Bar.java
|
||||
package one.two;
|
||||
|
||||
public class Bar {
|
||||
public static final int BAR1 = SOME_WRONG_EXPRESSION;
|
||||
public static final int BAR2 = MainKt.FOO + 1;
|
||||
public static final int BAR3 = Doo.DOO + 1;
|
||||
}
|
||||
|
||||
// FILE: Main.kt
|
||||
package one.two
|
||||
|
||||
const val FOO = 1
|
||||
|
||||
class Doo {
|
||||
companion object {
|
||||
const val DOO = 1
|
||||
}
|
||||
}
|
||||
|
||||
const val BAZ1 = Bar.BAR1 + 1
|
||||
const val BAZ2 = Bar.BAR2 + 1
|
||||
const val BAZ3 = Bar.BAR3 + 1
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: Bar.java
|
||||
package one.two;
|
||||
|
||||
Reference in New Issue
Block a user