Skip to content

Releases: INRIA/spoon

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)