Kapt3: Allow annotations with Kotlin-only targets, such as PROPERTY (KT-15697)
This commit is contained in:
committed by
Yan Zhulanow
parent
6ded5939eb
commit
1819194a4c
@@ -1,9 +1,11 @@
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Anno1 {
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Anno2 {
|
||||
|
||||
public abstract int i() default 5;
|
||||
@@ -28,6 +30,7 @@ public abstract @interface Anno2 {
|
||||
////////////////////
|
||||
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Anno3 {
|
||||
|
||||
public abstract java.lang.String value();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package test;
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@Anno(value = "anno-class")
|
||||
public abstract @interface Anno {
|
||||
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Anno1 {
|
||||
|
||||
public abstract java.lang.String value();
|
||||
|
||||
+4
-1
@@ -1,6 +1,9 @@
|
||||
annotation class Anno
|
||||
|
||||
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.CLASS)
|
||||
annotation class Anno2
|
||||
|
||||
class Test {
|
||||
@property:Anno
|
||||
@property:[Anno Anno2]
|
||||
val prop = "A"
|
||||
}
|
||||
@@ -1,13 +1,24 @@
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Anno {
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE})
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.PROPERTY, kotlin.annotation.AnnotationTarget.CLASS})
|
||||
public abstract @interface Anno2 {
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
public final class Test {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String prop = "A";
|
||||
|
||||
@Anno2()
|
||||
@Anno()
|
||||
private static void prop$annotations() {
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package test.another;
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Anno {
|
||||
|
||||
public abstract java.lang.String value();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package test;
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface MyAnnotation {
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user