pike.git / src / las.c

version» Context lines:

pike.git/src/las.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: las.c,v 1.31 1997/04/16 03:09:12 hubbe Exp $"); + RCSID("$Id: las.c,v 1.32 1997/04/18 01:17:40 hubbe Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:1540:    if(n->u.sval.u.integer == 1)    {    tmp1=mknode(F_DEC, CDR(n), 0);    CDR(n)=0;    goto use_tmp1;    }    }    }    break;    +  case F_ARROW: +  if(CAR(n)->token==F_CONSTANT && +  CAR(n)->u.sval.type==T_OBJECT && +  CAR(n)->u.sval.u.object->prog && +  CDR(n)->token==F_CONSTANT && +  CAR(n)->u.sval.type==T_STRING && +  find_identifier("`->",CAR(n)->u.sval.u.object->prog)==-1) +  { +  int i; +  i=find_shared_string_identifier(CDR(n)->u.sval.u.string, +  CAR(n)->u.sval.u.object->prog); +  if(i) +  { +  struct identifier *id; +  id=ID_FROM_INT(CAR(n)->u.sval.u.object->prog, i); +  if(IDENTIFIER_IS_VARIABLE(id->flags)) break; +  } +  ref_push_object(CAR(n)->u.sval.u.object); +  ref_push_string(CDR(n)->u.sval.u.string); +  f_index(2); +  tmp1=mksvaluenode(sp-1); +  pop_stack(); +  goto use_tmp1; +  } +  break; +     case F_FOR:    {    node **last;    int inc;    int token;       /* for(;0; X) Y; -> 0; */    if(node_is_false(CAR(n)))    {    tmp1=mkintnode(0);