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
 1555: Move implementation
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

diavo
Senior Member

Germany
31 Posts

Posted - May 10 2007 :  02:30:17 AM  Show Profile  Reply with Quote
Hello,
there is an odd behaviour that occurs just spontaneous, so that I can't explain when: If I move some implementation from a header file, it will be removed there but is not beeing inserted in the cpp. Undoing that operation and trying it one more time, all is OK. This can be very dangerous, if I don't check that moving each time.

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 10 2007 :  08:11:36 AM  Show Profile  Reply with Quote
Clearly that is bad. I have run Move Implementation a LOT of times when testing things and I have never seen this problem.

How often does this happen?
Is there any form of pattern?
Do you use source control? I am wondering if the cpp file is checked in and read only, so the first time you try Move Implementation the cpp file gets checked out, but since it was read only the move failed. Then the second time you try the move the file can be edited, so it works.

Beyond this I am not sure what might trigger this problem.

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

diavo
Senior Member

Germany
31 Posts

Posted - May 10 2007 :  10:21:06 AM  Show Profile  Reply with Quote
Well, both files are not read only. I think the behaviour occurs only, if the method that is moved is positioned between other function in the source file and not at the end. But...only sometimes. Maybe if there is something, that is unexpected like comments or so?!
Another NEW problem is, that I cannot move the implementation of operators.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 10 2007 :  12:28:37 PM  Show Profile  Reply with Quote
Do you see this on overloaded functions?
Does the cpp file contain methods from more than one class? Or non class methods?

I am searching for any sort of clue.

Next time you notice this would you be able to quit and reload the IDE before doing the second move? If you do this and the move fails a second time then maybe we will have a reproducible test case.

Refactoring on overloaded operators, this is a known issue. We have found some cases where refactoring on overloaded operators creates the wrong code, so we have disabled refactoring on these functions while we work on the issue.

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

diavo
Senior Member

Germany
31 Posts

Posted - May 11 2007 :  03:52:44 AM  Show Profile  Reply with Quote
The file has more than one classes. I found one hint for the problem:
In a case the implementation is erased, the header file wasn't saved. After saving the header file, moving implementation worked fine.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 11 2007 :  08:10:36 AM  Show Profile  Reply with Quote
I have just tried this 6 times, using VS2005 and VA 1555, with a modified header file, and all of the moves worked.

Which IDE are you using?
Have you modified your "Refactor Create Implementation" autotext entry?
Do you have any other plugin's installed?

I am searching for any clues that might explain why you are seeing this problem, but I don't think I have ever seen it in all of my testing.

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

diavo
Senior Member

Germany
31 Posts

Posted - May 14 2007 :  04:09:17 AM  Show Profile  Reply with Quote
1. VS2005 Pro
2. no
3. no

I'm sorry that I can't provide you with a more detailed description of the beaviour.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - May 14 2007 :  08:57:11 AM  Show Profile  Reply with Quote
Do you see any problems with any other refactoring operations?
any problems with alt-g?

When this happens are you running more than one IDE, or only one IDE?

I am searching for any clues.

Using VS2005 if I make my cpp file read only, turn off editing of read only files in the IDE options, and then trigger Move Implementation then I see the same problem. The trigger is clearly different, but I have reproduced something, which gives us something to fix.

case=6565

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

support
Whole Tomato Software

5566 Posts

Posted - May 31 2007 :  01:15:56 AM  Show Profile  Reply with Quote
fixed in build 1557
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