Update of /cvsroot/jython/jython/org/python/core
In directory usw-pr-cvs1:/tmp/cvs-serv5821
Modified Files:
PyFunction.java
Log Message:
Disallow None as function __dict__ value (new in 2.2).
Index: PyFunction.java
===================================================================
RCS file: /cvsroot/jython/jython/org/python/core/PyFunction.java,v
retrieving revision 2.14
retrieving revision 2.15
diff -C2 -d -r2.14 -r2.15
*** PyFunction.java 27 Nov 2001 19:07:21 -0000 2.14
--- PyFunction.java 26 May 2002 20:37:28 -0000 2.15
***************
*** 99,106 ****
if (value instanceof PyDictionary || value instanceof PyStringMap)
__dict__ = value;
- else if (value == Py.None)
- __dict__ = null;
else
! throw Py.TypeError("func_dict must be set to a dict object");
} else {
if (__dict__ == null)
--- 99,105 ----
if (value instanceof PyDictionary || value instanceof PyStringMap)
__dict__ = value;
else
! throw Py.TypeError("setting function's dictionary " +
! "to a non-dict");
} else {
if (__dict__ == null)
***************
*** 112,117 ****
public void __delattr__(String name) {
if (name == "__dict__" || name == "func_dict") {
! __dict__ = null;
! return;
} else if (name == "func_defaults") {
func_defaults = Py.EmptyObjects;
--- 111,115 ----
public void __delattr__(String name) {
if (name == "__dict__" || name == "func_dict") {
! throw Py.TypeError("function's dictionary may not be deleted");
} else if (name == "func_defaults") {
func_defaults = Py.EmptyObjects;
***************
*** 145,151 ****
return new PyTuple(func_defaults);
}
! if (name == "__dict__") {
if (__dict__ == null)
! return Py.None;
return __dict__;
}
--- 143,149 ----
return new PyTuple(func_defaults);
}
! if (name == "__dict__" || name == "func_dict") {
if (__dict__ == null)
! __dict__ = new PyStringMap();
return __dict__;
}
|