Community
Participate
Working Groups
We are using internal jdt calls to provide support for refactoring java elements. JavaRenameProcessor, MethodChecks, RenameCompilationUnitProcessor, RenameFieldProcessor, RenameJavaProjectProcessor, RenameNonVirtualMethodProcessor, RenamePackageProcessor, RenameSourceFolderProcessor, RenameTypeProcessor & RenameVirtualMethodProcessor are being used. We couldn't find public API to replace this usage. This is blocking our effort to remove access to JDT internal source.
Please give more details why you use these classes.
Setting to 'remind' while waiting for more information.
We have use cases when we indirectly (programmatically) trigger rename refactoring (without using the "Refactor ... Rename" menu or the wizard). To do this, based on the element type we instantiate one of the Rename Processors which we need to pass as an argument to the RenameRefactoring(..) constructor. ex. if selected element is a CU we use RenameCompulationUnitProcessor, for Field we use RenameFieldProcessor etc We're using MethodChecks to access the isVirtual(..) method but we can replace its usage with our own utility method. However the methods in this class are fairly handy and it would be useful if we made it API.
Dirk, can you respond?
Vikas, can you please comment on why the API class RenameSupport, which is designed to do this, doesn't work for you ? One additional question: when you create the processor are you executing them directly or via a RenameRefactoring. Directly executing them by passes participant loading. MethodsChecks will very likely never become API in the UI layer. It is pure core functionality and if a plug-in provides such API it should happen in JDT/Core.
(In reply to comment #5) Ok ... my fault ... I think RenameSupport will work. I believe we started using the internal processors before RenameSupport was born. Regarding MethodChecks ... i can add my own utility method. Any idea if jdt core ever considered providing something similar?
As of now 'LATER' and 'REMIND' resolutions are no longer supported. Please reopen this bug if it is still valid for you.