-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
[core] Autofixes feature development #693
Comments
Hi to everyone! We apologize for any inconvenience for those who expected the feature to be done by March. After 6 months of research we have iterated through, at least, 10 different approaches, and we were implementing what we believed was the best one according to our goals. As this new approach of dealing with the translation from AST to text changes is completely different than the previous one, all the current open PRs related to any autofixes feature are being closed. Again we apologize, but we are confident that we are giving the best of ourselves to develop a great solution to this tremendous feature in the best possible way. |
Hi @MatiasComercio, |
This project has not seen much development since the initial PRs. As part of the development of PMD 7 we actually removed part of those changes to cleanup the AST API. FWIW I have a lot of local changes which are improvements of the AST API, designed to in the end enable edition of source files from the AST. I plan to open PRs for PMD 7 to gradually merge those changes. I think we could put that feature back on the table once that's done, but I'm not sure the feature will be finished and polished for PMD 7. |
@oowekyala, thank you for updates, checked #3692, it has 78+ files changed and that's impressive :) For example, you may decompose the routine self-explanatory tasks directly from the code using |
For whoever is interested in autofixing PMD issues, the feature is available in https://github.com/solven-eu/cleanthat (which also covers various CheckStyle|SpotBugs issues, and various others patterns (e.g. to take advantage of jdk8 Streams API)). Current set of covered rules is available at https://github.com/solven-eu/cleanthat/blob/master/MUTATORS.generated.MD PMD rules can be covered through https://github.com/solven-eu/cleanthat/blob/master/java/src/main/java/eu/solven/cleanthat/engine/java/refactorer/mutators/composite/PMDMutators.java |
Autofixes
Hi to everyone! We are developing autofixes for PMD! 馃帀
Together with @gibarsin, and with @jsotuyod as our mentor, we are implementing all the autofixes features listed here.
This issue will serve as our roadmap for all the changes that we are going to implement, linking the pull requests that implement each of the changes listed below. Note that we will be updating this list as ideas or suggestions arise.
Any feedback, suggestion or idea you may have will be really appreciated and of course welcomed.
We hope, and it is our intention, that autofixes get fully implemented by July, 2018.
That's all for now! Thanks in advance to everyone making this HUGE feature possible with feedback, bug reports (we hope not 馃槃), and any kind of help you may give us.
List of changes
addChild
,setChild
,removeChild
,remove
)Fix
when reporting a new rule violationFix
es after each rule finishes traversing the ASTautofix
as a command line parameterBare in mind issues
Extras
Deprecated changes
remove
operation over nodes[ ] [core] Add insert & replace child nodes聽#858: Addinsert
&replace
operation over nodesThe text was updated successfully, but these errors were encountered: