Lisandro Dalcin wrote:
> On Tue, Sep 2, 2008 at 1:25 PM, Stefan Behnel <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>> Lisandro Dalcin wrote:
>>> Would it be possible to tell Cython/Pyrex to add a line in docstings
>>> with function/method signatures?
>> I bet you're asking because of epydoc & friends.
> 
> Not only those!. If you use IPython, or even built-in help(), you
> cannot get the signature.

Well, if anybody wants to help with this one, here's how to do it:

(0. Create a feature request ticket :-) )

1. Create a new file TypedTreeTransforms.py

2. Write a transform that intercepts the functions (have a look at 
ParseTreeTransforms.py for examples). For a FuncDefNode the docstring is 
available in "node.doc" (and you can simply change it!) and information 
about the arguments are available in "node.local_scope.arg_entries". 
Note that node.doc must probably not be a regular string but an instance 
of Utils.EncodedString.

3. Write code in the pipeline creation in Main.py (search for pipeline) 
to insert an instance of your transform if and only if a command line 
argument (CmdLine.py, options at bottom of Main.py) was passed. (You can 
insert None without harm, that makes the code cleaner.) It you opt for 
making it a compiler directive (so that it can be turned on/off for 
individual functions) then have a look at Options.py and the "options" 
attribute of all nodes.

Finally, when writing a transform, "print node.dump()" is your friend.

-- 
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to