differences between Spoon and JavaParser
- Dominant language
- Java
- Stars
- 2k
- Forks
- 392
- Avg merge
- 11h 24m
- Merged PRs (30d)
- 36
Description
Spoon and [JavaParser](https://github.com/javaparser/javaparser) can both be used for analyzing and transforming Java source code.
Comparison about common features:
|Aspect| Spoon | JavaParser |
|------|-------|------------|
|Declaration | Native navigation from [usage to declaration](http://spoon.gforge.inria.fr/references.html)| Supported in the [symbol resolver](https://github.com/javaparser/javasymbolsolver) |
|License| Double license MIT or [CeCILL-C](http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html) | LGPL License or Apache License |
|Comments| Stored and attached to elements | Stored and attached to elements |
Unique features in Spoon:
* Spoon provides a way to semantically analyze code elements (methods `isSubType`, `isOverriding`)
* Spoon provides a way to manipulate library classes as normal Spoon object (so called [shadow classes built using runtime reflection](http://spoon.gforge.inria.fr/reflection.html))
* Spoon provides a [statically typed template engine](http://spoon.gforge.inria.fr/template_definition.html)
* Spoon allows to compile the transformed source code on the fly.
* Spoon gives you [paths](http://spoon.gforge.inria.fr/path.html) to uniquely identify source code elements
Contributor guide
Assessment
This issue has not been assessed yet.