X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2Futil%2FJSObject.java;h=ab747e2035a2aae7f87feecd06489c5e904b72c9;hb=ab013ce8da25c0f90bfb9b13a0e42b9b1fb52e0d;hp=84c77374b61902341e80ce849e7fc8c5ba72d1c4;hpb=b4a0c7cfaa668c295324ace3113113f11fdfc851;p=org.ibex.core.git diff --git a/src/org/xwt/util/JSObject.java b/src/org/xwt/util/JSObject.java index 84c7737..ab747e2 100644 --- a/src/org/xwt/util/JSObject.java +++ b/src/org/xwt/util/JSObject.java @@ -77,6 +77,7 @@ public class JSObject implements Scriptable { public JSObject() { } public JSObject(boolean privateVars) { this.privateVars = privateVars; } + public Object get(String name) { return get(name, null); } public Object get(String name, Scriptable start) { if (name == null || name.equals("") || properties == null) return null; @@ -116,9 +117,14 @@ public class JSObject implements Scriptable { * Top), by a script for whom we are in the ultimate parent * scope, it must be a var-declaration */ + public void put(String name, Object value) { put(name, null, value); } public void put(String name, Scriptable start, Object value) { if (sealed) return; if (name == null || name.equals("")) return; + + if (getPrivately(name, getCurrentFunctionSourceName()) != null) + putPrivately(name, value, getCurrentFunctionSourceName()); + for(Scriptable cur = Context.enter().currentFunction; cur != null; cur = cur.getParentScope()) if (cur == this) { putPrivately(name, value, getCurrentFunctionSourceName());