Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 177098

Summary: [encapsulate field] Attempting to encapsulate a field assigned to itself does not encapsulate the field read
Product: [Eclipse Project] JDT Reporter: Brett Daniel <bdaniel3>
Component: UIAssignee: JDT-UI-Inbox <jdt-ui-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3    
Version: 3.3   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard: stalebug

Description Brett Daniel CLA 2007-03-12 23:45:33 EDT
Build ID: I20070222-0951

Steps To Reproduce:
Encapsulate field f on the following:

class A {
  int f;
  void m(){
    f=f;
  }
}

Yields the following refactored code:

class A {
  private int f;
  void m(){
    setF(f);
  }
void setF(int f) {
	this.f = f;
}
int getF() {
	return f;
}
}

Note that "setF(f);" should be "setF(getF());".

More information:
Comment 1 Brett Daniel CLA 2007-03-16 11:47:58 EDT
Bug also appears for operation assignments. Encapsulating f *= f yields setF(getF() * f).
Comment 2 Eclipse Genie CLA 2019-09-25 18:22:05 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.