Releases: INRIA/spoon
Releases · INRIA/spoon
Spoon 10.3.0
Changelog #5135
Spoon 10.2.0
Changelog: #4946
Spoon 10.1.0
Changelog
New features
- Support shift left and right operation inside VisitorPartialEvaluator. (PR: #4237)
- Add support for first class resource in try-with-resource. (PR: #4371)
- Add support for type parameters on method references. (PR: #4343)
Bug fixes
- ImportCleaner: Resolve imports of parent types. (PR: #4353)
- Launcher: NPE in Launcher.prettyprint(). (PR: #4303)
- MavenLauncher: Maximum recovery from missing libraries. (PR: #4336)
- record: Valid assignments in record compact constructors. (PR: #4389)
- Backward compatible modeling of try-with-resource. (PR: #4625)
- Fix incorrect import. (PR: #4610)
- Fix qodana warning with proper call to Array.toString(). (PR: #4536)
- No parentheses for single lambda parameters. (PR: #4448)
- Escape sequences in text-blocks are kept. (PR: #4409)
- Fix square bracket printing in array field declarations. (PR: #4436)
- Correct type reference for ClassLiteralAccess. (PR: #4383)
- Do not strip super class from qualified name. (PR: #4359)
- Handle spaces in classpath paths. (PR: #4358)
- Print square brackets in array initalisation. (PR: #4341)
- Clone metadata for elements created via template. (PR: #4396)
- Fix testcases for windows CI. (PR: #4385)
- Add junit extension for line endings. (PR: #4349)
- Fix pretty-printing ordering for record parameters. (PR: #4366)
- Prevent stackoverflow when visiting of cyclic annotation/package structures. (PR: #4356)
- Prevent removal of static field import. (PR: #4331)
- Prevent importing classes which are already imported via
*
. (PR: #4320) - Print each resource in
CtTryWithResource
exactly once and retain separator. (PR: #4309) - Lookup absolute path to maven executable. (PR: #4298)
- Ensure sniper pretty-printer prints modifiers and type separated by a space. (PR: #4296)
- Removed annotation should not appear in sniper mode. (PR: #4284)
- Add missing space after modifiers in sniper mode. (PR: #4279)
- Fix flaky test TestModule.testModuleNames(). (PR: #4286)
- Correctly print type parameters of generic records. (PR: #4283)
Migration to JUnit5
- Migrate SMPL tests to JUnit5. (PR: #4598)
- Migrate dataflow to Junit 5. (PR: #4618)
- Migrate spoon-control-flow tests to JUnit 5. (PR: #4615)
- Migrate decompiler to JUnit 5. (PR: #4599)
- Migrate OneCanCallSetterWithNullParameterizedTest to JUnit 5. (PR: #4555)
- Migrate InterfaceTest to JUnit 5. (PR: #4556)
- Migrate TestInterfaceWithoutSetup to JUnit 5. (PR: #4557)
- Migrate ImportBuilderTest to JUnit 5. (PR: #4562)
- Migrate TestLabels to JUnit 5. (PR: #4563)
- Migrate AnonymousInLambdaTest to JUnit 5. (PR: #4564)
- Migrate SetParentTest to JUnit 5. (PR: #4567)
- Migrate Maintest to JUnit 5. (PR: #4570)
- Migrate ContractOnSettersParametrizedTest to JUnit 5. (PR: #4569)
- Migrate InvocationTest to JUnit 5. (PR: #4558)
- Migrate AnnotationPositionTest to JUnit 5. (PR: #4559)
- Migrate SniperPrettyPrinterJavaxTest to JUnit 5. (PR: #4560)
- Migrate JarTest to JUnit 5. (PR: #4561)
- Migrate LambdaTest to JUnit 5. (PR: #4565)
- Migrate InternalTest to JUnit 5. (PR: #4566)
- Move test Java source to ./src/test/resources/. (PR: #4568)
- Migrate MethodOverriddingTest to JUnit 5. (PR: #4550)
- Migrate MethodTest to JUnit 5. (PR: #4551)
- Migrate LoopTest to JUnit 5. (PR: #4552)
- Migrate UnicodeBugTest to JUnit 5. (PR: #4553)
- Migrate LiteralTest to JUnit 5. (PR: #4554)
- Migrate ReplaceParametrizedTest. (PR: #4542)
- Migrate ParallelProcessorTest to JUnit 5. (PR: #4543)
- Migrate TestModule to JUnit 5. (PR: #4544)
- Migrate ModifiersTest to JUnit 5. (PR: #4545)
- Migrate TypeTest to JUnit 5. (PR: #4546)
- Migrate BlockTest to JUnit 5. (PR: #4547)
- Migrate MethodReferenceTest to JUnit 5. (PR: #4549)
- Migrate FactoryTest to JUnit 5. (PR: #4530)
- Migrate CUFilterTest to JUnit 5. (PR: #4531)
- Migrate TypeFactoryTest to JUnit 5. (PR: #4532)
- Migrate NameScopeTest to JUnit 5. (PR: #4533)
- Migrate IntercessionTest to JUnit 5. (PR: #4534)
- Migrate InsertMethodsTest to JUnit 5. (PR: #4535)
- Migrate InitializerTest to JUnit 5. (PR: #4527)
- Migrate ConstructorFactoryTest to JUnit 5. (PR: #4513)
- Migrate CodeFactoryTest to JUnit 5. (PR: #4514)
- Migrate ClassFactoryTest to JUnit 5. (PR: #4515)
- Migrate AnnotationFactoryTest to JUnit 5. (PR: #4516)
- Migrate to ExecutableTest to JUnit 5. (PR: #4517)
- Migrate ExecutableRefTest to JUnit 5. (PR: #4518)
- Migrate to ExceptionTest to JUnit 5. (PR: #4519)
- Migrate EnumsTypeTest to JUnit 5. (PR: #4520)
- Migrate FluentLauncherTest to JUnit 5. (PR: #4521)
- Migrate ExecutableFactoryTest to JUnit 5. (PR: #4522)
- Migrate FieldFactoryTest to JUnit 5. (PR: #4523)
- Migrate FieldAccessTest to JUnit 5. (PR: #4524)
- Migrate GenericsTest to JUnit 5. (PR: #4525)
- Migrate StaticNoOrdered to JUnit 5. (PR: #4526)
- Migrate RemoveTest to JUnit 5. (PR: #4528)
- Migrate TopLevelTypeTest to JUnit 5. (PR: #4505)
- Migrate PackageTest JUnit 5. (PR: #4504)
- Migrate PositionTest to JUnit 5. (PR: #4503)
- Migrate TestSourceFragment to JUnit 5. (PR: #4502)
- Migrate LinesTest to JUnit 5. (PR: #4501)
- Migrate LoopSniperJavaPrettyPrinterTest to JUnit 5. (PR: #4500)
- Migrate PrinterTest JUnit 5. (PR: #4499)
- Migrate VariableReferencesTest to JUnit 5. (PR: #4497)
- Migrate TestCtBlock to JUnit 5. (PR: #4491)
- Migrate QualifiedThisRefTest. (PR: #4498)
- Migrate EvalTest to JUnit 5. (PR: #4495)
- Migrate DeleteTest to JUnit 5. (PR: #4494)
- Migrate CtBodyHolderTest to JUnit 5. (PR: #4493)
- Migrate CtClassTest to JUnit 5. (PR: #4492)
- Migrate GetBinaryFilesTest to JUnit 5. (PR: #4486)
- Migrate NewClassTest to JUnit 5. (PR: #4490)
- Migrate ControlTest to JUnit 5. (PR: #4489)
- Migrate ConstructorCallTest to JUnit 5. (PR: #4488)
- Migrate ConditionalTest to JUnit 5. (PR: #4487)
- Migrate EqualTest to JUnit 5. (PR: #4485)
- Migrate ParentTest to JUnit 5. (PR: #4506)
- Migrate NullParentTest to JUnit 5. (PR: #4507)
- Migrate ParameterTest to JUnit 5. (PR: #4508)
- Migrate ClassesTest to JUnit 5. (PR: #4465)
- Migrate ModelStreamerTest to JUnit 5. (PR: #4464)
- Migrate SerializableTest to JUnit 5. (PR: #4463)
- Migrate SignatureTest to Junit 5. (PR: #4462)
- Migrate SnippetTest to JUnit 5. (PR: #4461)
- Migrate TypeTest to Junit 5. (PR: #4460)
- Migrate TestCtRole to JUnit 5. (PR: #4466)
- Migrate VariableAccessTest to Junit 5. (PR: #4469)
- Migrate ExecutableReferenceTest to Junit 5. (PR: #4471)
- Migrate CtInheritanceScannerTest to JUnit 5. (PR: #4482)
- Migrate PathTest to JUnit 5. (PR: #4479)
- Migrate VariableReferencesModelTest to JUnit 5. (PR: #4476)
- Migrate TypeReferenceTest to Junit 5. (PR: #4470)
- Migrate ReferenceQueryTest to Junit 5. (PR: #4468)
- Migrate ReplaceTest to Junit 5. (PR: #4467)
- Migrate ProcessingTest to JUnit 5. (PR: #4478)
- Migrate PropertiesTest to JUnit 5. (PR: #4477)
- Migrate AnnotationFieldReferenceTest to JUnit 5. (PR: #4475)
- Migrate CloneReferenceTest to JUnit 5. (PR: #4474)
- Migrate ElasticsearchStackoverflowTest to JUnit 5. (PR: #4473)
- Migrate ExecutableReferenceGenericTest to JUnit 5. (PR: #4472)
- Migrate AnnotationTest to junit 5. (PR: #4415)
- Migrate AccessTest to Junit 5. (PR: #4438)
- Migrate AccessFullyQualifiedFieldTest to JUnit 5. (PR: #4439)
- Migrate SourcePositionTest to JUnit 5. (PR: #4447)
- Migrate VarArgsTest to JUnit 5. (PR: #4440)
- Migrate TryCatchTest to JUnit 5. (PR: #4441)
- Migrate TargetedExpressionTest to JUnit 5. (PR: #4442)
- Migrate ResourceTest to JUnit 5. (PR: #4443)
- Migrate ImplicitStaticFieldReferenceTest to JUnit 5. (PR: #4444)
- Migrate StaticAccessTest to JUnit 5. (PR: #4445)
- Migrate SpoonifierTest to JUnit 5. (PR: #4446)
- Migrate AssignmentsEqualsTest to junit 5. (PR: #4424)
- Migrate ToStringBugTest to Junit 5. (PR: #4422)
- Migrate VisitorTest to Junit 5. (PR: #4423)
- Migrate VisibilityTest to Junit 5. (PR: #4425)
- Migrate ChangeCollectorTest to Junit 5. (PR: #4432)
- Migrate CompilationTest to Junit 5. (PR: #4433)
- Migrate TestCompilationUnit to Junit 5. (PR: #4434)
- Migrate SpoonArchitectureEnforcerTest to Junit 5. (PR: #4430)
- Migrate NoClasspathTest to Junit 5. (PR: #4431)
- Migrate LauncherTest to Junit 5. (PR: #4428)
- Migrate MetamodelTest to Junit 5. (PR: #4429)
- Migrate ConstructorTest to JUnit 5. (PR: #4435)
- Migrate CtScannerTest to junit 5. (PR: #4411)
- Migrate MavenLauncherTest to Junit 5. (PR: #4416)
- Migrate AnnotationValuesTest to Junit 5. (PR: #4418)
- Migrate APITest to Junit 5. (PR: #4420)
- Migrate FileSystemFolderTest to junit 5. (PR: #4419)
- Migrate OutputTypeTest to Junit 5. (PR: #4417)
- Migrate AnnotationLoopTest to junit 5. (PR: #4414)
- Migrate TreeBuilderCompilerTest to junit 5. (PR: #4413)
- Migrate CtVisitorTest to junit 5. (PR: #4412)
- Migrate CloneTest to Junit 5. (PR: #4401)
- Migrate CtTypeInformationTest to Junit 5. (PR: #4402)
- Migrate GenerateParentlessPackageTest to junit 5. (PR: #4403)
- Migrate CtBFSIteratorTest to junit 5. (PR: #4404)
- Migrate CtInheritanceScannerMethodsTest to junit 5. (PR: #4405)
- Migrate CtIteratorTest to junit 5. (PR: #4406)
- Migrate to junit 5. (PR: #4398)
- Migrate CompilationUnitPrintTest to junit 5. (PR: #4400)
- Refactor StringLiteralTest to Junit 5. (PR: #4390)
- Migrate UnknownDeclarationTest to junit 5. (PR: #4392)
Dependencies
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.13.2. (PR: #4632)
- Update dependency org.bitbucket.mstrobel:procyon-compilertools to v0.6.0. (PR: #4620)
- Update dependency org.slf4j:slf4j-api to v1.7.36. (PR: #4592)
- Update dependency through2 to v4. (PR: #4459)
- Update dependency org.slf4j:slf4j-api to v1.7.35. (PR: #4574)
- Update dependency org.apache.maven.plugins:maven-dependency-plugin to v3.3.0. (PR: #4639)
- Update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.10.1. (PR: #4638)
- Upd...
Spoon 10.0.0
Changelog: #4254
Release Spoon 9.1.0
Changelog #4104
Spoon 9.0.0
Changelog #3845
Spoon 8.3.0
Changelog: #3647
Release of 8.2.0
Changelog: #3501
Release 8.1.0
Changelog: #3310
Release 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
- 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 |