Eclipse refactoring can work in headless mode. We already have some code
to analyse drls and get used classes and fields.
1) store all used classes and fields in a database
2) when a class refactoring is attempted use the database in 1) to
select all the potentially impacted files and put them into a headless
3) apply the refactoring and show the results to the user who may
decline/accept(with commit comments) them. Accepting them results in
each changed file being committed and the version increased.
4) allow additional work hooks, like deployment migration
wizards/scripts to know what has changed as part of that patch.
I think the used fields currently only works on direct field accessors,
bonus points will be needed to analyse expressions to also get the used
classes and fields.