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
 Technical Support
 1522: Refactor across project boundaries
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

bugfix
Tomato Guru

Germany
324 Posts

Posted - Jun 11 2006 :  02:53:16 AM  Show Profile  Reply with Quote
Refactoring across project boundaries seems to be missing, e.g.

solution:
proj0: pluginbase
proj1: pluginimp0 : pluginbase
proj2: pluginimp1 : pluginbase

If I go to declaration of some method in proj0: pluginbase for refactoring it will only show symbol occurrences of proj0 and not of proj1 and proj2.

-bugfix


http://www.mf-sd.de

rhummer
Tomato Guru

USA
527 Posts

Posted - Jun 11 2006 :  12:25:53 PM  Show Profile  Reply with Quote
Do you mean by running a Find References? or doing a Rename that has it run Find References?

Tools Engineer - Raven Software
VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64

Go to Top of Page

bugfix
Tomato Guru

Germany
324 Posts

Posted - Jun 11 2006 :  12:28:21 PM  Show Profile  Reply with Quote
Ups forgot to mention, I was doing a rename.

http://www.mf-sd.de
Go to Top of Page

rhummer
Tomato Guru

USA
527 Posts

Posted - Jun 11 2006 :  12:32:53 PM  Show Profile  Reply with Quote
Do the other two projects use pluginbase or are they derived from pluginbase and use that?

Tools Engineer - Raven Software
VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64

Go to Top of Page

bugfix
Tomato Guru

Germany
324 Posts

Posted - Jun 11 2006 :  12:36:47 PM  Show Profile  Reply with Quote
proj0 contains header(s) w/ interface classes and some util functions
proj1+2 implement interface(s) declared in proj0

http://www.mf-sd.de
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Jun 12 2006 :  5:24:07 PM  Show Profile  Reply with Quote
i am assuming you mean something like this:

class PathologyResult
{
public:
    PathologyResult();
    virtual const char *displayResult() = 0;
    virtual const PathologyResult *cloneResult() = 0;
};

class PathologyBurnsResult : public PathologyResult
{
public:
    PathologyBurnsResult();
    const char *displayResult() { return "burns format"; }
    const PathologyResult *cloneResult() { return new PathologyBurnsResult; }
};

class PathologyXMLResult : public PathologyResult
{
public:
    PathologyXMLResult();
    const char *displayResult() { return "XML format"; }
    const PathologyResult *cloneResult() { return new PathologyXMLResult; }
};


which is actually drawn from one of my programs. in this case find results for cloneResult() and displayResult() only find for the current class, not for the other classes in this class tree.

the problem i can see here is what happens when you are deriving your class from a core library class that has virtual members? find references is fairly safe, it does not make any changes, but if you want rename or change signature to work then it gets more tricky.

i have already found myself wanting this, so lets see what the developers make of this.

case=1287

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

support
Whole Tomato Software

5566 Posts

Posted - Oct 06 2006 :  7:55:48 PM  Show Profile  Reply with Quote
Fixed in 1538.

Rename in a base class changes overriding names in derived classes. Rename of a overriding member in a derived class does not rename within a base class.
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