blob: 5b3fe6613d4bc0302a0aa69816fd3766bc14d722 [file] [log] [blame]
package annotator.tests;
import static java.lang.annotation.ElementType.TYPE_USE;
import java.lang.annotation.Target;
//@skip-test
@Target({TYPE_USE}) @interface A {}
@Target({TYPE_USE}) @interface B {}
@Target({TYPE_USE}) @interface C {}
@Target({TYPE_USE}) @interface X {}
@Target({TYPE_USE}) @interface Y {}
class BoundZero<U extends @annotator.tests.A @annotator.tests.B @annotator.tests.C Object> {
<T extends @annotator.tests.X @annotator.tests.Y Object> void m1(T o) {}
<T extends @Y @annotator.tests.X Object & Comparable<T>> void m2(T o) {}
<T extends @annotator.tests.Y @annotator.tests.X Object & Comparable<T>> void m3(T o) {}
<T extends java.lang.@annotator.tests.X @annotator.tests.Y Object & Comparable<T>> void m4(T o) {}
<T extends java.lang.@Y @annotator.tests.X Object & Comparable<T>> void m5(T o) {}
<T extends java.lang.@annotator.tests.Y @annotator.tests.X Object & Comparable<T>> void m6(T o) {}
<T extends @annotator.tests.X Object & @annotator.tests.Y Comparable<T>> void m7(T o) {}
<T extends @annotator.tests.X Object & @Y Comparable<T>> void m8(T o) {}
<T extends @annotator.tests.X Object & @annotator.tests.Y Comparable<T>> void m9(T o) {}
class Inner<@X V extends @Y @annotator.tests.A @annotator.tests.B @annotator.tests.C Object> {}
}
class Outer<S extends @annotator.tests.A @annotator.tests.B @annotator.tests.C Object & java.io.Serializable> {
}