| interface Iface2<C, D> {} |
| interface Iface4<T, @org.checkerframework.checker.nullness.qual.NonNull S extends @org.checkerframework.checker.nullness.qual.NonNull @org.checkerframework.checker.nullness.qual.UnknownKeyFor Iface4<T, S>> {} |
| class C1 extends @A Top<@B Object, @C String> implements @D Iface<@E Integer, @F String> {} |
| class C2 implements @A Iface<@B String, @C Object>, @D Iface2<@E Object, @F Float> {} |
| class Iface3 implements annotator.tests.ExtImpl.Iface3 {} |
| * the jaif file says that the simple name of |
| * the return type in JVM format is |
| @java.lang.SuppressWarnings({}) |
| annotator.tests.ExtImpl.C3.Iface3 getI1() { |
| * in this case, the jaif file uses the fully qualified name |
| * Lannotator.tests.ExtImpl.C3.Iface3; |
| @java.lang.SuppressWarnings({}) |
| annotator.tests.ExtImpl.C3.Iface3 getI2() { |
| * the jaif file uses the simple name of the return type |
| @java.lang.SuppressWarnings({}) |
| * in the jaif file, the return type is Iface3 |
| * (ambiguous: could be short for the interface |
| * annotator.tests.ExtImpl.Iface3) |
| @java.lang.SuppressWarnings({}) |