Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 315428 - [refactoring] Renaming base features does not update inferred callouts
Summary: [refactoring] Renaming base features does not update inferred callouts
Status: ASSIGNED
Alias: None
Product: Objectteams
Classification: Tools
Component: OTDT (show other bugs)
Version: 1.4   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Stephan Herrmann CLA
QA Contact:
URL:
Whiteboard: trac
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-02 13:00 EDT by Stephan Herrmann CLA
Modified: 2013-07-14 08:27 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 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.