Branch: Tag:

2022-05-03

2022-05-03 12:24:27 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved handling of markers for PIKE_T_TRANSITIVE.

4004:    case T_AND:    case T_ARRAY:    case T_STRING: -  case PIKE_T_TRANSITIVE: +     case PIKE_T_OPERATOR | 0x8000:    /* t->car and t->cdr are nodes. */    push_and_fixup_markers(t->cdr, remap, flags);
4012:    push_type(t->type);    break;    +  case PIKE_T_TRANSITIVE: +  push_finished_type(t->cdr); +  push_and_fixup_markers(t->car, remap, flags); +  push_type(t->type); +  break; +     case '0': case '1': case '2': case '3': case '4':    case '5': case '6': case '7': case '8': case '9':    case T_MIXED:
4246:    case PIKE_T_RING:    case T_ARRAY:    case T_STRING: -  case PIKE_T_TRANSITIVE: +     push_remap_markers(t->car, remap, flags);    push_remap_markers(t->cdr, remap, flags);    push_reverse_type(t->type);    break; -  +  +  /* Special */ +  case PIKE_T_TRANSITIVE: +  push_remap_markers(t->car, remap, flags); +  push_finished_type(t->cdr); +  push_reverse_type(t->type); +  break;    }   }