Spoon v6.2.0 Release Notes
Release Date: 2018-03-08 // about 6 years ago-
๐ 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)
- 0๏ธโฃ 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)
- 0๏ธโฃ 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