pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: docode.c,v 1.129 2001/08/15 03:31:55 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.130 2001/08/16 03:27:35 hubbe Exp $");   #include "las.h"   #include "program.h"   #include "pike_types.h"   #include "stralloc.h"   #include "interpret.h"   #include "constants.h"   #include "array.h"   #include "pike_macros.h"   #include "pike_error.h"   #include "pike_memory.h"
pike.git/src/docode.c:1212:    {    return do_lfun_call(CAR(n)->u.id.number,CDR(n));    }    else if(CAR(n)->token == F_EXTERNAL &&    CAR(n)->u.integer.a == Pike_compiler->new_program->id &&    IDENTIFIER_IS_FUNCTION(ID_FROM_INT(Pike_compiler->new_program,    CAR(n)->u.integer.b)->identifier_flags))    {    return do_lfun_call(CAR(n)->u.integer.b,CDR(n));    } +  else if(CAR(n)->token == F_ARROW) +  { +  emit0(F_MARK); +  PUSH_CLEANUP_FRAME(do_pop_mark, 0); +  do_docode(CAAR(n),0); /* object */ +  do_docode(CDR(n),0); /* args */ +  emit1(F_CALL_OTHER, store_prog_string(CDAR(n)->u.sval.u.string)); +  POP_AND_DONT_CLEANUP; +  return 1; +  }    else    {    struct pike_string *tmp;    struct efun *fun;    node *foo;       emit0(F_MARK);    PUSH_CLEANUP_FRAME(do_pop_mark, 0);    do_docode(CAR(n),0);    do_docode(CDR(n),0);