void visit_start_alternate(Visitor *v, const char *name,

                           GenericAlternate **obj, size_t size,

                           bool promote_int, Error **errp)

{

    Error *err = NULL;



    assert(obj && size >= sizeof(GenericAlternate));

    assert(v->type != VISITOR_OUTPUT || *obj);

    if (v->start_alternate) {

        v->start_alternate(v, name, obj, size, promote_int, &err);

    }

    if (v->type == VISITOR_INPUT) {

        assert(v->start_alternate && !err != !*obj);

    }

    error_propagate(errp, err);

}

void visit_start_alternate(Visitor *v, const char *name,

                           GenericAlternate **obj, size_t size,

                           bool promote_int, Error **errp)

{

    Error *err = NULL;



    assert(obj && size >= sizeof(GenericAlternate));

    assert(v->type != VISITOR_OUTPUT || *obj);

    if (v->start_alternate) {

        v->start_alternate(v, name, obj, size, promote_int, &err);

    }

    if (v->type == VISITOR_INPUT) {

        assert(v->start_alternate && !err != !*obj);

    }

    error_propagate(errp, err);

}

    assert(v->type != VISITOR_OUTPUT || *obj);     if (v->type == VISITOR_INPUT) {     assert(v->type != VISITOR_OUTPUT || *obj);     if (v->type == VISITOR_INPUT) {     if (v->type == VISITOR_INPUT) {
void FUNC_0(Visitor *VAR_0, const char *VAR_1,

                           GenericAlternate **VAR_2, size_t VAR_3,

                           bool VAR_4, Error **VAR_5)

{

    Error *err = NULL;



    assert(VAR_2 && VAR_3 >= sizeof(GenericAlternate));

    assert(VAR_0->type != VISITOR_OUTPUT || *VAR_2);

    if (VAR_0->start_alternate) {

        VAR_0->start_alternate(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, &err);

    }

    if (VAR_0->type == VISITOR_INPUT) {

        assert(VAR_0->start_alternate && !err != !*VAR_2);

    }

    error_propagate(VAR_5, err);

}

void FUNC_0(Visitor *VAR_0, const char *VAR_1,
GenericAlternate **VAR_2, size_t VAR_3,
bool VAR_4, Error **VAR_5)
{ Error *err = NULL; assert(VAR_2 && VAR_3 >= sizeof(GenericAlternate)); assert(VAR_0->type != VISITOR_OUTPUT || *VAR_2); if (VAR_0->start_alternate) { VAR_0->start_alternate(VAR_0, VAR_1, VAR_2, VAR_3, VAR_4, &err); } if (VAR_0->type == VISITOR_INPUT) { assert(VAR_0->start_alternate && !err != !*VAR_2); } error_propagate(VAR_5, err); }