pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:1345:    return n->token==F_ASSIGN; /* So when is this false? /mast */    }    case F_APPLY:    if ((CAAR(n)->token == F_CONSTANT) &&    (TYPEOF(CAAR(n)->u.sval) == T_FUNCTION) &&    (SUBTYPEOF(CAAR(n)->u.sval) == FUNCTION_BUILTIN) &&    (CAAR(n)->u.sval.u.efun->function != f_map) &&    (CAAR(n)->u.sval.u.efun->function != f_filter)) {    /* efuns typically don't access object variables. */    node *args = CDAR(n); -  if (args) { +  if (args && count_args(args) > 1) +  {    node **arg = my_get_arg(&args, 0);    if (arg && node_is_eq(CDR(n), *arg) &&    !(args->tree_info & OPT_ASSIGNMENT)) {    if(match_types(CDR(n)->type, array_type_string) ||    match_types(CDR(n)->type, string_type_string) ||    match_types(CDR(n)->type, object_type_string) ||    match_types(CDR(n)->type, multiset_type_string) ||    match_types(CDR(n)->type, mapping_type_string))    {    /* First arg is the lvalue.