@Override public Expression visit(ArithmeticFactor expression) { if (expression.getExpression() instanceof ArithmeticFactor) { ArithmeticFactor subFactor = (ArithmeticFactor) expression.getExpression(); boolean invert = expression.isInvertSignum(); boolean subInvert = subFactor.isInvertSignum(); if (invert && subInvert) { subFactor.setInvertSignum(false); } else if (invert && !subInvert) { subFactor.setInvertSignum(true); } return subFactor.accept(this); } else if (expression.getExpression() instanceof NumericLiteral && !expression.isInvertSignum()) { return expression.getExpression(); } else { expression.setExpression(expression.getExpression().accept(this)); return expression; } }
@Override public Expression visit(ArithmeticFactor expression) { Expression newExpr = expression.getExpression().accept(this); if (newExpr != expression.getExpression()) { return new ArithmeticFactor(newExpr, expression.isInvertSignum()); } return expression; }
@Override public Expression visit(ArithmeticFactor expression) { expression.setExpression(expression.getExpression().accept(this)); return expression; }
@Override public Expression get() { return target.getExpression(); }
@Override public void visit(ArithmeticFactor expression) { ParameterRenderingMode oldParameterRenderingMode = setParameterRenderingMode(ParameterRenderingMode.PLACEHOLDER); if (expression.isInvertSignum()) { sb.append('-'); } expression.getExpression().accept(this); setParameterRenderingMode(oldParameterRenderingMode); }
@Override public Expression clone(boolean resolved) { return new ArithmeticFactor(expression.clone(resolved), invertSignum); }
@Override public void set(Expression expression) { target.setExpression(expression); }
@Override public void visit(ArithmeticFactor expression) { if (expression.getNumericType() != null) { currentPosition.setCurrentType(metamodel.type(expression.getNumericType().getJavaType())); } }
@Override public Expression get() { return target.getExpression(); }
@Override public Expression visit(ArithmeticFactor expression) { expression.setExpression(expression.getExpression().accept(this)); return expression; }
@Override public void visit(ArithmeticFactor expression) { ParameterRenderingMode oldParameterRenderingMode = setParameterRenderingMode(ParameterRenderingMode.PLACEHOLDER); if (expression.isInvertSignum()) { sb.append('-'); } expression.getExpression().accept(this); setParameterRenderingMode(oldParameterRenderingMode); }
@Override public Expression clone(boolean resolved) { return new ArithmeticFactor(expression.clone(resolved), invertSignum); }
@Override public void set(Expression expression) { target.setExpression(expression); }
@Override public Expression visit(ArithmeticFactor expression) { if (expression.getExpression() instanceof ArithmeticFactor) { ArithmeticFactor subFactor = (ArithmeticFactor) expression.getExpression(); boolean invert = expression.isInvertSignum(); boolean subInvert = subFactor.isInvertSignum(); if (invert && subInvert) { subFactor.setInvertSignum(false); } else if (invert && !subInvert) { subFactor.setInvertSignum(true); } return subFactor.accept(this); } else if (expression.getExpression() instanceof NumericLiteral && !expression.isInvertSignum()) { return expression.getExpression(); } else { expression.setExpression(expression.getExpression().accept(this)); return expression; } }
@Override public void visit(ArithmeticFactor expression) { expression.getExpression().accept(this); }
@Override public Expression visit(ArithmeticFactor expression) { Expression newExpr = expression.getExpression().accept(this); if (newExpr != expression.getExpression()) { return new ArithmeticFactor(newExpr, expression.isInvertSignum()); } return expression; }
@Override public Expression visitArithmetic_factor(JPQLSelectExpressionParser.Arithmetic_factorContext ctx) { if (ctx.signum != null) { Expression expression = ctx.arithmetic_primary().accept(this); boolean invertSignum = "-".equals(ctx.signum.getText()); return new ArithmeticFactor(expression, invertSignum); } else { return ctx.arithmetic_primary().accept(this); } }
@Override public Boolean visit(ArithmeticFactor expression) { return expression.getExpression().accept(this); }
@Override public Expression visitArithmetic_factor(JPQLSelectExpressionParser.Arithmetic_factorContext ctx) { if (ctx.signum != null) { Expression expression = ctx.arithmetic_primary().accept(this); boolean invertSignum = "-".equals(ctx.signum.getText()); return new ArithmeticFactor(expression, invertSignum); } else { return ctx.arithmetic_primary().accept(this); } }
@Override public Boolean visit(ArithmeticFactor expression) { return expression.getExpression().accept(this); }