pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:809:    if(a) res->tree_info |= a->tree_info;    if(b) res->tree_info |= b->tree_info;    break;       case F_MAGIC_SET_INDEX:    res->node_info |= OPT_ASSIGNMENT;    /* FALL_THROUGH */    case F_MAGIC_INDEX:    case F_MAGIC_INDICES:    case F_MAGIC_VALUES: +  case F_MAGIC_TYPES:    {    int e;    struct program_state *state = Pike_compiler;    res->node_info |= OPT_EXTERNAL_DEPEND;    if (!b) break; /* Paranoia; probably compiler error. */    for(e=0;e<b->u.sval.u.integer;e++)    {    state->new_program->flags |= PROGRAM_USES_PARENT | PROGRAM_NEEDS_PARENT;    state=state->previous;    }
pike.git/src/las.c:4280:    /* FIXME: */    MAKE_CONSTANT_TYPE(n->type, tFunc(tMix tSetvar(0,tMix) tOr(tVoid,tInt), tVar(0)));    break;    case F_MAGIC_INDICES:    MAKE_CONSTANT_TYPE(n->type, tFunc(tOr(tVoid,tInt), tArr(tString)));    break;    case F_MAGIC_VALUES:    /* FIXME: Could have a stricter type for ::_values. */    MAKE_CONSTANT_TYPE(n->type, tFunc(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)))); +  break;       case F_CATCH:    /* FALL_THROUGH */    default:    copy_pike_type(n->type, mixed_type_string);    }       if (n->type != old_type) {    if (n->parent) {    n->parent->node_info |= OPT_TYPE_NOT_FIXED;