FIR: report WRONG_ANNOTATION_TARGET(_WITH_USE_SITE_TARGET) on declarations

This commit is contained in:
Mikhail Glukhikh
2021-05-18 11:48:44 +03:00
parent 95f2c52659
commit 2a33a6927c
73 changed files with 394 additions and 392 deletions
@@ -8,6 +8,6 @@ interface Test {
@get:Synchronized
val c: Int
@get:JvmOverloads
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@get:JvmOverloads<!>
val d: Int
}
@@ -6,10 +6,10 @@ fun foo() {}
@JvmName("b")
fun Any.foo() {}
@JvmName("c")
<!WRONG_ANNOTATION_TARGET!>@JvmName("c")<!>
val px = 1
@JvmName("d")
<!WRONG_ANNOTATION_TARGET!>@JvmName("d")<!>
val Any.px : Int
get() = 1
@@ -29,9 +29,9 @@ var vardef: Int = 1
@JvmName("i")
set
@JvmName("C")
class C @JvmName("primary") constructor() {
@JvmName("ctr") constructor(x: Int): this() {}
<!WRONG_ANNOTATION_TARGET!>@JvmName("C")<!>
class C <!WRONG_ANNOTATION_TARGET!>@JvmName("primary")<!> constructor() {
<!WRONG_ANNOTATION_TARGET!>@JvmName("ctr")<!> constructor(x: Int): this() {}
@JvmName("a")
fun foo() {}
@@ -39,10 +39,10 @@ class C @JvmName("primary") constructor() {
@JvmName("b")
fun Any.foo() {}
@JvmName("c")
<!WRONG_ANNOTATION_TARGET!>@JvmName("c")<!>
val px = 1
@JvmName("d")
<!WRONG_ANNOTATION_TARGET!>@JvmName("d")<!>
val Any.px : Int
get() = 1
@@ -61,7 +61,7 @@ fun foo1() {
@JvmName("a")
fun foo() {}
@JvmName("a")
<!WRONG_ANNOTATION_TARGET!>@JvmName("a")<!>
val x = 1
}
@@ -4,6 +4,6 @@ class A
@Metadata(extraString = "_")
annotation class B(val m: Metadata)
@Metadata(extraInt = 0)
<!WRONG_ANNOTATION_TARGET!>@Metadata(extraInt = 0)<!>
@B(Metadata())
fun f() {}
@@ -5,10 +5,10 @@ interface B {
@JvmDefault
val prop1: String
@JvmDefault get() = ""
<!WRONG_ANNOTATION_TARGET!>@JvmDefault<!> get() = ""
var prop2: String
@JvmDefault get() = ""
@JvmDefault set(value) {}
<!WRONG_ANNOTATION_TARGET!>@JvmDefault<!> get() = ""
<!WRONG_ANNOTATION_TARGET!>@JvmDefault<!> set(value) {}
}
@@ -1,27 +1,27 @@
// !LANGUAGE: +NestedClassesInAnnotations +InlineClasses -JvmInlineValueClasses -ProhibitJvmFieldOnOverrideFromInterfaceInPrimaryConstructor
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
@kotlin.jvm.JvmField
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!>
fun foo() {
@kotlin.jvm.JvmField val x = "A"
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> val x = "A"
}
annotation class DemoAnnotation
@JvmField
<!WRONG_ANNOTATION_TARGET!>@JvmField<!>
abstract class C : I{
@kotlin.jvm.JvmField constructor(s: String) {
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> constructor(s: String) {
}
@kotlin.jvm.JvmField private fun foo(s: String = "OK") {
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> private fun foo(s: String = "OK") {
}
@JvmField val a: String by lazy { "A" }
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> val a: String by lazy { "A" }
@JvmField open val b: Int = 3
@JvmField abstract val c: Int
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> abstract val c: Int
@JvmField
val customGetter: String = ""
@@ -49,7 +49,7 @@ abstract class C : I{
field = s
}
@JvmField
<!WRONG_ANNOTATION_TARGET!>@JvmField<!>
val noBackingField: String
get() = "a"
@@ -61,8 +61,8 @@ abstract class C : I{
}
interface I {
@JvmField val ai: Int
@JvmField val bi: Int
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> val ai: Int
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> val bi: Int
get() = 5
}
@@ -1,27 +1,27 @@
// !LANGUAGE: +NestedClassesInAnnotations +InlineClasses -JvmInlineValueClasses +ProhibitJvmFieldOnOverrideFromInterfaceInPrimaryConstructor
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
@kotlin.jvm.JvmField
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!>
fun foo() {
@kotlin.jvm.JvmField val x = "A"
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> val x = "A"
}
annotation class DemoAnnotation
@JvmField
<!WRONG_ANNOTATION_TARGET!>@JvmField<!>
abstract class C : I{
@kotlin.jvm.JvmField constructor(s: String) {
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> constructor(s: String) {
}
@kotlin.jvm.JvmField private fun foo(s: String = "OK") {
<!WRONG_ANNOTATION_TARGET!>@kotlin.jvm.JvmField<!> private fun foo(s: String = "OK") {
}
@JvmField val a: String by lazy { "A" }
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> val a: String by lazy { "A" }
@JvmField open val b: Int = 3
@JvmField abstract val c: Int
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> abstract val c: Int
@JvmField
val customGetter: String = ""
@@ -49,7 +49,7 @@ abstract class C : I{
field = s
}
@JvmField
<!WRONG_ANNOTATION_TARGET!>@JvmField<!>
val noBackingField: String
get() = "a"
@@ -61,8 +61,8 @@ abstract class C : I{
}
interface I {
@JvmField val ai: Int
@JvmField val bi: Int
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> val ai: Int
<!WRONG_ANNOTATION_TARGET!>@JvmField<!> val bi: Int
get() = 5
}
@@ -1,8 +0,0 @@
class A {
@JvmStatic constructor() {}
inner class B {
@JvmStatic constructor() {}
}
}
class C @JvmStatic constructor()
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
class A {
<!WRONG_ANNOTATION_TARGET!>@JvmStatic<!> constructor() {}
inner class B {