Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Feature Requests
 better overview of class inheritance

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
drzoom Posted - Oct 31 2006 : 04:19:02 AM
Hello

(C++, if it matters)

I'm refactoring a lot of old horrible code, and should get a good overview about the inheritance of classes. To tell it first, Doxygen is no solution for me .

With VS2005 is can see all base and derived classes. This is a big improvement to VS2003. But what I miss is informations about implemented and overridden methods.

It's very hard to look trough a hierarchy with five and more levels of inheritance to find a class which is overriding a method declared in the base class. Or to check, if a method is the first declaration or it is implementing an interface.

This are the two main cases I really need a lot. And I think other developers need them to.

Doxygen is no alternative, because I work with a code base with minimum ~750 files to parse for ~400 classes. While refactoring I working on a single interface and check/rename/redesign method for method. With Doxygen I had to reparse the whole code after every single step. I need a solution like Visual Assist X, with a quick reaction time. So if I move a method from an interface down to an implementation class, I would like to see the impacts after a few seconds.

The two common cases:

  • Common Case 1: I'm looking to the base class to an virtual abstract method. Then I need to know in which subclasses the method is implemented/overridden.

  • Common Case 2: I see a method (usually without the optional "virtual" keyword which could be a hint), and want to now, which interface this method is implementing. Think about multiple inheritance, which is very common in C++.

2   L A T E S T    R E P L I E S    (Newest First)
support Posted - Jan 31 2010 : 1:16:47 PM
case=3346 is implemented in build 1810
feline Posted - Oct 31 2006 : 08:40:06 AM
Case 1, if you are using 1539 or above then do a Find References on the function in the interface. This will find references in the derived classes. However this will not find references in any base / parent classes.

Case 2, this is the same problem that came up here
http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=5533

It is due to complexities like multiple inheritance that Find References, which is also used for rename, does not try to scan the base / parent classes. Find References is used by rename, which also opens up edge cases to do with the base class being a core system class that VA should not rename.

Since this question has now come up in 3 separate threads I have put in a feature request to get the developers feedback on this. However this does not mean we will actually try and do this.

case=3346

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000