Files
openide/java/java-tests/testData/codeInsight/overrideImplement/nullability/afterUnspecifiedSuperNullMarkedSubclassArray.java
Marcin Mikosik afdcd299a3 IDEA-381552 [java]: Override method: do not add redundant @NonNull under @NullMarked
Merge-request: IJ-MR-190042
Merged-by: Marcin Mikosik <marcin.mikosik@jetbrains.com>

GitOrigin-RevId: 2e35a6c573d175a66b09cf8894954f0f90b7b61f
2026-02-12 14:53:59 +00:00

72 lines
1.7 KiB
Java

import org.jspecify.annotations.NonNull;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
interface Super {
String[] test1(String[] param);
String @NonNull [] test2(String @NonNull [] param);
String @Nullable [] test3(String @Nullable [] param);
@NonNull String[] test4(@NonNull String[] param);
@NonNull String @NonNull [] test5(@NonNull String @NonNull [] param);
@NonNull String @Nullable [] test6(@NonNull String @Nullable [] param);
@Nullable String[] test7(@Nullable String[] param);
@Nullable String @NonNull [] test8(@Nullable String @NonNull [] param);
@Nullable String @Nullable [] test9(@Nullable String @Nullable [] param);
}
@NullMarked
public class SubClass implements Super {
@Override
public String[] test1(String[] param) {
return new String[0];
}
@Override
public String[] test2(String[] param) {
return new String[0];
}
@Override
public String @Nullable [] test3(String @Nullable [] param) {
return new String[0];
}
@Override
public String[] test4(String[] param) {
return new String[0];
}
@Override
public String[] test5(String[] param) {
return new String[0];
}
@Override
public String @Nullable [] test6(String @Nullable [] param) {
return new String[0];
}
@Override
public @Nullable String[] test7(@Nullable String[] param) {
return new String[0];
}
@Override
public @Nullable String[] test8(@Nullable String[] param) {
return new String[0];
}
@Override
public @Nullable String @Nullable [] test9(@Nullable String @Nullable [] param) {
return new String[0];
}
}