* Make sure global reference is always available, even if there is no per-thread scope

(e.g. when compiling scripts)
This commit is contained in:
hns 2006-03-30 10:19:25 +00:00
parent e6824fe0ee
commit edfdfd5a79
2 changed files with 5 additions and 4 deletions

View file

@ -39,11 +39,11 @@ public class DynamicGlobalObject extends GlobalObject {
if (obj != null && obj != NOT_FOUND) { if (obj != null && obj != NOT_FOUND) {
return obj; return obj;
} }
}
// make thread scope accessible as "global" // make thread scope accessible as "global"
if ("global".equals(s)) { if ("global".equals(s)) {
return scope; return scope;
} }
}
return super.get(s, scriptable); return super.get(s, scriptable);
} }

View file

@ -75,6 +75,7 @@ public class GlobalObject extends ImporterTopLevel implements PropertyRecorder {
defineFunctionProperties(globalFuncs, GlobalObject.class, 0); defineFunctionProperties(globalFuncs, GlobalObject.class, 0);
put("app", this, Context.toObject(new ApplicationBean(app), this)); put("app", this, Context.toObject(new ApplicationBean(app), this));
put("Xml", this, Context.toObject(new XmlObject(core), this)); put("Xml", this, Context.toObject(new XmlObject(core), this));
put("global", this, this);
// Define dontEnum() on Object prototype // Define dontEnum() on Object prototype
String[] objFuncs = { "dontEnum" }; String[] objFuncs = { "dontEnum" };
ScriptableObject objproto = (ScriptableObject) getObjectPrototype(this); ScriptableObject objproto = (ScriptableObject) getObjectPrototype(this);