pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: las.c,v 1.327 2003/03/08 17:24:46 grubba Exp $ + || $Id: las.c,v 1.328 2003/03/08 17:28:12 grubba Exp $   */      #include "global.h" - RCSID("$Id: las.c,v 1.327 2003/03/08 17:24:46 grubba Exp $"); + RCSID("$Id: las.c,v 1.328 2003/03/08 17:28:12 grubba 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:1863:    case T_OBJECT:    case T_PROGRAM:    {    struct program *p;    if(Pike_sp[-1].type == T_OBJECT)    p=Pike_sp[-1].u.object->prog;    else    p=Pike_sp[-1].u.program;       if (p == Pike_compiler->new_program) { -  /* We're looking at ourselves... */ +  /* We're looking at ourselves... +  * +  * FIXME: This code isn't correct since it changes the reference +  * to a local reference, and not a global reference. +  */    int i = really_low_find_shared_string_identifier(id, p, 0);    UNSETJMP(tmp);    pop_stack();    if (i == -1) {    if(Pike_compiler->new_program->flags & PROGRAM_PASS_1_DONE)    {    if (node_name) {    my_yyerror("Index '%s' not present in self.",    id->str);    } else {