Whole Tomato Software Support Forum
Whole Tomato Software Support Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Visual Assist X
 Suggestions and Ideas
 better overview of class inheritance
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

drzoom
Ketchup Master

Switzerland
56 Posts

Posted - Oct 31 2006 :  04:19:02 AM  Show Profile  Visit drzoom's Homepage  Reply with Quote
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++.


best regards
Tobias

feline
Moderator

United Kingdom
10888 Posts

Posted - Oct 31 2006 :  08:40:06 AM  Show Profile  Reply with Quote
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://www.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

zen is the art of being at one with the two'ness
Go to Top of Page

support
Moderator

5029 Posts

Posted - Jan 31 2010 :  1:16:47 PM  Show Profile  Visit support's Homepage  Reply with Quote
case=3346 is implemented in build 1810

Whole Tomato Software, Inc.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Whole Tomato Software Support Forum © 2010 Whole Tomato Software, Inc Go To Top Of Page
Snitz Forums 2000