Branch: Tag:

2016-12-05

2016-12-05 15:03:23 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed the types for ::_indices() et al.

The types now match the documentation.

3918:    case F_MAGIC_SET_INDEX:    /* FIXME: Could have a stricter type for ::`->=(). */    /* FIXME: */ -  MAKE_CONSTANT_TYPE(n->type, tFunc(tMix tSetvar(0,tMix) tOr(tVoid,tInt), tVar(0))); +  MAKE_CONSTANT_TYPE(n->type, tFunc(tStr tMix tOr(tVoid,tInt), tVoid));    break;    case F_MAGIC_INDICES: -  MAKE_CONSTANT_TYPE(n->type, tFunc(tOr(tVoid,tInt), tArr(tString))); +  MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) +  tOr(tVoid,tInt), tArr(tStr)));    break;    case F_MAGIC_VALUES:    /* FIXME: Could have a stricter type for ::_values. */ -  MAKE_CONSTANT_TYPE(n->type, tFunc(tOr(tVoid,tInt), tArray)); +  MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) +  tOr(tVoid,tInt), tArray));    break;    case F_MAGIC_TYPES:    /* FIXME: Could have a stricter type for ::_types. */ -  MAKE_CONSTANT_TYPE(n->type, tFunc(tOr(tVoid,tInt), tArr(tType(tMix)))); +  MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) +  tOr(tVoid,tInt), tArr(tType(tMix))));    break;       case F_CATCH: