pike.git / lib / master.pike.in

version» Context lines:

pike.git/lib/master.pike.in:3106:    }),    current_handler,    root_module->fallback_module,    "predef::");       return node;    }       //! Look up @[identifier] in the root module.    mixed resolv_base(string identifier, string|void current_file, -  object|void current_handler) +  object|void current_handler, +  object|void current_compat_handler)    {    // werror("Resolv_base(%O)\n",identifier);    return get_root_module(current_handler)[identifier];    }       //! Same as @[resolv], but throws an error instead of returning    //! @[UNDEFINED] if the resolv failed.    mixed resolv_or_error(string identifier, string|void current_file,    void|object current_handler)    {
pike.git/lib/master.pike.in:3128:    if(undefinedp(res)) error("Could not resolve %s.\n", identifier);    return res;    }       //! Resolve the @[identifier] expression.    //!    //! @returns    //! Returns the value of the @[identifier] if it exists,    //! and @[UNDEFINED] otherwise.    mixed resolv(string identifier, string|void current_file, -  object|void current_handler) +  object|void current_handler, +  object|void current_compat_handler)    {    resolv_debug("resolv(%O, %O)\n",identifier, current_file);    INC_RESOLV_MSG_DEPTH();       // FIXME: Support having the cache in the handler?    if( no_resolv[ identifier ] ) {    DEC_RESOLV_MSG_DEPTH();    resolv_debug("resolv(%O, %O) => excluded\n",identifier, current_file);    return UNDEFINED;    }       if (current_file && !stringp(current_file)) { -  error("resolv(%O, %O, %O): current_file is not a string!\n", -  identifier, current_file, current_handler); +  error("resolv(%O, %O, %O, %O): current_file is not a string!\n", +  identifier, current_file, current_handler, current_compat_handler);    }       array(string) tmp = identifier/"::";    mixed ret;    if (sizeof(tmp) > 1) {    string scope = tmp[0];    tmp = tmp[1]/".";    switch(scope) {    case "predef":    ret = all_constants();
pike.git/lib/master.pike.in:3174:    }    tmp = tmp[1..];    break;    }    }    error("resolv(%O, %O, %O): Unsupported scope: %O!\n",    identifier, current_file, current_handler, scope);    }    } else {    tmp = identifier/"."; -  ret = resolv_base(tmp[0], current_file, current_handler); +  ret = resolv_base(tmp[0], current_file, +  current_handler, current_compat_handler);    tmp = tmp[1..];    }    foreach(tmp,string index) {    resolv_debug("indexing %O with %O...\n",    ret, index);    // NB: Running indices() on directory nodes will force them to load    // all their content, which is probably NOT what you want...    // resolv_debug("indices(%O): %O\n", ret, indices(ret));    if (undefinedp(ret)) break;    ret = ret[index];