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:
Mikhail Glukhikh
2015-07-28 18:20:19 +03:00
parent d71217eb5c
commit a072550931
12 changed files with 151 additions and 39 deletions
@@ -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