X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FStatic.java;h=4d6fe81a0c46a987c6e509cb50716c3a9729abe2;hb=3982f2f5eeba287aa6912a5b18255ee354c36d6e;hp=da2f6a6d23738c45e582c40db08b953d74707ca9;hpb=4cad68207608c539b47ee388b30c96be030560ef;p=org.ibex.core.git diff --git a/src/org/xwt/Static.java b/src/org/xwt/Static.java index da2f6a6..4d6fe81 100644 --- a/src/org/xwt/Static.java +++ b/src/org/xwt/Static.java @@ -1,11 +1,11 @@ // Copyright 2002 Adam Megacz, see the COPYING file for licensing [GPL] package org.xwt; +import org.xwt.js.*; import org.xwt.util.*; -import org.mozilla.javascript.*; /** implements objects in the xwt.static.* namespace */ -public class Static extends JSObject { +public class Static extends JS.Scope { public static Static getStatic(String resourcename) { Template t = Template.getTemplate(resourcename, null); @@ -18,8 +18,7 @@ public class Static extends JSObject { if (ret != null) return ret; if (resourcename.indexOf('.') != -1) createStatic(resourcename.substring(0, resourcename.lastIndexOf('.')), true); - ret = new Static(resourcename, false); - cache.put(resourcename, ret); + ret = new Static(resourcename, isPackage); return ret; } @@ -32,7 +31,7 @@ public class Static extends JSObject { public boolean ispackage = false; private Static(String resourcename, boolean ispackage) { - super(true); + super(null); cache.put(resourcename, this); this.resourcename = resourcename; this.ispackage = ispackage; @@ -42,20 +41,9 @@ public class Static extends JSObject { /** creates a new static representing a package */ public Static(String resourcename) { this(resourcename, true); } - public Object get(String name, Scriptable start) { - if (name == null) return null; - - // hack since Rhino needs to be able to grab these functions to create new objects - if (name.equals("Object")) return JSObject.defaultObjects.get("Object", null); - if (name.equals("Array")) return JSObject.defaultObjects.get("Array", null); - if (name.equals("Function")) return JSObject.defaultObjects.get("Function", null); - if (name.equals("TypeError")) return JSObject.defaultObjects.get("TypeError", null); - - if ("xwt".equals(name)) - for(Scriptable cur = Context.enter().currentFunction; cur != null; cur = cur.getParentScope()) - if (cur == this) return XWT.singleton; - - if (!ispackage) return super.get(name, start); + public Object get(Object name_) { + String name = name_.toString(); + if (!ispackage) return super.get(name); return getStatic(resourcename + (resourcename.length() == 0 ? "" : ".") + name); }