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.57 1999/11/23 22:37:14 grubba Exp $"); + RCSID("$Id: docode.c,v 1.58 1999/11/25 16:39:31 grubba Exp $");   #include "las.h"   #include "program.h"   #include "language.h"   #include "pike_types.h"   #include "stralloc.h"   #include "interpret.h"   #include "constants.h"   #include "array.h"   #include "pike_macros.h"   #include "error.h"
pike.git/src/docode.c:699:    emit(F_STRING,tmp1);       tmp1=do_docode(CAR(n),0);    if(!tmp1) { emit2(F_CONST0); tmp1=1; }    if(tmp1>1) do_pop(tmp1-1);       emit2(F_CAST);    return 1;       case F_SOFT_CAST: -  return do_docode(CAR(n), flags); + #ifdef PIKE_DEBUG +  if (d_flag) { +  tmp1 = store_prog_string(n->type); +  emit(F_STRING, tmp1); +  tmp1 = do_docode(CAR(n), 0); +  if (!tmp1) { emit2(F_CONST0); tmp1 = 1; } +  if (tmp1 > 1) do_pop(tmp1 - 1); +  emit2(F_SOFT_CAST); +  return 1; +  } + #endif /* PIKE_DEBUG */ +  tmp1 = do_docode(CAR(n), flags); +  if (tmp1 > 1) do_pop(tmp1 - 1); +  return !!tmp1;       case F_APPLY:    if(CAR(n)->token == F_CONSTANT)    {    if(CAR(n)->u.sval.type == T_FUNCTION)    {    if(CAR(n)->u.sval.subtype == FUNCTION_BUILTIN) /* driver fun? */    {    if(!CAR(n)->u.sval.u.efun->docode ||    !CAR(n)->u.sval.u.efun->docode(n))