FIR: report WRONG_ANNOTATION_TARGET(_WITH_USE_SITE_TARGET) on declarations
This commit is contained in:
+3
-3
@@ -1,10 +1,10 @@
|
||||
annotation class A1
|
||||
annotation class A2(val some: Int = 12)
|
||||
|
||||
class TopLevelClass<@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T> {
|
||||
class InnerClass<@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T> {
|
||||
class TopLevelClass<<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T> {
|
||||
class InnerClass<<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T> {
|
||||
fun test() {
|
||||
class InFun<@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T>
|
||||
class InFun<<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
annotation class A1
|
||||
annotation class A2(val some: Int = 12)
|
||||
|
||||
fun <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T> topFun() = 12
|
||||
fun <<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T> topFun() = 12
|
||||
|
||||
class SomeClass {
|
||||
fun <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T> method() = 12
|
||||
fun <<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T> method() = 12
|
||||
|
||||
fun foo() {
|
||||
fun <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T> innerFun() = 12
|
||||
fun <<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T> innerFun() = 12
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -3,10 +3,10 @@
|
||||
annotation class A1
|
||||
annotation class A2(val some: Int = 12)
|
||||
|
||||
val <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T> T.topProp: Int get() = 12
|
||||
val <<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T> T.topProp: Int get() = 12
|
||||
|
||||
class SomeClass {
|
||||
val <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) @A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>) T> T.field: Int get() = 12
|
||||
val <<!WRONG_ANNOTATION_TARGET!>@A1<!> <!WRONG_ANNOTATION_TARGET!>@A2(3)<!> <!WRONG_ANNOTATION_TARGET!>@A2<!> <!WRONG_ANNOTATION_TARGET!>@A1(<!TOO_MANY_ARGUMENTS!>12<!>)<!> <!WRONG_ANNOTATION_TARGET!>@A2(<!ARGUMENT_TYPE_MISMATCH!>"Test"<!>)<!> T> T.field: Int get() = 12
|
||||
|
||||
fun foo() {
|
||||
val <@A1 @A2(3) @A2 @A1(12) @A2("Test") T> localVal = 12
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@
|
||||
annotation class My
|
||||
data class Pair(val a: Int, val b: Int)
|
||||
fun foo(): Int {
|
||||
val (@My private a, @My public b) = Pair(12, 34)
|
||||
val (<!WRONG_ANNOTATION_TARGET!>@My<!> private a, <!WRONG_ANNOTATION_TARGET!>@My<!> public b) = Pair(12, 34)
|
||||
return a + b
|
||||
}
|
||||
@@ -5,4 +5,4 @@ annotation class Ann
|
||||
|
||||
var x: Int
|
||||
get() = 1
|
||||
set(@Ann private x) { }
|
||||
set(<!WRONG_ANNOTATION_TARGET!>@Ann<!> private x) { }
|
||||
|
||||
+2
-2
@@ -8,9 +8,9 @@ annotation class smartset
|
||||
annotation class base
|
||||
|
||||
class My(x: Int) {
|
||||
@smartget var y = x
|
||||
<!WRONG_ANNOTATION_TARGET!>@smartget<!> var y = x
|
||||
@base @smartget @smartset get
|
||||
@base @smartget @smartset set
|
||||
|
||||
@base @smartget @smartset fun foo() = y
|
||||
@base <!WRONG_ANNOTATION_TARGET!>@smartget<!> <!WRONG_ANNOTATION_TARGET!>@smartset<!> fun foo() = y
|
||||
}
|
||||
+9
-9
@@ -2,19 +2,19 @@
|
||||
|
||||
@base annotation class derived
|
||||
|
||||
@base class correct(@base val x: Int) {
|
||||
@base constructor(): this(0)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> class correct(<!WRONG_ANNOTATION_TARGET!>@base<!> val x: Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> constructor(): this(0)
|
||||
}
|
||||
|
||||
@base enum class My {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> enum class My {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> FIRST,
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun foo(<!WRONG_ANNOTATION_TARGET!>@base<!> y: @base Int): Int {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun bar(<!WRONG_ANNOTATION_TARGET!>@base<!> z: @base Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@base val z = 0
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val z = 0
|
||||
|
||||
+9
-9
@@ -3,19 +3,19 @@
|
||||
|
||||
@base annotation class derived
|
||||
|
||||
@base class correct(@base val x: Int, @base w: @base Int) {
|
||||
@base constructor(): this(0, 0)
|
||||
@base class correct(<!WRONG_ANNOTATION_TARGET!>@base<!> val x: Int, <!WRONG_ANNOTATION_TARGET!>@base<!> w: @base Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> constructor(): this(0, 0)
|
||||
}
|
||||
|
||||
@base enum class My @base constructor() {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
@base enum class My <!WRONG_ANNOTATION_TARGET!>@base<!> constructor() {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> FIRST,
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun foo(<!WRONG_ANNOTATION_TARGET!>@base<!> y: @base Int): Int {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun bar(<!WRONG_ANNOTATION_TARGET!>@base<!> z: @base Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@base val z = 0
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val z = 0
|
||||
|
||||
+9
-9
@@ -1,20 +1,20 @@
|
||||
@Target(AnnotationTarget.CONSTRUCTOR) annotation class base
|
||||
|
||||
@base annotation class derived
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> annotation class derived
|
||||
|
||||
@base class correct(@base val x: Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> class correct(<!WRONG_ANNOTATION_TARGET!>@base<!> val x: Int) {
|
||||
@base constructor(): this(0)
|
||||
}
|
||||
|
||||
@base enum class My @base constructor() {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> enum class My @base constructor() {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> FIRST,
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun foo(<!WRONG_ANNOTATION_TARGET!>@base<!> y: @base Int): Int {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun bar(<!WRONG_ANNOTATION_TARGET!>@base<!> z: @base Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@base val z = 0
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val z = 0
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ annotation class special
|
||||
|
||||
fun transform(i: Int, tr: (Int) -> Int): Int = <!WRONG_ANNOTATION_TARGET!>@base<!> @special tr(@special i)
|
||||
|
||||
@base @special fun foo(i: Int): Int {
|
||||
@base <!WRONG_ANNOTATION_TARGET!>@special<!> fun foo(i: Int): Int {
|
||||
val j = <!WRONG_ANNOTATION_TARGET!>@base<!> @special i + 1
|
||||
if (j == 1) return foo(@special <!WRONG_ANNOTATION_TARGET!>@base<!> 42)
|
||||
return transform(@special j, @base @special { @special it * 2 })
|
||||
|
||||
+10
-10
@@ -2,32 +2,32 @@
|
||||
@Target(AnnotationTarget.FIELD)
|
||||
annotation class Field
|
||||
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
annotation class Another
|
||||
|
||||
@Field
|
||||
val x: Int = 42
|
||||
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
val y: Int
|
||||
get() = 13
|
||||
|
||||
@Field
|
||||
abstract class My(@Field arg: Int, @Field val w: Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
abstract class My(<!WRONG_ANNOTATION_TARGET!>@Field<!> arg: Int, @Field val w: Int) {
|
||||
@Field
|
||||
val x: Int = arg
|
||||
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
val y: Int
|
||||
get() = 0
|
||||
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
abstract val z: Int
|
||||
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
fun foo() {}
|
||||
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
val v: Int by <!UNRESOLVED_REFERENCE!>Delegates<!>.lazy { 42 }
|
||||
}
|
||||
|
||||
@@ -36,10 +36,10 @@ enum class Your {
|
||||
}
|
||||
|
||||
interface His {
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
val x: Int
|
||||
|
||||
@Field
|
||||
<!WRONG_ANNOTATION_TARGET!>@Field<!>
|
||||
val y: Int
|
||||
get() = 42
|
||||
}
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
// FILE: annotation.kt
|
||||
|
||||
package test
|
||||
|
||||
@Target(AnnotationTarget.FILE) annotation class special
|
||||
|
||||
annotation class common
|
||||
|
||||
// FILE: other.kt
|
||||
|
||||
@file:special
|
||||
|
||||
package test
|
||||
|
||||
@special class Incorrect
|
||||
|
||||
// FILE: another.kt
|
||||
|
||||
@file:common
|
||||
|
||||
package test
|
||||
|
||||
@common class Correct
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: annotation.kt
|
||||
|
||||
package test
|
||||
|
||||
+10
-10
@@ -1,22 +1,22 @@
|
||||
@Target(AnnotationTarget.FUNCTION) annotation class base
|
||||
|
||||
@base annotation class derived
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> annotation class derived
|
||||
|
||||
@base class correct(@base val x: Int) {
|
||||
@base constructor(): this(0)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> class correct(<!WRONG_ANNOTATION_TARGET!>@base<!> val x: Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> constructor(): this(0)
|
||||
|
||||
@base public fun baz() {}
|
||||
}
|
||||
|
||||
@base enum class My @base constructor() {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> enum class My <!WRONG_ANNOTATION_TARGET!>@base<!> constructor() {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> FIRST,
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
@base fun foo(<!WRONG_ANNOTATION_TARGET!>@base<!> y: @base Int): Int {
|
||||
@base fun bar(<!WRONG_ANNOTATION_TARGET!>@base<!> z: @base Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@base val z = 0
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val z = 0
|
||||
|
||||
+10
-10
@@ -1,21 +1,21 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
@Target(AnnotationTarget.<!UNRESOLVED_REFERENCE!>INIT<!>) annotation class incorrect
|
||||
|
||||
@incorrect annotation class derived
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> annotation class derived
|
||||
|
||||
@incorrect class correct(@incorrect val x: Int, @incorrect w: @incorrect Int) {
|
||||
@incorrect constructor(): this(0, 0)
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> class correct(<!WRONG_ANNOTATION_TARGET!>@incorrect<!> val x: Int, <!WRONG_ANNOTATION_TARGET!>@incorrect<!> w: @incorrect Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> constructor(): this(0, 0)
|
||||
}
|
||||
|
||||
@incorrect enum class My @incorrect constructor() {
|
||||
@incorrect FIRST,
|
||||
@incorrect SECOND
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> enum class My <!WRONG_ANNOTATION_TARGET!>@incorrect<!> constructor() {
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> FIRST,
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> SECOND
|
||||
}
|
||||
|
||||
@incorrect fun foo(@incorrect y: @incorrect Int): Int {
|
||||
@incorrect fun bar(@incorrect z: @incorrect Int) = z + 1
|
||||
@incorrect val local = bar(y)
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> fun foo(<!WRONG_ANNOTATION_TARGET!>@incorrect<!> y: @incorrect Int): Int {
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> fun bar(<!WRONG_ANNOTATION_TARGET!>@incorrect<!> z: @incorrect Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@incorrect val z = <!WRONG_ANNOTATION_TARGET!>@incorrect<!> 0
|
||||
<!WRONG_ANNOTATION_TARGET!>@incorrect<!> val z = <!WRONG_ANNOTATION_TARGET!>@incorrect<!> 0
|
||||
|
||||
+7
-7
@@ -60,23 +60,23 @@ package test
|
||||
|
||||
import test.AnnotationTargets.*
|
||||
|
||||
@base @meta @type @konstructor annotation class KMeta
|
||||
@base @meta @type <!WRONG_ANNOTATION_TARGET!>@konstructor<!> annotation class KMeta
|
||||
|
||||
@base @meta @type @method @multiple class KClass(
|
||||
@base <!WRONG_ANNOTATION_TARGET!>@meta<!> @type <!WRONG_ANNOTATION_TARGET!>@method<!> <!WRONG_ANNOTATION_TARGET!>@multiple<!> class KClass(
|
||||
@base @fieldann @parameter val y:
|
||||
@base @type Int) {
|
||||
|
||||
@base @multiple @fieldann @local val x = 0
|
||||
@base @multiple @fieldann <!WRONG_ANNOTATION_TARGET!>@local<!> val x = 0
|
||||
@method @konstructor @type get
|
||||
|
||||
@base @method @multiple @konstructor
|
||||
fun foo(@parameter @type i:
|
||||
@base @method @multiple <!WRONG_ANNOTATION_TARGET!>@konstructor<!>
|
||||
fun foo(@parameter <!WRONG_ANNOTATION_TARGET!>@type<!> i:
|
||||
@base @multiple Int
|
||||
): @fieldann @parameter Int {
|
||||
|
||||
@local @base @multiple @fieldann val j = i + 1
|
||||
@local @base <!WRONG_ANNOTATION_TARGET!>@multiple<!> <!WRONG_ANNOTATION_TARGET!>@fieldann<!> val j = i + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> <!WRONG_ANNOTATION_TARGET!>@multiple<!> return j
|
||||
}
|
||||
|
||||
@base @method @konstructor constructor(): this(0)
|
||||
@base <!WRONG_ANNOTATION_TARGET!>@method<!> @konstructor constructor(): this(0)
|
||||
}
|
||||
|
||||
+9
-9
@@ -1,20 +1,20 @@
|
||||
@Target(AnnotationTarget.LOCAL_VARIABLE) annotation class base
|
||||
|
||||
@base annotation class derived
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> annotation class derived
|
||||
|
||||
@base class correct(@base val x: Int) {
|
||||
@base constructor(): this(0)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> class correct(<!WRONG_ANNOTATION_TARGET!>@base<!> val x: Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> constructor(): this(0)
|
||||
}
|
||||
|
||||
@base enum class My {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> enum class My {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> FIRST,
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun foo(<!WRONG_ANNOTATION_TARGET!>@base<!> y: @base Int): Int {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun bar(<!WRONG_ANNOTATION_TARGET!>@base<!> z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@base val z = 0
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val z = 0
|
||||
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
@Target(AnnotationTarget.CLASS)
|
||||
annotation class base
|
||||
|
||||
@Target(AnnotationTarget.ANNOTATION_CLASS)
|
||||
annotation class meta
|
||||
|
||||
@base class Outer {
|
||||
@base @meta class Nested
|
||||
|
||||
@base @meta annotation class Annotated
|
||||
|
||||
fun foo() {
|
||||
@base @meta class Local
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
@Target(AnnotationTarget.CLASS)
|
||||
annotation class base
|
||||
|
||||
|
||||
+7
-7
@@ -1,20 +1,20 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
@Target(AnnotationTarget.PROPERTY) annotation class base
|
||||
|
||||
@base annotation class derived
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> annotation class derived
|
||||
|
||||
@base class correct(@base val x: Int, @base w: Int) {
|
||||
@base constructor(): this(0, 0)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> class correct(@base val x: Int, <!WRONG_ANNOTATION_TARGET!>@base<!> w: Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> constructor(): this(0, 0)
|
||||
}
|
||||
|
||||
@base enum class My {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> enum class My {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun foo(<!WRONG_ANNOTATION_TARGET!>@base<!> y: @base Int): Int {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun bar(<!WRONG_ANNOTATION_TARGET!>@base<!> z: @base Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
@Target(AnnotationTarget.TYPE) annotation class base
|
||||
|
||||
@base annotation class derived
|
||||
|
||||
@base class correct(@base val x: @base Int) {
|
||||
@base constructor(): this(0)
|
||||
}
|
||||
|
||||
@base enum class My @base constructor() {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@base val z = 0
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
@Target(AnnotationTarget.TYPE) annotation class base
|
||||
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> annotation class derived
|
||||
|
||||
+4
-4
@@ -24,10 +24,10 @@ class Class2 {
|
||||
}
|
||||
|
||||
|
||||
@A fun foo() {}
|
||||
@A class D
|
||||
<!WRONG_ANNOTATION_TARGET!>@A<!> fun foo() {}
|
||||
<!WRONG_ANNOTATION_TARGET!>@A<!> class D
|
||||
fun foo(i: @A Int) {
|
||||
@A val i = 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@A<!> val i = 1
|
||||
}
|
||||
fun <T> test(t: @A T): T = t
|
||||
|
||||
@@ -35,4 +35,4 @@ fun <T> test(t: @A T): T = t
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
internal annotation class C
|
||||
|
||||
fun <@C T> test2(t: T): T = t
|
||||
fun <<!WRONG_ANNOTATION_TARGET!>@C<!> T> test2(t: T): T = t
|
||||
|
||||
+10
-10
@@ -1,21 +1,21 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER) annotation class base
|
||||
|
||||
@base annotation class derived
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> annotation class derived
|
||||
|
||||
@base class correct(@base val x: Int, @base w: Int) {
|
||||
@base constructor(): this(0, 0)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> class correct(@base val x: Int, @base w: Int) {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> constructor(): this(0, 0)
|
||||
}
|
||||
|
||||
@base enum class My {
|
||||
@base FIRST,
|
||||
@base SECOND
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> enum class My {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> FIRST,
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> SECOND
|
||||
}
|
||||
|
||||
@base fun foo(@base y: @base Int): Int {
|
||||
@base fun bar(@base z: @base Int) = z + 1
|
||||
@base val local = bar(y)
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun foo(@base y: @base Int): Int {
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> fun bar(@base z: @base Int) = z + 1
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val local = bar(y)
|
||||
return local
|
||||
}
|
||||
|
||||
@base val z = 0
|
||||
<!WRONG_ANNOTATION_TARGET!>@base<!> val z = 0
|
||||
|
||||
Vendored
+8
-8
@@ -8,26 +8,26 @@ class CustomDelegate {
|
||||
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
||||
}
|
||||
|
||||
@delegate:Field
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Field<!>
|
||||
class SomeClass {
|
||||
|
||||
@delegate:Field
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Field<!>
|
||||
constructor()
|
||||
|
||||
@delegate:Field @delegate:Prop
|
||||
@delegate:Field <!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Prop<!>
|
||||
protected val simpleProperty: String = "text"
|
||||
|
||||
@delegate:Field @delegate:Prop
|
||||
@delegate:Field <!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Prop<!>
|
||||
protected val delegatedProperty: String by CustomDelegate()
|
||||
|
||||
@delegate:Field @delegate:Prop
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Field<!> <!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Prop<!>
|
||||
val propertyWithCustomGetter: Int
|
||||
get() = 5
|
||||
|
||||
}
|
||||
|
||||
class WithPrimaryConstructor(@delegate:Field @delegate:Prop val a: String,
|
||||
@param:Field @param:Prop val b: String)
|
||||
class WithPrimaryConstructor(@delegate:Field <!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Prop<!> val a: String,
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:Field<!> <!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:Prop<!> val b: String)
|
||||
|
||||
fun foo(@delegate:Field @delegate:Prop x: Int) = x
|
||||
fun foo(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Field<!> <!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@delegate:Prop<!> x: Int) = x
|
||||
|
||||
|
||||
+6
-6
@@ -6,10 +6,10 @@ class CustomDelegate {
|
||||
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
||||
}
|
||||
|
||||
@field:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||
class SomeClass {
|
||||
|
||||
@field:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||
constructor()
|
||||
|
||||
@field:Ann
|
||||
@@ -21,13 +21,13 @@ class SomeClass {
|
||||
@field:Ann
|
||||
protected val delegatedProperty: String by CustomDelegate()
|
||||
|
||||
@field:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||
val propertyWithCustomGetter: Int
|
||||
get() = 5
|
||||
|
||||
@field:Ann
|
||||
fun anotherFun(@field:Ann s: String) {
|
||||
@field:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||
fun anotherFun(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!> s: String) {
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@field:Ann<!>
|
||||
val localVariable = 5
|
||||
}
|
||||
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
// FILE: annotations.kt
|
||||
@Target(AnnotationTarget.CLASS)
|
||||
public annotation class ClassAnn
|
||||
|
||||
@Target(AnnotationTarget.FILE)
|
||||
public annotation class FileAnn
|
||||
|
||||
// FILE: 1.kt
|
||||
@file:ClassAnn
|
||||
|
||||
// FILE: 2.kt
|
||||
@file:FileAnn
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: annotations.kt
|
||||
@Target(AnnotationTarget.CLASS)
|
||||
public annotation class ClassAnn
|
||||
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
annotation class Ann
|
||||
|
||||
class CustomDelegate {
|
||||
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
||||
}
|
||||
|
||||
@get:Ann
|
||||
class SomeClass {
|
||||
|
||||
@get:Ann
|
||||
constructor()
|
||||
|
||||
@get:Ann
|
||||
protected val simpleProperty: String = "text"
|
||||
|
||||
@get:Ann
|
||||
protected var mutableProperty: String = "text"
|
||||
|
||||
@get:[Ann]
|
||||
protected val simplePropertyWithAnnotationList: String = "text"
|
||||
|
||||
@get:Ann
|
||||
protected val delegatedProperty: String by CustomDelegate()
|
||||
|
||||
@get:Ann
|
||||
val propertyWithCustomGetter: Int
|
||||
get() = 5
|
||||
|
||||
@get:Ann
|
||||
fun annotationOnFunction(a: Int) = a + 5
|
||||
|
||||
fun anotherFun() {
|
||||
@get:Ann
|
||||
val localVariable = 5
|
||||
}
|
||||
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
annotation class Ann
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
annotation class Ann
|
||||
annotation class Second
|
||||
|
||||
@param:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:Ann<!>
|
||||
class SomeClass {
|
||||
|
||||
@param:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:Ann<!>
|
||||
constructor(@param:Ann a: String)
|
||||
|
||||
@param:Ann
|
||||
|
||||
Vendored
-39
@@ -1,39 +0,0 @@
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
annotation class Ann
|
||||
annotation class Second
|
||||
|
||||
class CustomDelegate {
|
||||
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
|
||||
}
|
||||
|
||||
@property:Ann
|
||||
class SomeClass {
|
||||
|
||||
@property:Ann
|
||||
constructor(s: String)
|
||||
|
||||
@property:Ann
|
||||
protected val p1: String = ""
|
||||
|
||||
@property:[Ann Second]
|
||||
protected val p2: String = ""
|
||||
|
||||
@property:Ann
|
||||
protected var p3: String = ""
|
||||
|
||||
@property:Ann
|
||||
protected val p4: String by CustomDelegate()
|
||||
|
||||
@property:Ann
|
||||
var propertyWithCustomSetter: Int
|
||||
get() = 5
|
||||
set(v) {}
|
||||
|
||||
@property:Ann
|
||||
fun anotherFun() {
|
||||
@property:Ann
|
||||
val localVariable = 5
|
||||
}
|
||||
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
annotation class Ann
|
||||
|
||||
Vendored
+2
-2
@@ -1,9 +1,9 @@
|
||||
annotation class Ann
|
||||
|
||||
@receiver:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@receiver:Ann<!>
|
||||
class SomeClass {
|
||||
|
||||
@receiver:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@receiver:Ann<!>
|
||||
constructor(@receiver:Ann a: String)
|
||||
|
||||
@receiver:Ann
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ class CustomDelegate {
|
||||
operator fun setValue(thisRef: Any?, prop: KProperty<*>, value: String) {}
|
||||
}
|
||||
|
||||
@set:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@set:Ann<!>
|
||||
class SomeClass {
|
||||
|
||||
@set:Ann
|
||||
@@ -27,7 +27,7 @@ class SomeClass {
|
||||
get() = 5
|
||||
set(v) {}
|
||||
|
||||
@set:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@set:Ann<!>
|
||||
fun annotationOnFunction(a: Int) = a + 5
|
||||
|
||||
fun anotherFun() {
|
||||
|
||||
+2
-2
@@ -7,10 +7,10 @@ class CustomDelegate {
|
||||
operator fun setValue(thisRef: Any?, prop: KProperty<*>, value: String) {}
|
||||
}
|
||||
|
||||
@setparam:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@setparam:Ann<!>
|
||||
class SomeClass {
|
||||
|
||||
@setparam:Ann
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@setparam:Ann<!>
|
||||
constructor()
|
||||
|
||||
@setparam:Ann
|
||||
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package bar
|
||||
|
||||
<!MUST_BE_INITIALIZED!>@file:foo
|
||||
<!MUST_BE_INITIALIZED!><!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file:foo<!>
|
||||
val prop<!>
|
||||
|
||||
@file:[bar baz]
|
||||
@file:[<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>bar<!> <!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>baz<!>]
|
||||
fun func() {}
|
||||
|
||||
@file:[baz]
|
||||
@file:[<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>baz<!>]
|
||||
class C
|
||||
|
||||
<!SYNTAX!>@file:<!>
|
||||
|
||||
Vendored
+2
-2
@@ -1,6 +1,6 @@
|
||||
@file:foo
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file:foo<!>
|
||||
@foo @bar
|
||||
@file:[baz]
|
||||
@file:[<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>baz<!>]
|
||||
fun test() {}
|
||||
|
||||
annotation class foo
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
@file:foo
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file:foo<!>
|
||||
@foo @bar
|
||||
@file: baz
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file: baz<!>
|
||||
fun test() {}
|
||||
|
||||
annotation class foo
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// !LANGUAGE: +RestrictionOfWrongAnnotationsWithUseSiteTargetsOnTypes
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun test1(@file<!SYNTAX!><!> Suppress("") x: Int) {}
|
||||
fun test1(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file<!SYNTAX!><!> Suppress("")<!> x: Int) {}
|
||||
|
||||
@file <!SYNTAX!>@<!>Suppress("")
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file <!SYNTAX!>@<!>Suppress("")<!>
|
||||
fun test2() {}
|
||||
|
||||
class OnType(x: @file<!SYNTAX!><!> Suppress("") Int)
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// !LANGUAGE: -RestrictionOfWrongAnnotationsWithUseSiteTargetsOnTypes
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun test1(@file<!SYNTAX!><!> Suppress("") x: Int) {}
|
||||
fun test1(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file<!SYNTAX!><!> Suppress("")<!> x: Int) {}
|
||||
|
||||
@file <!SYNTAX!>@<!>Suppress("")
|
||||
<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@file <!SYNTAX!>@<!>Suppress("")<!>
|
||||
fun test2() {}
|
||||
|
||||
class OnType(x: @file<!SYNTAX!><!> Suppress("") Int)
|
||||
|
||||
+2
-2
@@ -45,12 +45,12 @@ annotation class fieldOrPropAnn
|
||||
@Target(AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.VALUE_PARAMETER)
|
||||
annotation class getSetAndParamAnn
|
||||
|
||||
public class B(@param:fieldOrPropAnn @fieldOrPropAnn val x: Int,
|
||||
public class B(<!WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET!>@param:fieldOrPropAnn<!> @fieldOrPropAnn val x: Int,
|
||||
@property:fieldOrPropAnn @fieldOrPropAnn val y: Int) {
|
||||
@fieldOrPropAnn @field:fieldOrPropAnn
|
||||
val z: Int = 42
|
||||
|
||||
@getSetAndParamAnn
|
||||
<!WRONG_ANNOTATION_TARGET!>@getSetAndParamAnn<!>
|
||||
@setparam:getSetAndParamAnn
|
||||
var w: Int
|
||||
@getSetAndParamAnn @get:getSetAndParamAnn get() = 0
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@ fun foo(block: (A) -> Unit) { }
|
||||
annotation class Ann
|
||||
|
||||
fun bar() {
|
||||
foo { (private inline a, @Ann b) ->
|
||||
foo { (private inline a, <!WRONG_ANNOTATION_TARGET!>@Ann<!> b) ->
|
||||
a checkType { _<Int>() }
|
||||
b checkType { _<String>() }
|
||||
}
|
||||
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
// WITH_RUNTIME
|
||||
import kotlin.annotation.AnnotationTarget.*
|
||||
|
||||
annotation class NoTarget
|
||||
|
||||
@Target(CLASS)
|
||||
annotation class IrrelevantTarget
|
||||
|
||||
@Target(TYPEALIAS)
|
||||
annotation class TypealiasTarget
|
||||
|
||||
@NoTarget
|
||||
@IrrelevantTarget
|
||||
@TypealiasTarget
|
||||
typealias Test = String
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// WITH_RUNTIME
|
||||
import kotlin.annotation.AnnotationTarget.*
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
|
||||
Vendored
+8
-8
@@ -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
|
||||
}
|
||||
|
||||
|
||||
+1
-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() {}
|
||||
|
||||
Vendored
+3
-3
@@ -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) {}
|
||||
}
|
||||
|
||||
Vendored
+10
-10
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Vendored
+10
-10
@@ -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
|
||||
}
|
||||
|
||||
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
class A {
|
||||
@JvmStatic constructor() {}
|
||||
inner class B {
|
||||
@JvmStatic constructor() {}
|
||||
}
|
||||
}
|
||||
|
||||
class C @JvmStatic constructor()
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
class A {
|
||||
<!WRONG_ANNOTATION_TARGET!>@JvmStatic<!> constructor() {}
|
||||
inner class B {
|
||||
|
||||
compiler/testData/diagnostics/testsWithStdLib/trailingComma/typeParametersWithDisabledFeature.fir.kt
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_TYPEALIAS_PARAMETER
|
||||
// !LANGUAGE: -TrailingCommas
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
@Target(AnnotationTarget.TYPE, AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class Anno
|
||||
|
||||
class Foo1<T1,>
|
||||
|
||||
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_TYPEALIAS_PARAMETER
|
||||
// !LANGUAGE: -TrailingCommas
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
@Target(AnnotationTarget.TYPE, AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class Anno
|
||||
|
||||
class Foo1<T1<!UNSUPPORTED_FEATURE!>,<!>>
|
||||
|
||||
Vendored
+1
-1
@@ -19,7 +19,7 @@ public interface A1</*0*/ T> {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Anno : kotlin.Annotation {
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE, AnnotationTarget.TYPE_PARAMETER}) public final annotation class Anno : kotlin.Annotation {
|
||||
public constructor Anno()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_TYPEALIAS_PARAMETER
|
||||
// !LANGUAGE: +TrailingCommas
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
@Target(AnnotationTarget.TYPE, AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class Anno
|
||||
|
||||
class Foo1<T1,>
|
||||
|
||||
Vendored
+1
-1
@@ -20,7 +20,7 @@ public interface A1</*0*/ T> {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Anno : kotlin.Annotation {
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE, AnnotationTarget.TYPE_PARAMETER}) public final annotation class Anno : kotlin.Annotation {
|
||||
public constructor Anno()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
Reference in New Issue
Block a user