Releases: INRIA/spoon
Releases · INRIA/spoon
spoon-core-5.1.1
Hotfix
- Updates remote repository to download JDT.
spoon-core-5.1.0
New features
- Full support of intersection types. #535
- Fluent api to test source code transformations. #517
- Add field at the top of a type. #537
Minor API changes
- Annotation values are handled as CtExpression. #555 #556
- CtVariableAccess#getType does not return null anymore, now delegates to getVariable().getType(). #548
Fixes
- No classpath:
- Generics:
- Fields:
- The qualified name of a type declared in an anonymous class. #541
- Visibility:
- Field access declared in a default class. #543
Refactoring
- Refactored responsabilities of equal/hashcode/signature. #532
spoon-core-5.0.2
Fixes
- Local type shouldn't start its name with its identifier in a constructor.
- Uses CtFieldRead for class access in values of annotations.
spoon-core-5.0.1
spoon-core-5.0.0
API major changes
- Better model for field accesses (now with implicitness information), *.class expressions, and method calls (better handling of static) #475, #473, #458, #458
- Puts CtReference below CtElement (allows you to process, replace references and get signatures). #391
- Deprecates CtTypeAnnotation to use CtAnnotation in refs. #391
API minor changes
- Never throw an UnsupportedOpException in getters. #438
- Delegates type information handling of CtInvocation, CtNewClass and CtConstructorCall to their executable. #433
- Puts CtAnonymousExecutable under CtExecutable. #430
- Minor changes in Snippet helper. #443
Features
- Allow interruption of a processor. #485
- Search a package in imports. #466
- Apply filter on pretty-printed classes. #456
- New filters to get all overridden/overriding methods. #452
- Support filtering on parents (getParent(Filter) method in CtElement). #439
- Delete any element in a Spoon AST. #423
Fixes
- No classpath
- Arguments of an inv should be a CtFieldRead. #502
- Checks if this access parent is final. #497
- Gets package of types in the class declaration. #477
- With an unkown argument, prints . #459
- Supports superclass declared in an interface. #435
- Supports superclass of a nested class. #434
- Supports CtLiteral of char. #429
- Supports CtParameter. #428
- Supports CtFieldAccess. #424, #417
- Supports CtConstructorCall. #416
- Anonymous class in noclasspathmode throws NPE. #415
- Fixes fully qualified name of type ref with generics. #500
- Fixes getDeclaration which throws a NPE in anonymous class. #496
- Prints (i++).toString() and no more i++.toString(). #493
- Fixed the FieldWrite bug in OperatorAssignment. #487
- Allows serialization of SourcePosition. #486
- Fixes the position in the spoon model. #421, #441
- Fixes bug related to insertBefore, insertAfter, insertEnd and getSignature. #450
spoon-core-4.4.1
Fixes
- Supports circular type reference on declaring method: #410
spoon-core-4.4.0
Minor API Changes
- Throws a SpoonException when a processor is not found: #366
- Deprecates process(List) method in
SpoonModelBuilder
for a new one: #402 - Removed deprecated secondary methods: #370, #358, #343
Documentation
- New documentation:
- Getting started (http://spoon.gforge.inria.fr/): #342
- Usage (http://spoon.gforge.inria.fr/command_line.html): #344
- Spoon Meta Model (http://spoon.gforge.inria.fr/structural_elements.html): #351
- Quering source code elements (http://spoon.gforge.inria.fr/filter.html): #352
- Processing source code elements (http://spoon.gforge.inria.fr/processor.html): #357
- Templating source code (http://spoon.gforge.inria.fr/template_definition.html): #360
- Documentation put in the master branch in the repo: #331
Fixes
- Prints the parent class when it has generics: #389
- Fix method calls on annotation: #388
- Missing CtTypeReference for instanceof expressions when querying: #392
- Writes correctly field access in anonymous type: #387
- Handles unicode characters in string literals: #382
- CtTypeParameterReference doesn't print always full generic: #381
- Allows enum without fields: #380
- Removes array notation in a lambda parameter and diamond operator: #379
- Writes parameters in a lambda expression without their types if the original code didn't write them: #384
- Sets the parent when we used insertAfter and insertBefore methods: #375
- Fixes a bug with circular references in generic types: #374
- Fix CtClass.getConstructor with Array parameter: #373
- Better handles invocations in noclasspath mode: #350
CI
- Integrates AppVeyor. AppVeyor is an alternative to Travis but in a Windows environment: #394
- Integrates INRIA Jenkins and Github (http://ci.inria.fr/sos)