pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.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: docode.c,v 1.205 2009/11/10 08:41:33 peter Exp $ + || $Id: docode.c,v 1.206 2009/11/20 10:58:09 grubba Exp $   */      #include "global.h"   #include "las.h"   #include "program.h"   #include "pike_types.h"   #include "stralloc.h"   #include "interpret.h"   #include "constants.h"   #include "array.h"
pike.git/src/docode.c:863:    n->u.node.b->u.sval.u.integer,    n->u.node.a->u.sval.u.integer);    return 1;       case F_EXTERNAL:    case F_GET_SET:    {    int level = 0;    struct program_state *state = Pike_compiler;    while (state && (state->new_program->id != n->u.integer.a)) { +  state->new_program->flags |= PROGRAM_USES_PARENT | PROGRAM_NEEDS_PARENT;    state = state->previous;    level++;    }    if (!state) {    my_yyerror("Program parent %d lost during compiling.", n->u.integer.a);    emit1(F_NUMBER,0);    } else if (flags & WANT_LVALUE) {    if (n->u.integer.b == IDREF_MAGIC_THIS) {    my_yyerror("this is not an lvalue.");    }
pike.git/src/docode.c:2522:    emit1(F_GLOBAL,n->u.sval.subtype);    return 1;    }       if(n->u.sval.u.object->next == n->u.sval.u.object)    {    int x=0;   #if 0    struct object *o;    -  for(o=Pike_compiler->fake_object;o!=n->u.sval.u.object;o=o->parent) +  for(o=Pike_compiler->fake_object;o!=n->u.sval.u.object;o=o->parent) { +  state->new_program->flags |= +  PROGRAM_USES_PARENT | PROGRAM_NEEDS_PARENT;    x++; -  +  }   #else    struct program_state *state=Pike_compiler; -  for(;state->fake_object!=n->u.sval.u.object;state=state->previous) +  for(;state->fake_object!=n->u.sval.u.object;state=state->previous) { +  state->new_program->flags |= +  PROGRAM_USES_PARENT | PROGRAM_NEEDS_PARENT;    x++; -  +  }   #endif    emit2(F_EXTERNAL, n->u.sval.subtype, x);    Pike_compiler->new_program->flags |=    PROGRAM_USES_PARENT | PROGRAM_NEEDS_PARENT;    return 1;    }    }    /* FALL_THROUGH */    default:   #ifdef PIKE_DEBUG