spoon-core-6.1.0
surli
released this
20 Dec 16:20
·
2884 commits
to master
since this release
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 |