pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
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.