2139914061
Annotation arguments that are resolved in COMPILER_REQUIRED_ANNOTATIONS phase are resolved again in ANNOTATION_ARGUMENTS phase. If they resolve to a different symbol, report an error. KT-56177
44 lines
1.0 KiB
Kotlin
Vendored
44 lines
1.0 KiB
Kotlin
Vendored
import kotlin.annotation.AnnotationTarget.FIELD
|
|
|
|
object Some {
|
|
@Target(<!ARGUMENT_TYPE_MISMATCH!>AnnotationTarget.<!AMBIGUOUS_ANNOTATION_ARGUMENT!>CLASS<!><!>)
|
|
annotation class Ann
|
|
|
|
enum class AnnotationTarget {
|
|
CLASS
|
|
}
|
|
|
|
@Target(<!AMBIGUOUS_ANNOTATION_ARGUMENT!>FIELD<!>)
|
|
annotation class Ann2
|
|
|
|
const val FIELD = ""
|
|
}
|
|
|
|
object SomeMore {
|
|
@Target(<!ARGUMENT_TYPE_MISMATCH!>kotlin.annotation.AnnotationTarget.<!AMBIGUOUS_ANNOTATION_ARGUMENT!>FUNCTION<!><!>)
|
|
annotation class Ann3
|
|
|
|
object kotlin {
|
|
object annotation {
|
|
enum class AnnotationTarget {
|
|
FUNCTION
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
abstract class Base {
|
|
annotation class Target(val target: AnnotationTarget)
|
|
|
|
enum class AnnotationTarget {
|
|
TYPE
|
|
}
|
|
}
|
|
|
|
class Derived : Base() {
|
|
@<!PLUGIN_ANNOTATION_AMBIGUITY!>Target<!>(<!ARGUMENT_TYPE_MISMATCH!>AnnotationTarget.<!AMBIGUOUS_ANNOTATION_ARGUMENT!>TYPE<!><!>)
|
|
annotation class Ann
|
|
|
|
fun foo(x: <!WRONG_ANNOTATION_TARGET!>@Ann<!> String) {}
|
|
}
|