[Lazarus] Coding A PDA

Josh Lee frozen-dragon96 at hotmail.com
Wed Jul 28 22:45:03 CEST 2010


Zitat von Bernd Kreuss <prof7bit at googlemail.com>:

> Bernd Kreuss wrote:
>
>> The understanding of the codetools seems to be essential for doing any
>> non-trivial thing inside the IDE.
>
> For example as an application of the codtools I have a tool in mind that
> would help me exploring a big codebase with a lot of calls through
> different abstraction layers that can easily confuse me when trying to
> read the code and follow wrapper calls 3 or 4 levels deep and still
> remember where I came from. I will soon have 5 editor windows open and
> some of then are scrolled to a different position because the calls go
> back and forth throughout all these files.

That's what the jump history and bookmarks are good for. And the  
ability to open the same source multiple times.


> This tool would help me build a tree starting with the current method,
> listing all calls to other methods inside the method body as subnodes of
> this node and when I click on one of the subnodes it will again list all
> method calls inside the called method as subnodes of *this* node,
> letting me grow this tree only into the branches that are of interest to
> me. Whenever I click a node the editor window will immediately
> open/scroll directly to the *implementation* so I can always see the
> actual code and can quickly jump around in what could be described as
> the "callstack" of the simulation in my brain, without ever losing track
> of where I came from or where I have been already.

Keep in mind that methods are often overridden. And properties can be  
function calls and can be overridden too. And often there are many  
implicit function calls.
To be honest I doubt that showing *all* calls of a function is  
helpful, because the list is too big big to show in one tool window  
and because it does not show the really called overrides.
IMO what is really needed is a tool to find the overrides of a call  
and show the list sorted for relationship, and to jump to them easily.
I'm writing a tool to find overrides and sorting them. But that  
requires some extensions to the codetools.


> For implementing this tool I need a deep understanding of the codetools
> and what can be done with them and how they are used to their full
> potential.


Mattias







More information about the Lazarus mailing list