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.133 2001/09/28 00:01:44 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.134 2001/09/29 06:19:26 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:2006:    {    emit1(F_LOCAL_LVALUE,n->u.id.number);    return 2;    }else{    emit1(F_LOCAL,n->u.id.number);    return 1;    }    }       case F_TRAMPOLINE: -  emit1(F_TRAMPOLINE,n->u.id.number); +  { +  struct compiler_frame *f; +  int depth=0; +  for(f=Pike_compiler->compiler_frame; +  f!=n->u.trampoline.frame;f=f->previous) +  depth++; +  +  emit2(F_TRAMPOLINE,n->u.trampoline.ident,depth);    return 1; -  +  }       case F_IDENTIFIER:    if(IDENTIFIER_IS_FUNCTION(ID_FROM_INT(Pike_compiler->new_program, n->u.id.number)->identifier_flags))    {    if(flags & WANT_LVALUE)    {    yyerror("Cannot assign functions.\n");    }else{    emit1(F_LFUN,n->u.id.number);    }