Update of /cvsroot/jython/jython/org/python/core
In directory usw-pr-cvs1:/tmp/cvs-serv28916
Modified Files:
Py.java
Log Message:
Keep the reference to PyJavaClass(__builtin__) alive during
initialization.
Index: Py.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/Py.java,v
retrieving revision 2.30
retrieving revision 2.31
diff -C2 -r2.30 -r2.31
*** Py.java 2001/01/10 11:32:10 2.30
--- Py.java 2001/01/17 11:51:14 2.31
***************
*** 374,380 ****
}
public static void setBuiltinExceptions() {
! PyObject dict = PyJavaClass.lookup(
! org.python.core.__builtin__.class).__getattr__("__dict__");
dict.__setitem__("Exception", Py.Exception);
dict.__setitem__("TypeError", Py.TypeError);
--- 374,385 ----
}
+ // This is just to save a reference, so the weak implementation
+ // of internal tables does not remove it shortly after initialization.
+ private static PyJavaClass __builtin__class;
+
public static void setBuiltinExceptions() {
! __builtin__class =
! PyJavaClass.lookup(org.python.core.__builtin__.class);
! PyObject dict = __builtin__class.__getattr__("__dict__");
dict.__setitem__("Exception", Py.Exception);
dict.__setitem__("TypeError", Py.TypeError);
|