static bool
RenderCall(WasmRenderContext& c, AstCall& call)
{
    if (!RenderCallArgs(c, call.args()))
        return false;

    if (!RenderIndent(c))
        return false;

    MAP_AST_EXPR(c, call);
    if (call.op() == Op::Call) {
        if (!c.buffer.append("call "))
            return false;
    } else {
        return Fail(c, "unexpected operator");
    }

    return RenderRef(c, call.func());
}
示例#2
0
static bool
RenderCall(WasmRenderContext& c, AstCall& call)
{
    if (call.expr() == Expr::Call) {
        if (!c.buffer.append("(call "))
            return false;
    } else if (call.expr() == Expr::CallImport) {
        if (!c.buffer.append("(call_import "))
            return false;
    } else {
        return false;
    }

    if (!RenderRef(c, call.func()))
        return false;

    if (!RenderCallArgs(c, call.args()))
        return false;

    if (!c.buffer.append(")"))
        return false;

    return true;
}