rem:  if (!gf) throw "need generic function"; if (typeof(cobj) != 'object') { var f=gf(scope);  pobj.watch(cname,f); return; } if (cobj instanceof Array) { var k; for (var k in cobj) { _watchall(cobj, cobj[k], k, scope+"["+k+"]", gf); 
add:  if (!gf) throw "need generic function"; if (typeof(cobj) != 'object') { var f=gf(scope);  pobj.watch(cname,f); return; 
context: function _watchall(pobj,cobj,cname,scope,gf){  //  print(scope);  if (!gf) throw "need generic function";  if (typeof(cobj) != 'object') {    var f=gf(scope);    //    print(f.toSource());    pobj.watch(cname,f);    return;  }  if (cobj instanceof Array) {    var k;    for (var k in cobj) {      _watchall(cobj, cobj[k], k, scope+"["+k+"]", gf);    }  }else{    var k;    for (var k in cobj) {      if (k[0]!='_')	_watchall(cobj, cobj[k], k, scope+"."+k,     gf);    }  }}
meta: 8182	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8182/7641ceeba710f95f5a35b5d04eeac930443b5a60/egachine.js/clean/egachine/src/egachine.js