Refactor->rename that affects only the current file, causes editor to break

Originator:bentford
Number:rdar://13652931 Date Originated:15-Apr-2013 08:55 AM
Status:Open Resolved:
Product:Developer Tools Product Version:XCode 4.6.1
Classification: Reproducible:Always
 
15-Apr-2013 08:55 AM Ben Ford:
Summary:
When performing a refactor->rename that affects only the current file, code editor is left in unusable state.  Navigating to a different file by clicking in the navigation pane will immediately fix the code editor.

Steps to Reproduce:

1. Open project
2. Create new class with a private instance variable, something that looks like this:

#import "TestClass.h"

@implementation TestClass
{
    NSString *testString;
}

@end


3. Highlight instance variable text: "testString".

4. Click Edit->Refactor->Rename

5. Type testString2 into dialog.

6. Click Save

At this point the code editor screen is unusable and has broken text layout (see screenshot).

NOTE: This behavior will NOT occur if you perform the refactor against code that appears in multiple files.

Expected Results:

Expected result is that the code editor remains useable after performing refactor->rename and text layout remains normal as well.

Actual Results:

Code editor screen is unusable and has broken text layout (see screenshot).

Regression:

In XCode 4.5 this behavior happens on all refactor->renames.  In XCode 4.6, it is only happening against code that appears in single file only.

Notes:

Related bug is rdar://11548384, which doesn't account for this behavior only happening in a single file.

15-Apr-2013 08:55 AM Ben Ford:
'Broken code editor.png' was successfully uploaded

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!