proper implementation of Scriptable.has in ImporterTopLevel and NativeJavaPackages
This commit is contained in:
igor%mir2.org 2003-02-25 09:17:43 +00:00
Родитель fd3dee4c56
Коммит 11d0e9760b
2 изменённых файлов: 16 добавлений и 1 удалений

Просмотреть файл

@ -97,10 +97,21 @@ public class ImporterTopLevel extends ScriptableObject {
return "global";
}
public boolean has(String name, Scriptable start) {
return super.has(name, start)
|| getPackageProperty(name, start) != NOT_FOUND;
}
public Object get(String name, Scriptable start) {
Object result = super.get(name, start);
if (result != NOT_FOUND)
return result;
result = getPackageProperty(name, start);
return result;
}
private Object getPackageProperty(String name, Scriptable start) {
Object result= NOT_FOUND;
if (name.equals("_packages_"))
return result;
Object plist = ScriptableObject.getProperty(start,"_packages_");

Просмотреть файл

@ -178,10 +178,14 @@ public class NativeJavaPackage extends ScriptableObject {
return "JavaPackage";
}
public boolean has(String id, int index, Scriptable start) {
public boolean has(String id, Scriptable start) {
return true;
}
public boolean has(int index, Scriptable start) {
return false;
}
public void put(String id, Scriptable start, Object value) {
// Can't add properties to Java packages. Sorry.
}