@Override
    public Expression visitAddition_math_operation(@NotNull SiddhiQLParser.Addition_math_operationContext ctx) {

        Expression expression;
        if (ctx.add != null) {
            expression = Expression.add((Expression) visit(ctx.math_operation(0)),
                    (Expression) visit(ctx.math_operation(1)));
        } else if (ctx.substract != null) {
            expression = Expression.subtract((Expression) visit(ctx.math_operation(0)),
                    (Expression) visit(ctx.math_operation(1)));
        } else {
            throw newSiddhiParserException(ctx);
        }
        populateQueryContext(expression, ctx);
        return expression;
    }
{@inheritDoc}
<p>The default implementation returns the result of calling
{@link #visitChildren} on {@code ctx}.</p>

@param ctx
modules/siddhi-query-compiler/src/main/java/io/siddhi/query/compiler/internal/SiddhiQLBaseVisitorImpl.java