@Override
public Boolean visit(GroupbyClause gc, List<FunctionDecl> arg) throws CompilationException {
Pair<Boolean, List<GbyVariableExpressionPair>> p1 = inlineUdfsInGbyPairList(gc.getGbyPairList(), arg);
gc.setGbyPairList(p1.second);
boolean changed = p1.first;
if (gc.hasDecorList()) {
Pair<Boolean, List<GbyVariableExpressionPair>> p2 = inlineUdfsInGbyPairList(gc.getDecorPairList(), arg);
gc.setDecorPairList(p2.second);
changed |= p2.first;
}
if (gc.hasGroupFieldList()) {
Pair<Boolean, List<Pair<Expression, Identifier>>> p3 = inlineUdfsInFieldList(gc.getGroupFieldList(), arg);
gc.setGroupFieldList(p3.second);
changed |= p3.first;
}
if (gc.hasWithMap()) {
Pair<Boolean, Map<Expression, VariableExpr>> p4 = inlineUdfsInVarMap(gc.getWithVarMap(), arg);
gc.setWithVarMap(p4.second);
changed |= p4.first;
}
return changed;
}