add a hardcoded contract for Objects.requireNonNull

This commit is contained in:
peter
2014-09-16 13:50:44 +02:00
parent 1255df72f2
commit a466800fd4
@@ -15,7 +15,10 @@
*/
package com.intellij.codeInspection.dataFlow;
import com.intellij.psi.*;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiMethodCallExpression;
import com.siyeh.ig.psiutils.ExpressionUtils;
import org.jetbrains.annotations.NotNull;
@@ -49,6 +52,13 @@ class HardcodedContracts {
return Collections.singletonList(new MethodContract(constraints, THROW_EXCEPTION));
}
}
else if ("java.util.Objects".equals(className)) {
if ("requireNonNull".equals(methodName) && paramCount > 0) {
MethodContract.ValueConstraint[] constraints = createConstraintArray(paramCount);
constraints[0] = NULL_VALUE;
return Collections.singletonList(new MethodContract(constraints, THROW_EXCEPTION));
}
}
else if ("junit.framework.Assert".equals(className) ||
"org.junit.Assert".equals(className) ||
"junit.framework.TestCase".equals(className) ||