pike.git / src / program.c

version» Context lines:

pike.git/src/program.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: program.c,v 1.579 2004/12/15 02:22:13 nilsson Exp $ + || $Id: program.c,v 1.580 2004/12/18 16:41:04 grubba Exp $   */      #include "global.h"   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"   #include "pike_types.h"   #include "stralloc.h"   #include "las.h"   #include "lex.h"
pike.git/src/program.c:1582:    if (ident == this_program_string) {    node *n = mkefuncallnode ("object_program",    state_depth > 0 ?    mkexternalnode (state->new_program, IDREF_MAGIC_THIS) :    mkidentifiernode (IDREF_MAGIC_THIS));    /* We know this expression is constant. */    n->node_info &= ~OPT_NOT_CONST;    n->tree_info &= ~OPT_NOT_CONST;    return n;    } +  } else if (inherit_num > 0) { +  /* Handle this_program */ +  if (ident == this_program_string) { +  /* Not very useful, but... */ +  node *n = mkprgnode(state->new_program->inherits[inherit_num].prog); +  return n;    } -  +  }       if (colon_colon_ref) {    /* These are only recognized when prefixed with the :: operator. */       if (inherit_num < 0) inherit_num = 0;    if(ident == lfun_strings[LFUN_ARROW] ||    ident == lfun_strings[LFUN_INDEX]) {    return mknode(F_MAGIC_INDEX, mknewintnode(inherit_num),    mknewintnode(state_depth));    } else if(ident == lfun_strings[LFUN_ASSIGN_ARROW] ||