import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNullByDefault; import org.jetbrains.annotations.Nullable; import java.io.File; import java.io.FilenameFilter; class B { public void f(@NotNull String p){} @NotNull public String nn(@Nullable String param) { return ""; } } class Y extends B { @NotNull @Nullable String s; public void f(String p){} public String nn(@NotNull String param) { return ""; } void p(@NotNull @Nullable String p2){} @Nullable int f; @NotNull void vf(){} void t(@NotNull double d){} } @NotNullByDefault class UnionTypeArgumentWithUseSite { interface Super { void t(T t); void t2(@Nullable T t); } interface Sub extends Super { @Override void t(Object t); @Override void t2(Object t); } } class MyFile extends File { public MyFile(@NotNull String pathname) { super(pathname); } // Test external annotations @Override public String @NotNull [] list(@NotNull FilenameFilter filter) { return super.list(filter); } }