mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ObviousNullCheckInspection: ignore null literals
This commit is contained in:
@@ -67,9 +67,9 @@ public class ObviousNullCheckInspection extends BaseJavaBatchLocalInspectionTool
|
||||
|
||||
@Nullable
|
||||
private static String getObviouslyNonNullExplanation(PsiExpression arg) {
|
||||
if (arg == null) return null;
|
||||
if (arg == null || ExpressionUtils.isNullLiteral(arg)) return null;
|
||||
if (arg instanceof PsiNewExpression) return "newly created object";
|
||||
if (arg instanceof PsiLiteralExpression && !ExpressionUtils.isNullLiteral(arg)) return "literal";
|
||||
if (arg instanceof PsiLiteralExpression) return "literal";
|
||||
if (arg.getType() instanceof PsiPrimitiveType) return "a value of primitive type";
|
||||
if (arg instanceof PsiPolyadicExpression && ((PsiPolyadicExpression)arg).getOperationTokenType() == JavaTokenType.PLUS) {
|
||||
return "concatenation";
|
||||
|
||||
@@ -9,6 +9,7 @@ abstract class ObviousNullCheck {
|
||||
void test() {
|
||||
assertNotNull(<warning descr="Useless null-check: a value of primitive type is never null">5 + 6</warning>);
|
||||
|
||||
Objects.requireNonNull(null);
|
||||
Objects.requireNonNull(<warning descr="Useless null-check: literal is never null">"xyz"</warning>, "xyz");
|
||||
Objects.requireNonNull((<warning descr="Useless null-check: concatenation is never null">getFoo() + getBar()</warning>));
|
||||
Objects.requireNonNull(<warning descr="Useless null-check: newly created object is never null">new ArrayList()</warning>, () -> "new returned null");
|
||||
|
||||
Reference in New Issue
Block a user