void (@NotNull GrBinaryExpression expression) { super.visitBinaryExpression(expression); if (isFake(expression)) return; final GrExpression rhs = expression.getRightOperand(); if (rhs == null) return; final IElementType sign = expression.getOperationTokenType(); if (!arithmeticTokens.contains(sign)) return; final GrExpression lhs = expression.getLeftOperand(); final boolean isPointless; if (sign.equals(GroovyTokenTypes.mPLUS)) { isPointless = additionExpressionIsPointless(lhs, rhs); } else if (sign.equals(GroovyTokenTypes.mMINUS)) { isPointless = subtractionExpressionIsPointless(rhs); } else if (sign.equals(GroovyTokenTypes.mSTAR)) { isPointless = multiplyExpressionIsPointless(lhs, rhs); } else if (sign.equals(GroovyTokenTypes.mDIV)) { isPointless = divideExpressionIsPointless(rhs); } else { isPointless = false; } if (!isPointless) { return; } registerError(expression); }