Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Feature Requests
 Find references of specific object method

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
Dusan Posted - Dec 10 2013 : 2:21:02 PM
Currently if I invoke to find references for method, it lists all instances of method for any object with equally named method.
It would be fine to have an option to look only for all instances of call to method of specific object.

For example:
static UIElement m_spec_elm = new BlahBlah();

...
m_spec_elm.Focus();

...
if (!m_spec_elm.IsFocus)
m_spec_elm.Focus();


I want only instances where m_spec_elm.Focus() is invoked.
Ofcorse I can use find dialog, but it is not as handy and it is not as transparent.
9   L A T E S T    R E P L I E S    (Newest First)
feline Posted - Mar 11 2014 : 12:34:09 PM
Right Click context menu and 'Find All References' is an IDE command, and has nothing to do with VA.

Can you explain, perhaps in a new thread, what problems you are having with VA's Find References command, and also what you mean by "Display Inherited and Overridden References" does not work? "Display Inherited and Overridden References" does work for me, search on a virtual function in a base class, and then toggling this alters what is displayed in the Find References Results window.

Its certainly possible you are seeing one or more bugs with VA's Find References, if so it would be useful to know what problems you are seeing.

You have posted this to two different threads, but discussing this in two different threads isn't going to work well, things will be split up.
wesley.olis Posted - Mar 11 2014 : 02:47:25 AM
Hi,

I think I have figured it out.
Right Click context menu 'Find All References'
does what I am looking for but place its results in a different output format.

But if executed via the main window menu.
VASSISTX->"Find Referances", then it doesn't do what I am looking for
and neither does the "Display Inherited and Overridden References" work.

I see that display unknown guess hits, it also a cause for a little bit of noise.
Should the two menu functions not be do the same thing as I already see
their is find reference for in file.

Feels like a little bit of inconsistency their to myself.


feline Posted - Dec 30 2013 : 4:04:16 PM
This makes sense, I have put in a feature request to see what our developers make of it:

case=79290
Dusan Posted - Dec 25 2013 : 12:48:37 PM
quote:
Originally posted by feline
Filtering the results sounds more useful in general, but will not help you if you have multiple different variables with the same name. Do you have any thoughts here?


It must be looking for all references in current context. For example, if variable is a field of one class, it should list only instances of method calls to this field.

Let's say, that class Foo has a field "m_sel" of type FooSel, which has a method "SelectAll".
Then in code is:

class FooSel
{
...
void SelectAll();
...
};

class Foo
{
FooSel * m_sel;
...
};

...

Foo mf = new Foo();
mf->m_sel->SelectAll();

If I right click on mf->m_sel->SelectAll() and choose "Find all specific references", I want all instances of call to Foo::m_sel::SelectAll and not all instances of all methods that has name SelectAll.

Dusan
feline Posted - Dec 23 2013 : 9:56:03 PM
Apologies for the slow reply.

I am trying to decide the best approach here. A more limited Find References as you first suggested, or an ability to filter the Find References Results list after you have run the find, to only show all results that contain your filter string.

Filtering the results sounds more useful in general, but will not help you if you have multiple different variables with the same name. Do you have any thoughts here?
Dusan Posted - Dec 11 2013 : 10:38:58 AM
quote:
Originally posted by foxmuldr

"then delete any lines in the results that you are not interested in by using the Del key."

Did not know that. Another awesome VAX feature. :-)


I would prefer some sort of switch based filter. My goal is not to overlook something.
foxmuldr Posted - Dec 11 2013 : 05:34:59 AM
"then delete any lines in the results that you are not interested in by using the Del key."

Did not know that. Another awesome VAX feature. :-)
feline Posted - Dec 10 2013 : 7:43:21 PM
Find References is designed to find all references to the symbol you have done the find on.

Here, have you considered doing a Find References on the variable, "m_spec_elm", then in the Find References Results window you can use Ctrl-F to search the results for the method call you want. Not as direct, but you can do this now, and you can then delete any lines in the results that you are not interested in by using the Del key.

Jay, I have never used pivot tables, so I cannot comment on them. The concept of intersections makes sense, but I tend to agree that any GUI for this is likely to be messy and complex to use.
jay.carlton Posted - Dec 10 2013 : 5:49:13 PM
It seems to me what you're asking VA X to do is to find the intersection of two different Find References results sets, or to compose them, and I tend to think adding pivot table support to the find dialog might confuse some people.

I don't think the GUI is the way to go for this. CppDepend would be a good tool to look at for nontrivial searches through your code. You can use it to find all places where objects of a given type with a name matching some criteria call a method whose first argument derives from CObject whose body uses a static_cast and has a cyclomatic complexity of between 8 and 20. It's all done with a custom LINQ system, so you can mix and match parts of queries to get whatever result set you want. It's not really set up to be an editing tool, though; it's more for analysis and quality tracking. (It's not really a competitive tool to VA X in my opinion, so I hope they don't mind my mentioning it here.)

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