Releases
spoon-core-8.0.0
New features
Add new variable refactoring class. (PR: #3162 )
Add role EMODIFIER for extended modifier. (PR: #3098 )
CtImportVisitor#visitUnresolvedImport. (PR: #3086 )
DecompiledResource: Add a SpoonResource that can be used in any launcher. (PR: #3124 )
SpoonifierVisitor: A visitor that generates the spoon code to recreate a spoon model. (PR: #3105 )
decompiler: Add support for procyon. (PR: #3123 )
visualisation
Panel added to show Spoon objects' properties. (PR: #3107 )
Spoon visualiser improvement for accessing JavaDoc. (PR: #3101 )
spoon-visualisation: Spoon AST visualisation tool. (PR: #3072 )
Bug Fixes
CreateVariableAssignment now creates a CtVariableWrite. (PR: #3157 )
Fixes the toString() call on an array. (PR: #3134 )
CtCompilationUnitImpl: Fix regression after auto-import refactoring. (PR: #3131 )
Fix regression when rewriting static field access. (PR: #3115 )
The type of string concatenation is not null. (PR: #3075 )
(ParentExiter.java): set position for implicit loop body block. (PR: #3084 )
Fix regression in field accesses of static fields. (PR: #3139 )
Improve backward compatibility of toString and add toDebugString. (PR: #3099 )
Don't check modifiers in CtVariable#getDeclaringType. (PR: #3066 )
Fix regression in pretty printer (default DJPP is fully qualified). (PR: #3132 )
Fix incorrect model for empty for loop. (PR: #3108 )
Fix more regressions after auto-import refactoring. (PR: #3127 )
ToStringWithImports works even with no position. (PR: #3110 )
Fix regression in auto-import. (PR: #3125 )
Indeed call the preprocessors in toString/autoimports. (PR: #3103 )
CtElementImpl#toString: Fix toString for SniperPrinter. (PR: #3147 )
DefaultJavaPrettyPrinter: Support for inline else if. (PR: #3088 )
ImportCleaner: Import must be kept when they are used in Javadoc. (PR: #3160 )
Iterators: Next() first checks hasNext and throws the correct error. (PR: #3164 )
PositionBuilder: Fix lambda parameters position. (PR: #3137 )
SourceFragmentContext: Visit field reference in import as well. (PR: #3161 )
SourceOptions: Close the output stream in SourceOptions. (PR: #3089 )
TypeNameScope: Order of processing LexicalScope elements of Type. (PR: #3085 )
core: Parsing a one-line class produces correct line numbers. (PR: #3069 )
import: Fix regression after import refactoring. (PR: #3149 )
pom: Update/add license header in poms. (PR: #3143 )
Documentation
Add API documentation to public methods. (PR: #3152 )
Add archunit to related work in architecture enforcement. (PR: #3146 )
Improve documentation while preparing the MadridJUG meetup. (PR: #3141 )
Improve landing page. (PR: #3128 )
Minor improvement to example page. (PR: #3100 )
Add example for snippet filtering. (PR: #3062 )
ROADMAP.md: Roadmap 100% points to issues. (PR: #3119 )
launcher.md: Improve decompilation doc. (PR: #3130 )
visualisation: Mention the visualisation tool on the website. (PR: #3102 )
Refactoring
Use .equals() when comparing Strings and Boxed types. (PR: #3165 )
Rename internal method with particularly confusing name. (PR: #3109 )
Handling of imports in pretty printer. (PR: #2683 )
Decompiler: Update interface (in preparation for DecompiledResource). (PR: #3122 )
NoSourcePosition: Applies the null design pattern to compilation units. (PR: #3151 )
Authors
Name
Nb Commit
Martin Monperrus
30
Nicolas Harrand
14
arno
5
Haris Adzemovic
3
Pavel Vojtechovsky
3
Egor Bredikhin
2
Rhys Compton
1
Muhammet Ali AKBAY
1
Simon Urli
1
Thomas Durieux
1
HectorSM
1
Lionel Seinturier
1
You can’t perform that action at this time.