IHqlExpression * addMemberSelector(IHqlExpression * expr, IHqlExpression * selector) { if (!expr) return NULL; if (expr->getOperator() == no_variable) return createValue(no_pselect, expr->getType(), LINK(selector), LINK(expr)); if (expr->numChildren() == 0) return LINK(expr); HqlExprArray args; ForEachChild(i, expr) args.append(*addMemberSelector(expr->queryChild(i), selector)); return expr->clone(args); }
void LogicalGraphCreator::createRootGraphActivity(IHqlExpression * expr) { switch (expr->getOperator()) { case no_comma: case no_compound: case no_sortlist: { ForEachChild(i, expr) createRootGraphActivity(expr->queryChild(i)); return; } default: beginSubGraph(NULL, false); createGraphActivity(expr); endSubGraph(false); } }
void DataSourceMetaData::gatherChildFields(IHqlExpression * expr, bool isConditional) { bitsRemaining = 0; ForEachChild(idx, expr) gatherFields(expr->queryChild(idx), isConditional); }