public Expression visit()

in asterix-graphix/src/main/java/org/apache/asterix/graphix/lang/rewrite/visitor/ElementBodyAnalysisVisitor.java [191:217]


    public Expression visit(SelectBlock selectBlock, ILangExpression arg) throws CompilationException {
        if (selectBlock.hasGroupbyClause() || selectBlock.hasLetHavingClausesAfterGroupby()) {
            elementBodyAnalysisContext.isExpressionInline = false;
            return null;
        }
        if (selectBlock.hasFromClause()) {
            selectBlock.getFromClause().accept(this, arg);
        }
        if (selectBlock.hasLetWhereClauses()) {
            selectBlock.getLetWhereList().forEach(c -> {
                if (c.getClauseType() == Clause.ClauseType.LET_CLAUSE) {
                    if (elementBodyAnalysisContext.letClauses == null) {
                        elementBodyAnalysisContext.letClauses = new ArrayList<>();
                    }
                    elementBodyAnalysisContext.letClauses.add((LetClause) c);

                } else { //c.getClauseType() == Clause.ClauseType.WHERE_CLAUSE
                    if (elementBodyAnalysisContext.whereClauses == null) {
                        elementBodyAnalysisContext.whereClauses = new ArrayList<>();
                    }
                    elementBodyAnalysisContext.whereClauses.add((WhereClause) c);
                }
            });
        }
        selectBlock.getSelectClause().accept(this, arg);
        return null;
    }