Annotations on type aliases: typealias is not a "default target".

Add diagnostic test for annotations on type aliases.
This commit is contained in:
Dmitry Petrov
2016-10-10 16:02:17 +03:00
parent 344bb03e8c
commit d2d8f72ffc
13 changed files with 62 additions and 10 deletions
@@ -0,0 +1,15 @@
// WITH_RUNTIME
import kotlin.annotation.AnnotationTarget.*
annotation class NoTarget
@Target(CLASS)
annotation class IrrelevantTarget
@Target(TYPEALIAS)
annotation class TypealiasTarget
<!WRONG_ANNOTATION_TARGET!>@NoTarget<!>
<!WRONG_ANNOTATION_TARGET!>@IrrelevantTarget<!>
@TypealiasTarget
typealias Test = String
@@ -0,0 +1,23 @@
package
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) public final annotation class IrrelevantTarget : kotlin.Annotation {
public constructor IrrelevantTarget()
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
}
public final annotation class NoTarget : kotlin.Annotation {
public constructor NoTarget()
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.Target(allowedTargets = {AnnotationTarget.TYPEALIAS}) public final annotation class TypealiasTarget : kotlin.Annotation {
public constructor TypealiasTarget()
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
}
@NoTarget() @IrrelevantTarget() @TypealiasTarget() public typealias Test = kotlin.String