[wingide-users] Enhancement: List/Goto caller (Goto sourcereverse)

Mateusz Biliński mateusz.bilinski at gmail.com
Wed Jun 4 08:21:48 MDT 2008

On Wed, Jun 4, 2008 at 4:08 PM, Tom Stambaugh <tms at zeetix.com> wrote:
> Good luck, folks.
> [...]
> I do not believe the Python language metastructure, as is, supports anything
> this sophisticated. I suppose it might be possible to extend the environment
> by writing a tool that examines the compiled PYC files, but even that would
> depend on whether the symbol is actually present in the compiled form of a
> method -- I don't know the answer to that.

If it's possible to go one way. Then it's possible to go back again.

The biggest (performance/memory) issue is that you would have to first
analyze all files in project. To be exact - you would have to call 'go
to definition' for each of them and store results.

Such database with results would have to be updated 'live' while
changing code to be useful - another thing to solve.

Another solution would be to use 'runtime' knowledge about symbols in
the same matter as pycallgraph does: http://pycallgraph.slowchop.com/
. Maybe this would improve performance of a process that we're talking
about here.

> The principle disadvantage of a simple search (which can be done now) is the
> false-positives.

Yeap. That's the deal here.

> The alternative, which I have been developing for some years now, is to
> create an environment above Python that provides the metastructure necessary
> to support such behavior. Such an approach works well for code that exists
> within that environment (I use it every day), but does not handle arbitrary
> Python source files.

Sounds interesting. Do you have any public docs about this?

Mateusz Biliński

More information about the wingide-users mailing list