spoon
https://github.com/inria/spoon
Java
Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.
Triage Issues!
When you volunteer to triage issues, you'll receive an email each day with a link to an open issue that needs help in this project. You'll also receive instructions on how to triage issues.
Triage Docs!
Receive a documented method or class from your favorite GitHub repos in your inbox every day. If you're really pro, receive undocumented methods or classes and supercharge your commit history.
Java not yet supported1 Subscribers
Add a CodeTriage badge to spoon
Help out
- Issues
- Jenkins continuous integration (CI) jobs and configuration
- Regression of spoon-decompiler against latest snapshot
- `SpoonifierVisitor` uses deprecated `StringEscapeUtils` of `commons-lang3`
- [Bug]: package-info incorrect processing
- Set the type in factory methods of `CtBinaryOperator` and `CtUnaryOperator`
- The `OperatorHelper.getPromotedType` is not implemented for the `instanceof` operator
- Make `VisitorPartialEvaluator` configurable
- `PartialEvaluator` could add casts to the `CtExpression`s of a `Ct(Unary|Binary)Operator` and remove redundant casts from a `CtExpression`
- How can one match this pattern inside CtForEach and CtLambda
- `VisitorPartialEvaluator` should group constant terms when possible like `((a + 2) + b) + 3 = (a + b) + 5`
- Docs
- Java not yet supported