pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:1200:    goto recurse;    }    } else if (type->type == PIKE_T_NAME) {    /* Strip the name, since it won't be correct anymore. */    type = type->cdr;    goto recurse;    } else if (type->type == PIKE_T_ATTRIBUTE) {    /* Keep the attribute. */    push_finished_type_with_markers(type->cdr, markers, marker_set);    push_type_attribute((struct pike_string *)type->car); +  goto done;    }    /* FIXME: T_SCOPE */       if (type->car) {    /* Keep markers for assigns in the car. */    cdr_set = marker_set |    ((type->car->flags & PT_FLAG_ASSIGN)>>PT_ASSIGN_SHIFT);    } else {    cdr_set = marker_set;    }
pike.git/src/pike_types.c:1262:    } else {    if (type->cdr) {    /* In all other cases type->cdr will be a valid node if is not NULL. */    push_finished_type_with_markers(type->cdr, markers, cdr_set);    }    /* In all other cases type->car will be a valid node. */    push_finished_type_with_markers(type->car, markers, car_set);    /* push_type has sufficient magic to recreate the type. */    push_type(type->type);    } +  done:    TYPE_STACK_DEBUG("push_finished_type_with_markers");   }      static void push_type_field(TYPE_FIELD field)   {    field &= (BIT_BASIC|BIT_COMPLEX);    if (!field) {    /* No values. */    push_type(T_ZERO);    } else if (field == (BIT_BASIC|BIT_COMPLEX)) {