Branch: Tag:

2014-04-16

2014-04-16 20:55:36 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed type derivation for attributed getters.

The getter/setter variable should now get the correct type even
when the getter/setter functions have been marked as deprecated.

5683:    }    return get_argument_type(fun->car, arg_no);    +  case PIKE_T_ATTRIBUTE: +  type_stack_mark(); +  push_finished_type(get_argument_type(fun->cdr, arg_no)); +  push_type_attribute((struct pike_string *)(fun->car)); +  return pop_unfinished_type(); +  +  case PIKE_T_SCOPE: +  case T_ASSIGN: +  case PIKE_T_NAME: +  fun = fun->cdr; +  goto loop; +     default: -  + #if 0 +  fprintf(stderr, +  "Failed to resolve argument type for argument %d.\n" +  "Type: ", +  arg_no); +  simple_describe_type(fun); +  fprintf(stderr, "\n" +  "Node type: %d\n", +  fun->type); + #endif    add_ref(zero_type_string);    return zero_type_string;    }