pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:4476:    push_finished_type(trans);    push_remap_markers(cont, remap, flags);    push_type(PIKE_T_TRANSITIVE);    push_reverse_type(PIKE_T_FUNCTION);    push_type(T_OR);    } else {    compiler_discard_top_type();    }       push_remap_markers(cont->cdr, remap, flags); -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, NULL);    tmp = low_new_check_call(trans, peek_type_stack(), 0, &cs, NULL);    FREE_CALL_STATE(cs);    compiler_discard_top_type();       if (tmp) {    /* Valid recursion. */    push_expand_transitive_remap(tmp, trans, remap, flags, 0);    free_type(tmp);    push_type(T_OR);    }
pike.git/src/pike_types.cmod:8274:    push_finished_type(trans);    push_finished_type(cont);    push_type(PIKE_T_TRANSITIVE);    push_reverse_type(PIKE_T_FUNCTION);    push_type(T_OR);    } else {    compiler_discard_top_type();    }       push_finished_type_with_markers(cont->cdr, markers, 0); -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, NULL);    tmp = low_new_check_call(trans, peek_type_stack(), 0, &cs, NULL);    FREE_CALL_STATE(cs);    compiler_discard_top_type();       if (tmp) {    /* Valid recursion. */    push_expand_transitive_type(tmp, trans, markers, 0);    free_type(tmp);    push_type(T_OR);    }
pike.git/src/pike_types.cmod:10118:    free_type(t);    }    return 0;   #else    if (!a) return 0;       add_ref(a);       push_type(PIKE_T_UNKNOWN);    -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, NULL);       do {    struct pike_type *cont;       if (!b || b->type == T_MANY ||    (b->car && (b->car->flags & PT_FLAG_VOIDABLE))) {    struct pike_type *tmp = new_get_return_type(a, &cs, 0);       if (tmp) {    push_finished_type(tmp);
pike.git/src/pike_types.cmod:10393:    if(p && n)    {    INT32 i;    if(n->token == F_ARROW)    {    if((i=FIND_LFUN(p,LFUN_ARROW))!=-1)    {    struct pike_type *ret = NULL;    struct call_state cs;    -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, lfun_strings[LFUN_ARROW]);    add_ref(tmp = ID_FROM_INT(p, i)->type);    tmp = new_check_call(lfun_strings[LFUN_ARROW], tmp, CDR(n), &cs, 0);    if (tmp) {    ret = new_get_return_type(tmp, &cs, 0);    free_type(tmp);    }    FREE_CALL_STATE(cs);       if (ret) return ret;       /* Invalid type for lfun::`->(). */    add_ref(mixed_type_string);    return mixed_type_string;    }    }else{    if((i=FIND_LFUN(p,LFUN_INDEX)) != -1)    {    struct pike_type *ret = NULL;    struct call_state cs;    -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, lfun_strings[LFUN_INDEX]);    add_ref(tmp = ID_FROM_INT(p, i)->type);    tmp = new_check_call(lfun_strings[LFUN_INDEX], tmp, CDR(n), &cs, 0);    if (tmp) {    ret = new_get_return_type(tmp, &cs, 0);    free_type(tmp);    }    FREE_CALL_STATE(cs);       if (ret) return ret;    /* Invalid type for lfun::`[](). */
pike.git/src/pike_types.cmod:11029:    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) {    struct call_state cs; -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, NULL);    type = low_new_check_call(ID_FROM_INT(p, i)->type, index_type,    CALL_NOT_LAST_ARG, &cs, NULL);    FREE_CALL_STATE(cs);    if (type) {    free_type(type);    return 1;    }    return 0;    }    return match_types(string_type_string, index_type);
pike.git/src/pike_types.cmod:13937:      struct pike_type *apply_type_operator(enum PIKE_TYPE op,    struct pike_type *arg1,    struct pike_type *arg2)   {    struct pike_type *res = NULL;    switch(op) {    case PIKE_T_GET_RETURN:    {    struct call_state cs; -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, NULL);    res = new_get_return_type(arg1, &cs, 0);    FREE_CALL_STATE(cs);    }    break;    case PIKE_T_APPLY:    {    struct call_state cs; -  INIT_CALL_STATE(cs); +  INIT_CALL_STATE(cs, NULL);    res = low_new_check_call(arg1, arg2, 0, &cs, NULL);    FREE_CALL_STATE(cs);    }    break;    case PIKE_T_FIND_LFUN:    res = find_lfun_type(arg1, (ptrdiff_t)(void*)arg2);    break;    case PIKE_T_INT_OP_SUB:    case PIKE_T_INT_OP_AND:    case PIKE_T_INT_OP_XOR: