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

Bug 315428

Summary: [refactoring] Renaming base features does not update inferred callouts
Product: [Tools] Objectteams Reporter: Stephan Herrmann <stephan.herrmann>
Component: OTDTAssignee: Stephan Herrmann <stephan.herrmann>
Status: ASSIGNED --- QA Contact:
Severity: enhancement    
Priority: P3 CC: jogeb, marco
Version: 1.4   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard: trac

Description Stephan Herrmann CLA 2010-06-02 13:00:38 EDT
(Originally from http://trac.objectteams.org/ot/ticket/133)

(original report by mosconi:)
When renaming a method or field in a base class via "Refactor->Rename", references in the form of inferred callouts are not updated. 
 This occurs with the refactor dialog as well as with inline editing.

(comment by jogeb:)
The rename refactoring tries to find the references via the java search, but the java search doesn't find inferred callout references yet. It must be discussed wether the java search or the rename refactoring itself should be able to find the inferred callouts.



Actually, this feature requires an indirect search: we must search 
for all references to the role methods generated from inferred callouts 
where the base side is the method being renamed.
Comment 1 Stephan Herrmann CLA 2013-07-14 08:27:05 EDT
For callout-to-field things look good already:
- any "f" or "this.f" using inferred callout-to-field is already renamed correctly (both read and write access)
- if an explicit c-t-f exists the rhs of the binding is correctly renamed
- only when a field reference implicitly uses an explicit accessor the names of field reference and accessor diverge, but that doesn't really harm.
  It's the very nature of explicit c-t-f to decouple names of role & base. An inferred c-t-f re-introduced that dependency. When a refactoring is used nothing breaks.