INRIA / INRIA/spoon

differences between Spoon and JavaParser

Open
#1,303 73 comments 4 reactions 0 assignees View on GitHub
discussion
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.