Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] FW: c/c++ refactoring contribution

here is my initial contribution for c/c++ refactoring. You may want to
pass on some of the info to the community when putting the code into
the CVS repository.
This does not come as CVS patch, as this is not a change to an 
existing plugin.


Plugins:
========
  + org.eclipse.cdt.refactoring
     + src
        + org.eclipse.cdt.internal.refactoring
        + org.eclipse.cdt.internal.refactoring.scanner
        + org.eclipse.cdt.internal.refactoring.ui
        + org.eclipse.cdt.refactoring
  + org.eclipse.cdt.refactoring.tests
     + src
        + org.eclipse.cdt.core.tests 

        + org.eclipse.cdt.refactoring.tests

As the cdt.refactoring plugin depends on ltk.ui.refactoring there is
an implicit dependency on jdt.core. See

https://bugs.eclipse.org/bugs/show_bug.cgi?id=61312


Licensing:
==========
The code is licensed under the EPL, if that is not apropriate I could
change that.
I use a header slightly different to the one used inside CDT. It is the
one suggested at
http://www.eclipse.org/legal/copyrightandlicensenotice.html
(and the one approved by my legal department).


Test cases:
===========
I have ported the existing test cases for renaming to the new

implementation and started to extend them with further tests.

There will be more to do for me.


Status:
=======
The core of the rename-refactoring is implemented. Regression tests that
passed with the old version also pass with the new version. There is one
exception to that for which I'll file a bug today.


The new version additionally fixes the bugs: 72612, 72717, 72605, 79231,

79282, 79295, 72620, 72617.

It is possible to register renaming participants with the same extension
point jdt is using. One of the regression tests shows how to do this.
This could be of interest to the debugger (renaming a function with a

breakpoint sitting on it?)

Undo/Redo is working by means of the refactoring framework. To check it
out you have to enable the 'Java Coding' Action Set in your perspective.


Effects on the GUI:
===================
The plugin adds a menu item to the context menu of the CDT-Editor.
(Refactoring - Rename (work in progress)).


What's next:
============
Starting after Easter I plan to

* finish the checks for shadowing/redeclaring vars/funcs/types.
* extend test cases.
* handle macros.
* extend test cases.
* integrate new rename, undo and redo into the GUI.
* remove old renaming facility.

Markus.






Attachment: initial-refactoring-contrib.zip
Description: initial-refactoring-contrib.zip


Back to the top