Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Better Find References
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Dusan
Whole Tomato Software

Slovakia
177 Posts

Posted - Nov 11 2013 :  05:05:48 AM  Show Profile  Reply with Quote
It would be fine to have similar options as in Reflector's Analyze tool.
Particulary:
Assigned By, Exposed By, Used By, Instantiated By

Exposed By - All instances, where symbol is exposed (i.e. used as argument of exposed method, used as property value, etc.)
Instantiated By - All intances of symbol, where it is created new instance of it.
Assigned By - All instances, where instance of symbol is assigned
Used By - All other instances, where symbol is used (and does not fall into previous groups).

Edited by - Dusan on Nov 11 2013 05:15:17 AM

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Nov 27 2013 :  10:48:39 AM  Show Profile  Reply with Quote
An interesting idea, I have put in a feature request to see what our developers make of this:

case=78686

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

foxmuldr
Tomato Guru

USA
382 Posts

Posted - Nov 27 2013 :  12:18:43 PM  Show Profile  Reply with Quote
How many people work on VAX?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Nov 27 2013 :  6:19:12 PM  Show Profile  Reply with Quote
We are a relatively small company, but very focussed, and hopefully effective.

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

Dusan
Whole Tomato Software

Slovakia
177 Posts

Posted - Nov 28 2013 :  02:48:14 AM  Show Profile  Reply with Quote
In addition to this:

Current Find references supports switch "Display overriden and inherited references".

What is missing is a way to search ONLY for those.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Nov 28 2013 :  1:10:52 PM  Show Profile  Reply with Quote
If you are asking VA to show ONLY overridden and inherited references then you are actually asking VA to remove all references of the function you triggered Find References on. Or am I misunderstanding?

From a support point of view, telling VA to return zero references to the item you just just did a Find References on is a problem just waiting to happen

What are you trying to achieve here?

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

Dusan
Whole Tomato Software

Slovakia
177 Posts

Posted - Nov 29 2013 :  05:56:05 AM  Show Profile  Reply with Quote
What you wrote is true for overriden methods, but not inherited classes.

Lets say you have a base class:
class foo_base
{
virtual ~foo_base() {}
};

And somewhere in code you have some classes derived from it:
class foo_1 : public foo_base {...}
class foo_2 : public foo_base {...}
class foo_2 : public foo_base {...}
class foo_2 : public foo_base {...}

each in some different header file or cpp file.

Now, if you like to get ONLY a list of all classes that inherits from foo_base, you can not. It lists also all instances to foo_base:

// not wanted references
void use_foo(foo_base * foo) { ... }
foo_base * get_foo(...); //

And so on...
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Dec 09 2013 :  6:10:05 PM  Show Profile  Reply with Quote
Are you trying to understand the class hierarchy, so you only want the declarations of the derived classes? Or are you trying to find all references to the derived classes in your code base?

I can see that Find References is not helping in either case, but this is a slightly different task than the one Find References is designed for.

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

Dusan
Whole Tomato Software

Slovakia
177 Posts

Posted - Dec 10 2013 :  03:27:48 AM  Show Profile  Reply with Quote
> Are you trying to find all references to the derived classes in your code base?
Yes.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Dec 10 2013 :  7:38:58 PM  Show Profile  Reply with Quote
Once you know which classes are derived from the base class, you can run individual Find References on each of those classes, and clone the Find References Results window as you go, allowing you to keep all of the results open at once, along side each other.

Why are you after this particular find? It seems a very specific request, but I am not initially sure why this is helpful, and I am not sure how much use it would get in general.

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

Dusan
Whole Tomato Software

Slovakia
177 Posts

Posted - Dec 11 2013 :  01:55:44 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Once you know which classes are derived from the base class, you can run individual Find References on each of those classes, and clone the Find References Results window as you go, allowing you to keep all of the results open at once, along side each other.

But my goal is to list all derived classes while I do not like to go and manually open each file in solution that contains classes derived from my abstract class.

quote:
Originally posted by feline
Why are you after this particular find? It seems a very specific request, but I am not initially sure why this is helpful, and I am not sure how much use it would get in general.


My C++ libraries must be generic, so I use many abstract classes with all pure virtual methods and time to time I have to add or remove some method(s) from the abstract class. However that means, that also I need to modify all derived classes and sometimes I need to change logic of related code to those classes. It is currently not as trivial operation, so I must use compiler errors to find all classes derived from abstract one.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Dec 23 2013 :  12:50:12 PM  Show Profile  Reply with Quote
Apologies for the slow reply.

If I understand correctly, you actually want to find just the derived classes then, so effectively you are trying to use Find References to explore the class hierarchy. Is this right?

This is something we are looking into doing at some point, since exploring this is often useful:

case=79187

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

sean
Whole Tomato Software

USA
2817 Posts

Posted - May 23 2014 :  3:05:07 PM  Show Profile  Reply with Quote
A new case was opened for filtering of Find References results: case=78686.
case=78686 is implemented in build 2036.
See the context menu for filtering commands and keyboard shortcuts.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000