Files
openide/java/java-tests/testData/inspection/dataFlow/fixture/DefaultAnnotationForLoopParameter.java
T
Tagir Valeevandintellij-monorepo-bot 76af0c10e6 [java-analysis] DfaPsiUtil: prefer inferred parameter nullability over type nullability
Fixes IDEA-303569 @TypeQualifierDefault + @Nonnull does not work well when it comes to varargs & enhanced for

GitOrigin-RevId: dbfd9e1a6ea1ea275e62f6eccc5b1d1c9170bd27
2023-06-07 10:27:34 +00:00

35 lines
882 B
Java

import javax.annotation.*;
import javax.annotation.meta.*;
import java.lang.annotation.*;
import org.jetbrains.annotations.NotNull;
import typeUse.Nullable;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
import java.lang.annotation.*;
@ObjectUtil.NotNullByDefault
final class ObjectUtil {
@SafeVarargs
public static <T> T[] deepCheckNotNull(@Nullable T @Nullable... varargs) {
if (varargs == null) {
throw new NullPointerException();
}
for (T element : varargs) {
if (element == null) {
throw new NullPointerException();
}
}
return varargs;
}
@Documented
@TypeQualifierDefault({ ElementType.PARAMETER, ElementType.FIELD, ElementType.METHOD, ElementType.TYPE_USE })
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.TYPE)
@Nonnull
public @interface NotNullByDefault {
}
}