mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-25 14:25:04 +07:00
IDEA-96664 (highlighting of Java 8 repeating annotations)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import java.lang.annotation.*;
|
||||
import java.util.*;
|
||||
import static java.lang.annotation.ElementType.*;
|
||||
|
||||
@interface AA1 { }
|
||||
@Repeatable(<error descr="Invalid containing annotation 'AA1': no 'value' method declared">AA1.class</error>) @interface A1 { }
|
||||
|
||||
@interface AA2 { String[] value(); }
|
||||
@Repeatable(<error descr="Invalid containing annotation 'AA2': 'value' method should have type 'A2[]'">AA2.class</error>) @interface A2 { }
|
||||
|
||||
@interface AA3 { A3[] value(); }
|
||||
@Repeatable(<error descr="Containing annotation 'AA3' has shorter retention ('CLASS') than the contained annotation">AA3.class</error>)
|
||||
@Retention(RetentionPolicy.RUNTIME) @interface A3 { }
|
||||
|
||||
@interface A4 { }
|
||||
@<error descr="Duplicate annotation. The declaration of 'A4' does not have a valid java.lang.annotation.Repeatable annotation">A4</error>
|
||||
@<error descr="Duplicate annotation. The declaration of 'A4' does not have a valid java.lang.annotation.Repeatable annotation">A4</error>
|
||||
class C4 { }
|
||||
@A4 class C4bis { }
|
||||
|
||||
@<error descr="Duplicate annotation. Invalid containing annotation 'AA1': no 'value' method declared">A1</error>
|
||||
@<error descr="Duplicate annotation. Invalid containing annotation 'AA1': no 'value' method declared">A1</error>
|
||||
class C5 { }
|
||||
@A1 class C5bis { }
|
||||
|
||||
@interface AA6 { A6[] value() default { }; }
|
||||
@Repeatable(AA6.class) @interface A6 { }
|
||||
@A6 @A6 <error descr="Containing annotation 'AA6' must not be present at the same time as the element it contains">@AA6</error> class C6 { }
|
||||
@A6 @A6 class C6bis1 { }
|
||||
@A6 @AA6 class C6bis2 { }
|
||||
|
||||
@Target({TYPE_USE}) @interface TA { }
|
||||
class DupTypeAnno {
|
||||
List<@<error descr="Duplicate annotation. The declaration of 'TA' does not have a valid java.lang.annotation.Repeatable annotation">TA</error> @<error descr="Duplicate annotation. The declaration of 'TA' does not have a valid java.lang.annotation.Repeatable annotation">TA</error> String> l = null;
|
||||
Boolean[] b = new Boolean @<error descr="Duplicate annotation. The declaration of 'TA' does not have a valid java.lang.annotation.Repeatable annotation">TA</error> @<error descr="Duplicate annotation. The declaration of 'TA' does not have a valid java.lang.annotation.Repeatable annotation">TA</error> [42];
|
||||
}
|
||||
-3
@@ -105,7 +105,6 @@ class Outer {
|
||||
@TA String @TA [] @TA [] docs1 = new @TA String @TA [2] @TA [2];
|
||||
@TA int @TA [] ints = new @TA int @TA [2];
|
||||
new Boolean @TA [2] <error descr="Annotations are not allowed here">@TA</error>;
|
||||
new Boolean @<error descr="Duplicate annotation">TA</error> @<error descr="Duplicate annotation">TA</error> [42];
|
||||
}
|
||||
|
||||
int @TA [] mixedArrays() @TA [] <error descr="Annotations are not allowed here">@TA</error> { return new int[0][0]; }
|
||||
@@ -140,6 +139,4 @@ class Outer {
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
List<@<error descr="Duplicate annotation">TA</error> @<error descr="Duplicate annotation">TA</error> String> c = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user