pike.git / lib / master.pike.in

version» Context lines:

pike.git/lib/master.pike.in:1:   /* -*- Pike -*-    * -  * $Id: master.pike.in,v 1.117 2000/05/07 00:39:52 hubbe Exp $ +  * $Id: master.pike.in,v 1.118 2000/05/11 04:30:25 mast Exp $    *    * Master-file for Pike.    *    * Based on master.pike 1.67.    */      // Some configurable parameters useful for debugging      #define PIKE_AUTORELOAD   
pike.git/lib/master.pike.in:581:   {    if(object o=low_cast_to_object(oname, current_file))    return o;    error("Cast '"+oname+"' to object failed"+    ((current_file && current_file!="-")?sprintf(" for '%s'",current_file):"")+".\n");    return 0;   }      class dirnode   { +  constant is_resolv_dirnode = 1;    string dirname;    mixed module=module_checker();    mapping(string:mixed) cache=([]);    array(string) files;       void create(string name)    {    dirname=name;    }   
pike.git/lib/master.pike.in:703:    // werror("values(%O) called\n", dirname);    fill_cache();    return values(cache)-({0});    }   };      static class ZERO_TYPE {};      class joinnode   { +  constant is_resolv_joinnode = 1;    array(object|mapping) joined_modules;    mapping(string:mixed) cache=([]);       void create(array(object|mapping) _joined_modules)    {    joined_modules = _joined_modules;    }       static mixed ind(string index)    {    array(mixed) res = ({});    foreach(joined_modules, object|mapping o)    {    mixed ret;    if (!zero_type(ret = o[index]))    {    if (objectp(ret = o[index]) && -  (< joinnode, dirnode >)[object_program(ret)]) +  (object_program(ret)->is_resolv_dirnode || +  object_program(ret)->is_resolv_joinnode))    {    // Only join directorynodes (or joinnodes).    res += ({ ret });    } else if ( ret ) {    return (ret);    } else {    // Ignore    continue;    }    }
pike.git/lib/master.pike.in:838:   }      mixed resolv_base(string identifier, string|void current_file)   {    array(mixed) tmp = ({});    foreach(pike_module_path, string path)    {    string file=combine_path(path,identifier);    if(mixed ret=findmodule(file)) {    if ((objectp(ret)) && -  (< joinnode, dirnode >)[object_program(ret)]) { +  (object_program(ret)->is_resolv_dirnode || +  object_program(ret)->is_resolv_joinnode)) {    if (mixed new_ret = ret->_module_value) {    ret = new_ret;    }    tmp += ({ ret });    } else {    if (mixed new_ret = ret->_module_value) {    ret = new_ret;    }    if (!sizeof(tmp)) {    return ret;