void (@NotNull PsiMethodCallExpression expression) { final PsiMethod method = expression.resolveMethod(); if (method == null) { return; } List<StandardMethodContract> contracts = JavaMethodContractUtil.getMethodContracts(method); ContractReturnValue contractValue = JavaMethodContractUtil.getNonFailingReturnValue(contracts); if (ContractReturnValue.returnNew().equals(contractValue)) { if (!isInsideEqualsOrHashCode(expression)) { return; } registerMethodCallError(expression, expression); } else if (method.isVarArgs()) { if (!isInsideEqualsOrHashCode(expression)) { return; } registerMethodCallError(expression, expression, "varargs call"); } else { if (!"valueOf".equals(method.getName())) { return; } final PsiExpression[] expressions = expression.getArgumentList().getExpressions(); if (expressions.length != 1) { return; } final PsiClass aClass = method.getContainingClass(); if (aClass == null) { return; } final String qualifiedName = aClass.getQualifiedName(); if (CommonClassNames.JAVA_LANG_SHORT.equals(qualifiedName) || CommonClassNames.JAVA_LANG_INTEGER.equals(qualifiedName) || CommonClassNames.JAVA_LANG_LONG.equals(qualifiedName) || CommonClassNames.JAVA_LANG_CHARACTER.equals(qualifiedName)) { if (isAutoBoxingFromCache(expressions[0]) || !isInsideEqualsOrHashCode(expression)) { return; } registerError(expression, expression); } } }