2003/05/12 05:31:50
[org.ibex.core.git] / src / org / xwt / Static.java
index 3376d02..29e1e5e 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);
@@ -31,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;
@@ -41,20 +41,8 @@ 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(String name) {
+        if (!ispackage) return super.get(name);
         return getStatic(resourcename + (resourcename.length() == 0 ? "" : ".") + name);
     }