I just filed this request, which I hope you'll find interesting. No,
actually, I hope you'll endorse it enthusiastically, at least by
adding it to your watch list. :)
<http://www.realsoftware.com/feedback/viewreport.php?reportid=xvdanwpv>
The compiler sees methods in super/subclasses with the same
declaration as "linked" in the sense that they occupy the same
position in a vtable, and a call to a base class type may actually
end up in a subclass's implementation.
Currently, it is far too easy to break this link when changing a
method declaration. You have to manually make sure to change it in
the rest of the class hierarchy, exactly the same way. If you make a
mistake, it is a silent failure: your code still runs but no longer
invokes the method it should, possibly under only some circumstances.
This can a very costly mistake, and one the IDE should help us avoid.
I would like to see three buttons in the declaration pane. One has an
icon representing "superclasses," and a badge showing how many
superclasses declare this same method. Clicking it pops up a menu
listing those superclasses, and picking an item from this menu jumps
to the implementation of this method in that superclass.
A second button is similar, but for subclasses. The badge shows how
many subclasses declare the same method, and the pop-up menu lets you
jump to any subclass's implementation of this method.
Finally, a little "chain link" sticky button or checkbox appears next
to the subclasses button. When this button is in its "down" or
"checked" state, it means that any change you make in this
declaration pane will be made to all subclasses as well. This should
be checked by default anytime the number of subclasses is not zero,
but of course the user can turn it off if they really do intend to
break the overriding.
This is a simple UI that brings a lot of benefit: you can see,
without touching anything, how many superclasses and subclasses
implement the same method; you can quickly navigate to any of those;
and you can choose to automatically update all subclasses when you
change a declaration in the superclass.
This issue is probably my #1 time-waster and error-maker in
REALbasic, and fixing it would be a great boon to my productivity.
--
Joseph J. Strout
[EMAIL PROTECTED]
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>