pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:2437:    if (res) {    res = mknode(F_ARG_LIST, res, n);    } else {    res = n;    }    }    if (res) {    if (res->token == F_ARG_LIST) res = mkefuncallnode("aggregate", res);    return res;    } -  inh = -1; +  +  /* Restore the argument. */ +  inh = INHERIT_ALL;    } else {    if (inh > 0) {    /* Specified inherit. */    id = low_reference_inherited_identifier(inherit_state, inh, ident,    SEE_PROTECTED);    } else {    /* this_program:: (0), local:: (-1) or global:: (-2). */    id = really_low_find_shared_string_identifier(ident,    inherit_state->new_program,    SEE_PROTECTED|SEE_PRIVATE);
pike.git/src/program.c:2497:    low_add_to_identifier_references(inherit_state, funp);    id = p->num_identifier_references - 1;    }    }    }    if (inherit_depth > 0) {    return mkexternalnode(inherit_state->new_program, id);    }    return mkidentifiernode(id);    } -  if (inh < 0) inh = -1; +     }    -  +  if (ident == lfun_strings[LFUN_CREATE]) { +  /* Try looking up __create__ instead. */ +  return find_inherited_identifier(inherit_state, inherit_depth, inh, +  lfun_strings[LFUN___CREATE__]); +  } +  +  if (inh < 0) inh = -1; +     return program_magic_identifier(inherit_state, inherit_depth, inh, ident, 1);   }      /*! @decl constant this    *!    *! Builtin read only variable that evaluates to the current object.    *!    *! @seealso    *! @[this_program], @[this_object()]    */