Author |
Topic  |
|
drzoom
Ketchup Master
   
Switzerland
57 Posts |
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++.
|
best regards Tobias
|
|
feline
Whole Tomato Software
    
United Kingdom
19177 Posts |
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 |
zen is the art of being at one with the two'ness |
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - Jan 31 2010 : 1:16:47 PM
|
case=3346 is implemented in build 1810 |
Whole Tomato Software, Inc. |
 |
|
|
Topic  |
|
|
|