Spoon 5.2.0
spoon-bot
released this
30 Jun 08:57
·
3497 commits
to master
since this release
Metamodel
- Clean reset of collections in intercession methods. (PR: #712)
- All setters allow null parameters. (PR: #694)
- Introduces CtModel (Issue: #584) (PR: #589)
- Creates factory methods for primitives. (Issue: #651) (PR: #700)
- Remove CtImplicitTypeRef and CtImplicitArrayTypeRef. (PR: #667)
New features
- shadow : Build shadow elements using Reflection API. (PR: #569)
- checks : Disable AST checks. (Issue: #649) (PR: #684)
- comment
- filter : Adds LineFilter to reason about statements in blocks. (PR: #678)
- clone : Adds the handy CtElement#clone (and deprecates CoreFactory#clone). (PR: #677)
- Refactoring of CtElement.equals for performance. (PR: #674)
- A faster implementation of 'replace' based on code generation. (PR: #632)
Fixes
- annot : Reference to an annotation field as an invocation. (Issue: #578) (PR: #660)
- ast : Align CtNewClass with CtConstructorCall. (PR: #595)
- cache : Invalidate cache of the compiler. (Issue: #575) (PR: #577)
- clone
- comment
- compiler : Add class generated to compilation unit. (PR: #564)
- conditional : Puts parenthesis when it is necessary. (PR: #669)
- factory : Gets inner type from Class/InterfaceFactory. (closes #640). (Issue: #640) (PR: #682)
- filter : Fixes NPE in VariableAccessFilter when the getVariable() is null (e.g. super). (PR: #641)
- getparent : GetParent(Filter) does not return the current element when it matches the filter. (PR: #638)
- lambda : Builds executable ref from a lambda. (PR: #665)
- noclasspath : NPE in a scope usage. (Issue: #574) (PR: #576)
- parent
- performance : Rewrite CtExecutableReference#isOverriding. (Issue: #586) (PR: #592)
- printer : Protects each getParent invocation in DefaultJavaPrettyPrinter. (PR: #704)
- ref : Scan declaring type for CtExecutableReference. (PR: #715)
- unbox : Don't throw a SCNFException with #unbox(). (PR: #620)
- Declaring type OR package should be set for a reference, not both. (PR: #613)
- Annotation values traversal should be delegated to scan(), fixes #603. (Issue: #603) (PR: #614)
- Fix bugs in ImportScannerImpl. (PR: #596)
- Fix a number of bugs related to handling of unnamed packages. (PR: #705)
- Fix bug introduced in #689 (order to iterate with a Deque and Stack are different). (Issue: #689) (PR: #710)
- Fix nullpointer in hasTypeInImports. (PR: #672)
- Use CtTypeParameterRef for formal ops. (PR: #620)
- Fix bugs in ClassFactory.create() methods. (PR: #610)
- Fix many small bugs with double usage of AST nodes in different subtrees,. (PR: #645)
- Doesn't warn for implicit source code. (PR: #696)
- Fix a bug in CodeFactory.createThisAccess() (target was not set). (PR: #612)
- Fix bugs with creating CtTypeAccess without cloning reference, that leads to problems with replace() in graph. (PR: #611)