mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-163678 "Passing non-null argument to 'Optional'" warning expected
This commit is contained in:
+3
-2
@@ -1252,7 +1252,8 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
PsiExpression[] expressions = expression.getArgumentList().getExpressions();
|
||||
PsiElement method = methodExpression.resolve();
|
||||
JavaResolveResult result = methodExpression.advancedResolve(false);
|
||||
PsiElement method = result.getElement();
|
||||
PsiParameter[] parameters = method instanceof PsiMethod ? ((PsiMethod)method).getParameterList().getParameters() : null;
|
||||
boolean isEqualsCall = expressions.length == 1 && method instanceof PsiMethod &&
|
||||
"equals".equals(((PsiMethod)method).getName()) && parameters.length == 1 &&
|
||||
@@ -1263,7 +1264,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
PsiExpression paramExpr = expressions[i];
|
||||
paramExpr.accept(this);
|
||||
if (parameters != null && i < parameters.length) {
|
||||
generateBoxingUnboxingInstructionFor(paramExpr, parameters[i].getType());
|
||||
generateBoxingUnboxingInstructionFor(paramExpr, result.getSubstitutor().substitute(parameters[i].getType()));
|
||||
}
|
||||
if (i == 0 && isEqualsCall) {
|
||||
// stack: .., qualifier, arg1
|
||||
|
||||
@@ -20,5 +20,11 @@ class Test {
|
||||
return Optional.ofNullable(<warning descr="Passing 'null' argument to 'Optional'">null</warning>);
|
||||
}
|
||||
|
||||
long field;
|
||||
|
||||
Optional<Long> getName4() {
|
||||
return Optional.ofNullable(<warning descr="Passing a non-null argument to 'Optional'">field</warning>);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user