Lothar Scholz wrote:
> R> Initially I create a cache of available modules/classes/methods.
> 
> How do you handle the parsing ?
> 
> Do you require the files and hope that there is no side affect, or do
> you use something like parsetree ?

I'm using the JRuby parser to determine the structure, and regular
expressions to find the start offset of each module/class/method.
JRuby defines a NodeVisitor interface to be implemented by visitors of
the JRuby AST. Each node calls the visit method appropriate to its
type. Here is the NodeVisitor interface:
http://cvs.sourceforge.net/viewcvs.py/*checkout*/jruby/jruby/src/org/jruby/ast/visitor/NodeVisitor.java

Big thanks to the JRuby team for their work!

> How do you do handle binary extensions ?

I don't yet. ;)

> This seems to be the biggest part of the problem. I previously tried to
> convert the ri database (which are simple yaml files) but i run into the
> problem that the database format is not stable at the moment.

I'll let you know if I have any ideas.

Rob