spoon-core-6.2.0
surli
released this
08 Mar 10:27
·
2829 commits
to master
since this release
Thanks for the new contributors on this release 👍
New features
- Add support to change the destination file on disk for modules, packages and types. (PR: #1610)
- Add CtScanner#scan(Map) for a better EarlyTerminatingScanner. (PR: #1805)
- Add support for paths for all elements from model root (CtElement#getPath). (PR: #1874)
- One could add a type member that already exists (equals but not same) and modify it afterwards. (PR: #1864)
- Add method CtMethod#getTopDefinitions. (PR: #1844)
- Add Refactoring#copyType and #copyMethod for advanced cloning. (PR: #1884)
- All RoleHandlers supports set/add/remove. (PR: #1793)
- Add methods getRoleHandlers(Class), forEachRoleHandler, getRoleHandlerWrtParent in RoleHandlerHelper. (PR: #1794)
- SpoonModelTree GUI can be created with a custom root element. (PR: #1799)
- Add support for clone process customization with CloneHelper#addClone. (PR: #1802)
- Spoon Filter implements java.util.function.Predicate. (PR: #1798)
Bug Fixes
- GetDocComment returns the complete Javadoc comment, incl. tags. (PR: #1822)
- Add RoleHandler setter for SUPER_TYPE and INTERFACE. (PR: #1890)
- CtCatchVariable#multiType role TYPE changed to MULTI_TYPE. (PR: #1877)
- Fully comply with the contract of CtScannerTest#testScannerCallsAllProperties. (PR: #1870)
- Change how DJPP prints "return" so that it's checkstyle-compliant. (PR: #1871)
- Unsettable properties are now really unsettable, and there is a test for this. (PR: #1893)
- Fix equality for assignments. (PR: #1845)
- GetDocComment() returns asterisk (*) and spaces before comment. (PR: #1841)
- Small bugs in MethodTypingContext and CtTypeReference. (PR: #1838)
- ClassTypingContext resolveTypeParameter can gracefully handle outer parameters. (PR: #1837)
- Fix StringIndexOutOfBoundsException in CtJavadoc#getShortDescription. (PR: #1827)
- TypeFactory#get(qualifiedName) for class names containing
$
. (PR: #1891) - Stackoverflow on AbstractTypingContext. (PR: #1817)
- NPE when using MavenLauncher on module containing dependency with variable. (PR: #1810)
- Undo #1798 for backward compatibility. (PR: #1811)
- Filter extends Predicate is now working with projects in JDK7. (PR: #1808)
- Shadow classes should be interpreted according to their kind (enum, interface, etc). (PR: #1806)
- Easier specification of template parameters (without annotations). (PR: #1801)
- DefaultJavaPrettyPrinter prints an ERROR comment instead of raising an exception when a field is missing in the model. (PR: #1797)
- Various fixes in VisitorPartialEvaluator. (PR: #1800)
- DefaultJavaPrettyPrinter exposes the tokenWriter for subclasses. (PR: #1796)
- ParentFunction doesn't fail on null parent. (PR: #1795)
- Add generic typing to TypeFactory constants. (PR: #1792)
- serialization: SourcePosition#getFile() after deserialization. (PR: #1847)
- Fix order of type members. (PR: #1787)
Documentation
- Add missing javadoc. (PR: #1843)
- Add missing Javadoc in ModelsUtils. (PR: #1860)
- Missing documentation in public methods used for pretty-printing. (PR: #1854)
- Another set of Javadoc comments for public methods. (PR: #1856)
- Add API documentation to interface JavaReflectionVisitor. (PR: #1850)
- Add doc for public method in RtMethod. (PR: #1858)
- Fix Javadoc (incorrect starting tag). (PR: #1839)
- Fix missing javadoc. (PR: #1840)
- Improve Javadoc of #getAllMethods. (PR: #1836)
- Improves the documentation of getOverridingExecutable. (PR: #1828)
- Bump Spoon number in doc. (PR: #1790)
Refactoring
- Improve Meta-Metamodel classes in src/test. (PR: #1894)
- Refactor cloning code to increase extendability. (PR: #1878)
- Remove CtParameterReferenceImpl#declaringExecutable. (PR: #1875)
- Push down the equality checking code in EqualsVisitor. (PR: #1853)
- Hide some methods that are clearly meant to be package visible. (PR: #1855)
- Internal utility type in JDTTreeBuilder should be package-visible. (PR: #1848)
- Package-visible class CommentHelper should have package-visible methods. (PR: #1849)
- Remove wrong comments and unused imports. (PR: #1803)
- prettyprinter: Restore DJPP#writeHeaders that clients can override. (PR: #1866)
Tests
- architecture: All public API methods should be documented with Javadoc. (PR: #1867)
- Fix CI failure due to interaction between #1864 and #1787. (PR: #1868)
- Move metamodel related method to class SpoonMetaModel for better discoverability. (PR: #1851)
- Add method ModelUtils#getOptimizedString for handling EOL, TAB, etc in assertions. (PR: #1804)
Chores
- Enable unchecked compiler warnings. (PR: #1886)
- Enables incremental compilation. (PR: #1885)
- Fix javadoc linter config in pom.xml. (PR: #1881)
- Add Eclipse's .checkstyle to .gitignore. (PR: #1882)
- Add a script to update pom.xml for running pit-descartes. (PR: #1820)
- Add CI script to check whether Spoon compiles with Maven 3.3.9. (PR: #1815)
- revapi: Fix revapi commenting bot. (PR: #1863)
- Prepare for next development iteration.
Authors
Name | Nb Commit |
---|---|
Martin Monperrus | 30 |
Pavel Vojtechovsky | 21 |
Simon Urli | 9 |
Egor18 | 4 |
Nicolas Harrand | 2 |
Thomas Durieux | 1 |
Shantanu | 1 |