pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:1541:    /* 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;    } else if ((type->type & PIKE_T_MASK) == PIKE_T_OPERATOR) {    push_finished_type_with_markers(type->car, markers, marker_set); +  if (type->type & 0x8000) { +  struct pike_type *t; +  type_stack_mark(); +  push_finished_type_with_markers(type->cdr, markers, marker_set); +  t = pop_unfinished_type(); +  push_type_operator(type->type, t); +  free_type(t); +  } else {    push_type_operator(type->type, type->cdr); -  +  }    goto done;    } else if (type->type == PIKE_T_TRANSITIVE) {    push_finished_type(type->cdr);    push_finished_type_with_markers(type->car, markers, marker_set);    push_type(PIKE_T_TRANSITIVE);    goto done;    }    /* FIXME: T_SCOPE */       if (type->car) {