pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:4003:    case T_ASSIGN:    {    int marker = alloc_remap_marker(remap, CAR_TO_INT(t), flags);       if (!markers || !(flags & PT_FLAG_REMAP_EVAL_MARKERS)) {    push_remap_markers(t->cdr, markers, remap, flags);    push_assign_type(marker);    } else {    struct pike_type *old = lookup_marker(markers, marker);    struct pike_type *new = t->cdr; +  if (new) {    if (old) {    new = or_pike_types(old, new, 0);    } else {    add_ref(new);    }    store_marker(markers, marker, new);    free_pike_type(new); -  +  }    push_remap_markers(t->cdr, markers, remap, flags);    }       if (flags & PT_FLAG_REMAP_BOTH_MARKERS) {    marker = alloc_remap_marker(remap, CAR_TO_INT(t),    flags ^ PT_FLAG_REMAP_SWAP_MARKERS);       if (!markers || !(flags & PT_FLAG_REMAP_EVAL_MARKERS)) {    push_assign_type(marker);    } else {