From: <fwi...@us...> - 2009-01-28 18:21:03
|
Revision: 5995 http://jython.svn.sourceforge.net/jython/?rev=5995&view=rev Author: fwierzbicki Date: 2009-01-28 18:20:59 +0000 (Wed, 28 Jan 2009) Log Message: ----------- more purging of python-ness from package caching -- unfortunately means more casting internally. Modified Paths: -------------- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/JavaImporter.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyModule.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/JavaImporter.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/JavaImporter.java 2009-01-28 17:42:03 UTC (rev 5994) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/JavaImporter.java 2009-01-28 18:20:59 UTC (rev 5995) @@ -36,7 +36,7 @@ public PyObject find_module(String name, PyObject path) { Py.writeDebug("import", "trying " + name + " in packagemanager for path " + path); - PyObject ret = PySystemState.packageManager.lookupName(name.intern()); + PyObject ret = (PyObject)PySystemState.packageManager.lookupName(name.intern()); if (ret != null) { Py.writeComment("import", "'" + name + "' as java package"); return this; @@ -45,7 +45,7 @@ } public PyObject load_module(String name) { - return PySystemState.packageManager.lookupName(name.intern()); + return (PyObject)PySystemState.packageManager.lookupName(name.intern()); } /** Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java 2009-01-28 17:42:03 UTC (rev 5994) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java 2009-01-28 18:20:59 UTC (rev 5995) @@ -108,7 +108,7 @@ } public PyObject __dir__() { - return __mgr__.doDir(this,false,false); + return (PyObject)__mgr__.doDir(this,false,false); } /** @@ -120,7 +120,7 @@ * @return list of member names */ public PyObject fillDir() { - return __mgr__.doDir(this,true,false); + return (PyObject)__mgr__.doDir(this,true,false); } Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyModule.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyModule.java 2009-01-28 17:42:03 UTC (rev 5994) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyModule.java 2009-01-28 18:20:59 UTC (rev 5995) @@ -112,7 +112,7 @@ } if (attr == null) { - attr = PySystemState.packageManager.lookupName(fullName); + attr = (PyObject)PySystemState.packageManager.lookupName(fullName); } if (attr != null) { Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java 2009-01-28 17:42:03 UTC (rev 5994) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java 2009-01-28 18:20:59 UTC (rev 5995) @@ -3,8 +3,7 @@ package org.python.core.packagecache; -import org.python.core.PyList; -import org.python.core.PyObject; +import java.util.List; public interface PackageManager { @@ -45,16 +44,14 @@ * Reports the specified package content names. Should be overriden. Used by * {@link PyJavaPackage#__dir__} and {@link PyJavaPackage#fillDir}. * - * @return resulting list of names (PyList of PyString) + * @return resulting list of names (List of PyString) * @param jpkg queried package * @param instantiate if true then instatiate reported names in package dict * @param exclpkgs exclude packages (just when instantiate is false) */ - //XXX - PyList doDir(JavaPackage jpkg, boolean instantiate, boolean exclpkgs); + List doDir(JavaPackage jpkg, boolean instantiate, boolean exclpkgs); - //XXX - PyObject lookupName(String name); + Object lookupName(String name); /** * Creates package/updates statically known classes info. Uses Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java 2009-01-28 17:42:03 UTC (rev 5994) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java 2009-01-28 18:20:59 UTC (rev 5995) @@ -167,7 +167,7 @@ * package jpkg content over the directories in path. Add to ret the founded * classes/pkgs. Filter out classes using {@link #filterByName},{@link #filterByAccess}. */ - protected void doDir(List path, PyList ret, JavaPackage jpkg, + protected void doDir(List path, List ret, JavaPackage jpkg, boolean instantiate, boolean exclpkgs) { String child = jpkg.getName().replace('.', File.separatorChar); @@ -214,7 +214,7 @@ // for opt maybe we should some hash-set for ret if (((PyStringMap)jpkg.getMembers()).has_key(name) || ((PyStringMap)jpkg.getClasses()).has_key(name) - || ret.__contains__(name)) { + || ret.contains(name)) { continue; } @@ -248,16 +248,16 @@ } } - ret.append(name); + ret.add(name); } } } - public PyList doDir(JavaPackage jpkg, boolean instantiate, + public List doDir(JavaPackage jpkg, boolean instantiate, boolean exclpkgs) { - PyList basic = basicDoDir(jpkg, instantiate, exclpkgs); - PyList ret = new PyList(); + List basic = basicDoDir(jpkg, instantiate, exclpkgs); + List ret = new PyList(); doDir(this.getSearchPath(), ret, jpkg, instantiate, exclpkgs); @@ -267,7 +267,8 @@ doDir(system.path, ret, jpkg, instantiate, exclpkgs); } - return merge(basic, ret); + basic.addAll(ret); + return basic; } /* From old PackageManager */ @@ -276,7 +277,7 @@ * Basic helper implementation of {@link #doDir}. It merges information * from jpkg {@link JavaPackage#clsSet} and {@link JavaPackage#__dict__}. */ - protected PyList basicDoDir(JavaPackage jpkg, boolean instantiate, + protected List basicDoDir(JavaPackage jpkg, boolean instantiate, boolean exclpkgs) { PyStringMap dict = (PyStringMap)jpkg.getMembers(); PyStringMap cls = (PyStringMap)jpkg.getClasses(); @@ -308,18 +309,6 @@ return dict.keys(); } - /** - * Helper merging list2 into list1. Returns list1. - */ - protected PyList merge(PyList list1, PyList list2) { - for (int i = 0; i < list2.__len__(); i++) { - PyObject name = list2.pyget(i); - list1.append(name); - } - - return list1; - } - public PyObject lookupName(String name) { PyObject top = (PyObject)this.getTopLevelPackage(); do { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |