Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
    }
}
Exemplo n.º 3
0
void DataSourceMetaData::gatherChildFields(IHqlExpression * expr, bool isConditional)
{
    bitsRemaining = 0;
    ForEachChild(idx, expr)
        gatherFields(expr->queryChild(idx), isConditional);
}