Bug 399210 - Extract Constant incorrectly extracts case labels in switch statements
Summary: Extract Constant incorrectly extracts case labels in switch statements
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-refactoring (show other bugs)
Version: 8.2   Edit
Hardware: PC Linux
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-27 17:53 EST by Farnaz Behrang CLA
Modified: 2020-09-04 15:25 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Farnaz Behrang CLA 2013-01-27 17:53:43 EST
In the following program...
==========
int main(){
	char c;
	switch( c )
	 {
	    case 'A': //select 'A'
	    break;
	  }
     return 0;
}
==========

If you select 'A' (on line 5), and invoke the Extract Constant refactoring, CDT produces the following incorrect code:

==========
static const char extracted_constant = 'A';

int main() {
	char c;
	switch( c )
	 {
	case extracted_constant: //select 'A'
	    break;
	  }
     return 0;
}
==========

The case label changed to integer constant.