pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:4830:    {    add_ref(mixed_type_string);    return mixed_type_string;    }else{    add_ref(ID_FROM_INT(p, i)->type);    return ID_FROM_INT(p, i)->type;    }    }    }    } +  /* FALL_THROUGH */ +     default:    add_ref(mixed_type_string);    return mixed_type_string;       case T_MIXED:    if (pragmas & ID_STRICT_TYPES) {    yywarning("Indexing mixed.");    }    add_ref(mixed_type_string);    return mixed_type_string;
pike.git/src/pike_types.c:5334:    case T_STRING:    return !!low_match_types(int_type_string, index_type, 0);       case T_OBJECT:    {    struct program *p = id_to_program(CDR_TO_INT(type));    if(p)    {    int i = -1;    /* Check against the LFUN types. */ -  if(n->token == F_ARROW) +  if(n && (n->token == F_ARROW))    {    (i = FIND_LFUN(p,LFUN_ARROW))!=-1 ||    (i = FIND_LFUN(p,LFUN_ASSIGN_ARROW));    }else{    (i = FIND_LFUN(p,LFUN_INDEX))!=-1 ||    (i = FIND_LFUN(p,LFUN_ASSIGN_INDEX));    }    if (i != -1) {    if ((type = low_new_check_call(ID_FROM_INT(p, i)->type, index_type,    CALL_NOT_LAST_ARG, NULL))) {
pike.git/src/pike_types.c:6740:    } else {    tmp = low_get_first_arg_type(arg_type->car->car,    flags|FILTER_KEEP_VOID);    }    type_stack_mark();    push_finished_type(tmp);    free_type(tmp);    push_type(arg_type->type);    return pop_unfinished_type();    } +  /* FALL_THROUGH */ +     case T_ARRAY:    case T_MULTISET:    /* Keep void! */    tmp = low_get_first_arg_type(arg_type->car, flags|FILTER_KEEP_VOID);    type_stack_mark();    push_finished_type(tmp);    free_type(tmp);    push_type(arg_type->type);    return pop_unfinished_type();