Class is an annotation iff it is annotated by kotlin.annotation.annotation, or is kotlin.annotation.annotation itself.
JetClassOrObject.isAnnotation() is no more in use during resolve. Additional test.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
// FILE: a.kt
|
||||
|
||||
<!NOT_AN_ANNOTATION_CLASS!>annotation<!> class annotation
|
||||
|
||||
// FILE: test/b.kt
|
||||
|
||||
package test
|
||||
|
||||
<!NOT_AN_ANNOTATION_CLASS!>test.annotation<!> class annotation
|
||||
|
||||
kotlin.annotation.annotation class realAnnotation
|
||||
|
||||
realAnnotation class My
|
||||
|
||||
// FILE: other/c.kt
|
||||
|
||||
package other
|
||||
|
||||
annotation class My
|
||||
|
||||
<!NOT_AN_ANNOTATION_CLASS!>test.annotation<!> class Your
|
||||
|
||||
kotlin.annotation.annotation class His
|
||||
|
||||
My class Our
|
||||
@@ -0,0 +1,63 @@
|
||||
package
|
||||
|
||||
annotation() internal final class annotation {
|
||||
public constructor annotation()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
package other {
|
||||
|
||||
kotlin.annotation.annotation() internal final class His : kotlin.Annotation {
|
||||
public constructor His()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
kotlin.annotation.annotation() internal final class My : kotlin.Annotation {
|
||||
public constructor My()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
other.My() internal final class Our {
|
||||
public constructor Our()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
test.annotation() internal final class Your {
|
||||
public constructor Your()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
package test {
|
||||
|
||||
test.realAnnotation() internal final class My {
|
||||
public constructor My()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
test.annotation() internal final class annotation {
|
||||
public constructor annotation()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
kotlin.annotation.annotation() internal final class realAnnotation : kotlin.Annotation {
|
||||
public constructor realAnnotation()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
@@ -4,14 +4,13 @@ enum class Target {
|
||||
FUNCTION
|
||||
}
|
||||
|
||||
target(Target.CLASSIFIER)
|
||||
public annotation class target(vararg val allowedTargets: Target)
|
||||
<!NOT_AN_ANNOTATION_CLASS!>target(Target.CLASSIFIER)<!>
|
||||
public <!NOT_AN_ANNOTATION_CLASS!>annotation<!> class target(vararg val allowedTargets: Target)
|
||||
|
||||
target(Target.CLASSIFIER)
|
||||
public annotation(AnnotationRetention.SOURCE) class annotation(
|
||||
<!NOT_AN_ANNOTATION_CLASS!>target(Target.CLASSIFIER)<!>
|
||||
public <!NOT_AN_ANNOTATION_CLASS!>annotation(AnnotationRetention.SOURCE)<!> class annotation(
|
||||
val retention: AnnotationRetention = AnnotationRetention.RUNTIME,
|
||||
val repeatable: Boolean = false
|
||||
)
|
||||
|
||||
annotation class some
|
||||
|
||||
<!NOT_AN_ANNOTATION_CLASS!>annotation<!> class some
|
||||
@@ -34,7 +34,7 @@ internal final enum class Target : kotlin.Enum<Target> {
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<Target>
|
||||
}
|
||||
|
||||
target(allowedTargets = {Target.CLASSIFIER}) annotation(retention = AnnotationRetention.SOURCE) public final class annotation : kotlin.Annotation {
|
||||
target(allowedTargets = {Target.CLASSIFIER}) annotation(retention = AnnotationRetention.SOURCE) public final class annotation {
|
||||
public constructor annotation(/*0*/ retention: kotlin.annotation.AnnotationRetention = ..., /*1*/ repeatable: kotlin.Boolean = ...)
|
||||
internal final val repeatable: kotlin.Boolean
|
||||
internal final val retention: kotlin.annotation.AnnotationRetention
|
||||
@@ -43,14 +43,14 @@ target(allowedTargets = {Target.CLASSIFIER}) annotation(retention = AnnotationRe
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
annotation() internal final class some : kotlin.Annotation {
|
||||
annotation() internal final class some {
|
||||
public constructor some()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
target(allowedTargets = {Target.CLASSIFIER}) annotation() public final class target : kotlin.Annotation {
|
||||
target(allowedTargets = {Target.CLASSIFIER}) annotation() public final class target {
|
||||
public constructor target(/*0*/ vararg allowedTargets: Target /*kotlin.Array<out Target>*/)
|
||||
internal final val allowedTargets: kotlin.Array<out Target>
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
Reference in New Issue
Block a user