Annotation target checking in front-end, a set of tests for different annotation targets, existing test fixes
No checks for erroneous annotations. Additional checks for identifiers.
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
package dependency
|
||||
|
||||
target(AnnotationTarget.CLASSIFIER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY,
|
||||
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class A(val s: String)
|
||||
|
||||
target(AnnotationTarget.CLASSIFIER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY,
|
||||
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
|
||||
annotation class B(val i: Int)
|
||||
|
||||
target(AnnotationTarget.CLASSIFIER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY,
|
||||
AnnotationTarget.VALUE_PARAMETER)
|
||||
annotation class C
|
||||
|
||||
@@ -25,8 +25,13 @@ a public class Annotations private @a constructor(private @a val c1: Int, @a val
|
||||
fun types(param: @a @b(E.E1) DoubleRange): @a @b(E.E2) Unit {}
|
||||
}
|
||||
|
||||
target(AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FUNCTION,
|
||||
AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER,
|
||||
AnnotationTarget.TYPE, AnnotationTarget.CLASSIFIER)
|
||||
annotation class a
|
||||
|
||||
annotation class b(val e: E)
|
||||
target(AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.CLASSIFIER,
|
||||
AnnotationTarget.CONSTRUCTOR, AnnotationTarget.TYPE)
|
||||
annotation(repeatable = false) class b(val e: E)
|
||||
|
||||
enum class E { E1 E2 }
|
||||
Reference in New Issue
Block a user