From: Finn B. <bc...@us...> - 2002-05-26 20:37:31
|
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__; } |