Ejemplo n.º 1
0
int SliceExp::apply(fp_t fp, void *param)
{
    return e1->apply(fp, param) ||
           condApply(lwr, fp, param) ||
           condApply(upr, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 2
0
int NewAnonClassExp::apply(int (*fp)(Expression *, void *), void *param)
{
    //printf("NewAnonClassExp::apply(): %s\n", toChars());

    return condApply(thisexp, fp, param) ||
           condApply(newargs, fp, param) ||
           condApply(arguments, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 3
0
Archivo: apply.c Proyecto: 1100110/dmd
int NewExp::apply(apply_fp_t fp, void *param)
{
    //printf("NewExp::apply(): %s\n", toChars());

    return condApply(thisexp, fp, param) ||
           condApply(newargs, fp, param) ||
           condApply(arguments, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 4
0
bool TryCatchStatement::apply(fp_t fp, void *param)
{
    bool r = condApply(body, fp, param);
    if (r)
        return r;

    for (size_t i = 0; i < catches->dim; i++)
    {   Catch *c = (*catches)[i];

        bool r = condApply(c->handler, fp, param);
        if (r)
            return r;
    }
    return (*fp)(this, param);
}
Ejemplo n.º 5
0
int ArrayExp::apply(fp_t fp, void *param)
{
    //printf("ArrayExp::apply(fp_t fp, void *param): %s\n", toChars());
    return e1->apply(fp, param) ||
           condApply(arguments, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 6
0
int AssertExp::apply(fp_t fp, void *param)
{
    //printf("CallExp::apply(fp_t fp, void *param): %s\n", toChars());
    return e1->apply(fp, param) ||
           condApply(msg, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 7
0
int StructLiteralExp::apply(fp_t fp, void *param)
{
    if(stageflags & stageApply) return 0;
    int old = stageflags;
    stageflags |= stageApply;
    int ret = condApply(elements, fp, param) ||
           (*fp)(this, param);
    stageflags = old;      
    return ret;
}
Ejemplo n.º 8
0
bool UnrolledLoopStatement::apply(fp_t fp, void *param)
{
    for (size_t i = 0; i < statements->dim; i++)
    {   Statement *s = (*statements)[i];

        bool r = condApply(s, fp, param);
        if (r)
            return r;
    }
    return (*fp)(this, param);
}
Ejemplo n.º 9
0
bool ForeachRangeStatement::apply(fp_t fp, void *param)
{
    return condApply(body, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 10
0
bool SynchronizedStatement::apply(fp_t fp, void *param)
{
    return condApply(body, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 11
0
int TupleExp::apply(fp_t fp, void *param)
{
    return (e0 ? (*fp)(e0, param) : 0) ||
           condApply(exps, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 12
0
int AssocArrayLiteralExp::apply(fp_t fp, void *param)
{
    return condApply(keys, fp, param) ||
           condApply(values, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 13
0
int ArrayLiteralExp::apply(fp_t fp, void *param)
{
    return condApply(elements, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 14
0
bool TryFinallyStatement::apply(fp_t fp, void *param)
{
    return condApply(body, fp, param) ||
           condApply(finalbody, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 15
0
bool ConditionalStatement::apply(fp_t fp, void *param)
{
    return condApply(ifbody, fp, param) ||
           condApply(elsebody, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 16
0
bool ForStatement::apply(fp_t fp, void *param)
{
    return condApply(init, fp, param) ||
           condApply(body, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 17
0
bool WhileStatement::apply(fp_t fp, void *param)
{
    return condApply(body, fp, param) ||
           (*fp)(this, param);
}
Ejemplo n.º 18
0
bool ScopeStatement::apply(fp_t fp, void *param)
{
    return condApply(statement, fp, param) ||
           (*fp)(this, param);
}