diff --git a/src/las.c b/src/las.c index 39afa5c4ef8f0ebdfbf8f9c722023925cb5e0701..9610d0e678921c05cb812835f17de009ee5d9738 100644 --- a/src/las.c +++ b/src/las.c @@ -3912,27 +3912,27 @@ void fix_type_field(node *n) case F_MAGIC_INDEX: /* FIXME: Could have a stricter type for ::`->(). */ /* FIXME: */ - MAKE_CONSTANT_TYPE(n->type, tFunc(tStr tOr3(tVoid,tObj,tDeprecated(tInt)) + MAKE_CONSTANT_TYPE(n->type, tFunc(tStr tOr3(tVoid,tObj,tInt) tOr(tVoid,tInt), tMix)); break; case F_MAGIC_SET_INDEX: /* FIXME: Could have a stricter type for ::`->=(). */ /* FIXME: */ - MAKE_CONSTANT_TYPE(n->type, tFunc(tStr tMix tOr3(tVoid,tObj,tDeprecated(tInt)) - tOr(tVoid,tInt), tVoid)); + MAKE_CONSTANT_TYPE(n->type, tFunc(tStr tMix tOr3(tVoid,tObj,tInt) + tOr(tVoid,tInt), tZero)); break; case F_MAGIC_INDICES: - MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) + MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,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(tOr3(tVoid,tObj,tDeprecated(tInt)) + MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,tInt) tOr(tVoid,tInt), tArray)); break; case F_MAGIC_TYPES: /* FIXME: Could have a stricter type for ::_types. */ - MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) + MAKE_CONSTANT_TYPE(n->type, tFunc(tOr3(tVoid,tObj,tInt) tOr(tVoid,tInt), tArr(tType(tMix)))); break; diff --git a/src/object.c b/src/object.c index eb6b5ecc7e5053a05d2c2c63a5bfbffcc87442da..d893991f0db5998ce5c201187382f083148d1038 100644 --- a/src/object.c +++ b/src/object.c @@ -3270,7 +3270,7 @@ void init_object(void) * opcode F_MAGIC_INDEX. */ ADD_FUNCTION("`()", f_magic_index, - tFunc(tStr tOr3(tVoid,tObj,tDeprecated(tInt)) tOr(tVoid,tInt), + tFunc(tStr tOr3(tVoid,tObj,tInt) tOr(tVoid,tInt), tMix), ID_PROTECTED); magic_index_program=end_program(); @@ -3283,8 +3283,8 @@ void init_object(void) * opcode F_MAGIC_SET_INDEX. */ ADD_FUNCTION("`()", f_magic_set_index, - tFunc(tStr tMix tOr3(tVoid,tObj,tDeprecated(tInt)) - tOr(tVoid,tInt), tVoid), ID_PROTECTED); + tFunc(tStr tMix tOr3(tVoid,tObj,tInt) + tOr(tVoid,tInt), tZero), ID_PROTECTED); magic_set_index_program=end_program(); /* ::_indices() */ @@ -3296,7 +3296,7 @@ void init_object(void) * opcode F_MAGIC_INDICES. */ ADD_FUNCTION("`()", f_magic_indices, - tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) tOr(tVoid,tInt), + tFunc(tOr3(tVoid,tObj,tInt) tOr(tVoid,tInt), tArr(tStr)), ID_PROTECTED); magic_indices_program=end_program(); @@ -3309,7 +3309,7 @@ void init_object(void) * opcode F_MAGIC_VALUES. */ ADD_FUNCTION("`()", f_magic_values, - tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) tOr(tVoid,tInt), + tFunc(tOr3(tVoid,tObj,tInt) tOr(tVoid,tInt), tArray), ID_PROTECTED); magic_values_program=end_program(); @@ -3322,7 +3322,7 @@ void init_object(void) * opcode F_MAGIC_TYPES. */ ADD_FUNCTION("`()", f_magic_types, - tFunc(tOr3(tVoid,tObj,tDeprecated(tInt)) tOr(tVoid,tInt), + tFunc(tOr3(tVoid,tObj,tInt) tOr(tVoid,tInt), tArr(tType(tMix))), ID_PROTECTED); magic_types_program=end_program();