pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:2158:   struct node_s *program_magic_identifier (struct program_state *state,    int state_depth, int inherit_num,    struct pike_string *ident,    int colon_colon_ref)   {   #if 0    fprintf (stderr, "magic_identifier (state, %d, %d, %s, %d)\n",    state_depth, inherit_num, ident->str, colon_colon_ref);   #endif    -  /* FIXME: Is this expression always true? */ -  if ((inherit_num == -1) || (inherit_num >= 0)) { +     if (ident == this_string) {    /* Handle this. */    return mkthisnode(state->new_program, inherit_num);    }       /* Handle this_program */    if (ident == this_program_string) {    node *n;    if (!state_depth && (inherit_num == -1) && colon_colon_ref &&    !TEST_COMPAT(7,8) &&
pike.git/src/program.c:2253:    }    if (id->identifier_flags & IDENTIFIER_SCOPED) {    return mktrampolinenode(i, Pike_compiler->compiler_frame->previous);    } else {    return mkidentifiernode(i);    }    } else {    /* FIXME: Fall back to __INIT? */    }    } -  } +        if (colon_colon_ref) {    int i = inherit_num;       /* These are only recognized when prefixed with the :: operator. */       if (inherit_num < 0) i = 0;    if(ident == lfun_strings[LFUN_ARROW] ||    ident == lfun_strings[LFUN_INDEX]) {    return mknode(F_MAGIC_INDEX, mknewintnode(i),