Spoon v6.1.0 Release Notes
Release Date: 2017-12-20 // over 6 years ago-
๐ Christmas release! ๐ ๐ โจ
๐ The main new feature of this release is the integration of Java 9 module in Spoon model, but it also contains some other new features and bug fixes.
Thanks for the contributors, merry christmas and happy new year for all of you :)๐ New features
- โ Add Factory#createQuery(Iterable). (PR: #1777)
- โ Add a method to get the unit type of the compilation unit. (PR: #1776)
- โ Add support for Java9 constructs in the Spoon metamodel (CtModule and related concepts). (PR: #1730)
- ๐ Support partial evaluation of new Object[]{...}.length -> Literal. (PR: #1750)
- โ Add an explicit construct for imports in the metamodel (CtImport). (PR: #1707)
- โ Add method hasAnnotation. (PR: #1737)
- โ Add inheritance between roles (CtRole#getSuperRole(), CtRole#getSubRole()). (PR: #1725)
- CtModel implements CtQueryable. (PR: #1739)
- ๐จ Processor properties can be passed as string. (PR: #1734)
๐ Bug Fixes
- CompilationUnits are created on demand. (PR: #1782)
- ๐จ Start prefix space in ElementPrinterHelper. (PR: #1768)
- ๐ Fix a NPE in CtTypeImpl#isSameParameter in noclasspath. (PR: #1767)
- CtQueryImpl handles well preallocated exceptions done by JVM optimization. (PR: #1759)
- ๐ Fix bug in partial evaluator. (PR: #1751)
- ๐ Fix dirty exception in checking code at the end of model building. (PR: #1749)
- annotation : Bug when using an annotation targeting declaration and types. (PR: #1774)
- โ test : Improve CtGenerationTest and CtScannerTest. (PR: #1736)
๐ Documentation
- โ Add explanation in Javadoc of CtTypeReference#getActualClass. (PR: #1761)
- ๐ Bump version number after release 6.0.0. (PR: #1732)
๐จ Refactoring
- OutputType is available in Environment. (PR: #1784)
- CompilationUnit returns an unmodifiable collection. (PR: #1781)
- Manage sourceOutputDirectory in Environment. (PR: #1770)
- ๐ป SetSourceClasspath throws an exception in case a .class is given. (PR: #1766)
- โ Add a new way to build a query in QueryFactory. (PR: #1740)
โ Tests
- Check inheritance behaviour when using noclasspath with a sourceclasspath. (PR: #1760)
- ๐จ Refactor test to be independent from JDK version. (PR: #1764)
- Metamodel's MMField valueTypes are not implicit. (PR: #1756)
- โ Add test for substitution of
return expression.S()
with expressions. (PR: #1755) - Prepare upcoming behavioral change in template matcher. (PR: #1748)
- โ Add test for getAnnotation().value() on shadow classes. (PR: #1738)
Other
- ๐ Skip checkstyle in Travis install phase. (PR: #1746)
Unknown
- Prepare for next development iteration.
Authors
Name Nb Commit Simon Urli 20 Pavel Vojtechovsky 9 Martin Monperrus 3