From: Jeff E. <JEm...@lg...> - 2003-10-02 14:19:19
|
In your implementation of classDictInit, you must set items in the dict that is passed to you like this: dict.__setitem__("__doc__", new PyString("new")); dict.__setitem__("__doc__foo", new PyString("new")); -----Original Message----- From: Jose M. Rus [mailto:jm...@in...] Sent: Thursday, October 02, 2003 7:42 AM To: jyt...@li... Subject: [Jython-users] doc string value for methods The doc string value for methods seems to be immutable after the variable declaration, for example: class Test implements ClassDictInit { public static PyString __doc__ = new PyString("old"); public static PyString __doc__foo = new PyString("old"); public static void foo() { } public static void classDictInit(PyObject dict) { __doc__ = new PyString("new"); __doc__foo = new PyString("new"); } } In a PythonInterpreter then "Test.__doc__" value is "new" but "Test.foo.__doc__" value is "old". This means that the function __doc__ string can't be assigned the first time in classDictInit(). Is this the normal behaviour? Should I file a bug report? Regards, Jose M. Rus ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Jeff E. <JEm...@lg...> - 2003-10-02 14:59:19
|
The suggestion I sent below still won't solve the problem you have. The doc strings are set on each function object as it is added to the dict, before classDictInit is called. You'll need to replace the func's __doc__. PyFunction func = (PyFunction)dict.__finditem__("foo"); func.__doc__ = new PyString("new"); -----Original Message----- From: Jeff Emanuel [mailto:JEm...@lg...] Sent: Thursday, October 02, 2003 8:19 AM To: 'Jose M. Rus'; jyt...@li... Subject: RE: [Jython-users] doc string value for methods In your implementation of classDictInit, you must set items in the dict that is passed to you like this: dict.__setitem__("__doc__", new PyString("new")); dict.__setitem__("__doc__foo", new PyString("new")); -----Original Message----- From: Jose M. Rus [mailto:jm...@in...] Sent: Thursday, October 02, 2003 7:42 AM To: jyt...@li... Subject: [Jython-users] doc string value for methods The doc string value for methods seems to be immutable after the variable declaration, for example: class Test implements ClassDictInit { public static PyString __doc__ = new PyString("old"); public static PyString __doc__foo = new PyString("old"); public static void foo() { } public static void classDictInit(PyObject dict) { __doc__ = new PyString("new"); __doc__foo = new PyString("new"); } } In a PythonInterpreter then "Test.__doc__" value is "new" but "Test.foo.__doc__" value is "old". This means that the function __doc__ string can't be assigned the first time in classDictInit(). Is this the normal behaviour? Should I file a bug report? Regards, Jose M. Rus ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Jose M. R. <jm...@in...> - 2003-10-02 15:26:43
|
Thanks Jeff, that does the trick. Learning Jython is a lot of fun, today I discovered Py.makeClass() while looking how to extend the Jython exceptions as in exceptions.java. The only think that I miss is javadoc of the main classes. Regards, Jose M. Rus. Jeff Emanuel wrote: >The suggestion I sent below still won't solve the >problem you have. The doc strings are set on each >function object as it is added to the dict, >before classDictInit is called. You'll need to >replace the func's __doc__. > > PyFunction func = (PyFunction)dict.__finditem__("foo"); > func.__doc__ = new PyString("new"); > > >-----Original Message----- >From: Jeff Emanuel [mailto:JEm...@lg...] >Sent: Thursday, October 02, 2003 8:19 AM >To: 'Jose M. Rus'; jyt...@li... >Subject: RE: [Jython-users] doc string value for methods > > > >In your implementation of classDictInit, you must >set items in the dict that is passed to you like >this: > > dict.__setitem__("__doc__", new PyString("new")); > dict.__setitem__("__doc__foo", new PyString("new")); > > >-----Original Message----- >From: Jose M. Rus [mailto:jm...@in...] >Sent: Thursday, October 02, 2003 7:42 AM >To: jyt...@li... >Subject: [Jython-users] doc string value for methods > > >The doc string value for methods seems to be immutable after the >variable declaration, for >example: > >class Test implements ClassDictInit { > public static PyString __doc__ = new PyString("old"); > public static PyString __doc__foo = new PyString("old"); > > public static void foo() { } > > public static void classDictInit(PyObject dict) { > __doc__ = new PyString("new"); > __doc__foo = new PyString("new"); > } >} > >In a PythonInterpreter then "Test.__doc__" value is "new" but >"Test.foo.__doc__" value >is "old". This means that the function __doc__ string can't be assigned >the first time in >classDictInit(). > >Is this the normal behaviour? Should I file a bug report? > >Regards, > Jose M. Rus > > |