/** * {@inheritDoc} */ @Override public void visit(NotExpression expression) { // Missing expression if (!expression.hasExpression()) { int startPosition = position(expression) + 3 /* NOT */ + (expression.hasSpaceAfterNot() ? 1 : 0); addProblem(expression, startPosition, NotExpression_MissingExpression); } else { super.visit(expression); } }
/** * {@inheritDoc} */ @Override public void visit(NotExpression expression) { // Missing expression if (!expression.hasExpression()) { int startPosition = position(expression) + 3 /* NOT */ + (expression.hasSpaceAfterNot() ? 1 : 0); addProblem(expression, startPosition, NotExpression_MissingExpression); } else { super.visit(expression); } }
/** * {@inheritDoc} */ @Override public void visit(NotExpression expression) { // Example: "NOT B" can only have compound identifiers like 'NOT BETWEEN' if (expression.hasExpression()) { String variable = visitor.queryContext.literal( expression.getExpression(), LiteralType.IDENTIFICATION_VARIABLE ); if (variable != ExpressionTools.EMPTY_STRING) { appendable = (appendableType == AppendableType.COMPOUNDABLE); } else { boolean oldConditionalExpression = conditionalExpression; conditionalExpression = false; expression.getExpression().accept(this); conditionalExpression = oldConditionalExpression; } } }
/** * {@inheritDoc} */ public void visit(NotExpression expression) { if (badExpression) { if (positionWithinInvalidExpression <= 3 /* NOT */) { queryPosition.setExpression(expression); queryPosition.addPosition(expression, positionWithinInvalidExpression); } } else { if (expression.hasExpression()) { expression.getExpression().accept(this); } if (queryPosition.getExpression() == null) { queryPosition.setExpression(expression); } queryPosition.addPosition(expression, expression.getLength() - correction); } }