Skip to content

Releases: INRIA/spoon

spoon-core-5.1.1

22 Jun 15:21
Compare
Choose a tag to compare

Hotfix

  • Updates remote repository to download JDT.

spoon-core-5.1.0

21 Mar 15:44
Compare
Choose a tag to compare

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:
    • NPE thrown with annotations on primitive type. #530
    • Anonymous class name must have an empty string. #530
    • NPE when build the type of a CtNewArray. #561
  • Generics:
    • Generics in declaring types of a constructor call. #538
    • A local type can have actual generic types. #542
    • Generics in declaring types of a new class. #545
  • 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

12 Feb 09:32
Compare
Choose a tag to compare

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

03 Feb 16:18
Compare
Choose a tag to compare

Features

  • replace: Adds replace in CtElement. #511
  • Local type have a number in their name. #513

Fixes

  • noclasspath: FieldAccess in an invocation. #512
  • targeted: A class can be declared in a lambda expression. #513
  • template: Replace an invocation in a BlockTemplate. #511

spoon-core-5.0.0

25 Jan 09:25
Compare
Choose a tag to compare

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

18 Nov 13:48
Compare
Choose a tag to compare

Fixes

  • Supports circular type reference on declaring method: #410

spoon-core-4.4.0

16 Nov 13:28
Compare
Choose a tag to compare

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

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)