2003/06/03 00:53:07
[org.ibex.core.git] / src / org / xwt / Static.java
index da2f6a6..c5ebc06 100644 (file)
@@ -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);
     }