Skip to content

spoon-core-5.3.0

Compare
Choose a tag to compare
@danglotb danglotb released this 19 Sep 13:13
· 3348 commits to master since this release

New feature

  • ast
    • Adds CtTypeInformation#isGenerics method. (PR: #799)
    • Introduces new metamodel class CtTypeParameter for representing a generic type parameter. (Closes #606). (Issue: #606) (PR: #798)
  • wildcard : Creates a new metamodel element for representing a generics wildcard. (Closes #605). (Issue: #605) (PR: #796)

Fixes

  • access
    • Qualified field access with import static. (PR: #789)
    • Qualified fieldaccess in noclasspath mode. (PR: #762)
  • Typecasts on conditionals are not scanned hence not cloned. (PR: #753)
  • Avoid NullPointerException in CtExecutableReferenceImpl.getDeclaration. (closes #808). (Issue: #808) (PR: #809)
  • Fix NPE in getUsedTypes (Closes #650). (Issue: #650) (PR: #800)
  • Fix regressions introduced by #748. (Issue: #748) (PR: #789)
  • GetAllMethods returns all methods, incl. those of library superclasses and java.lang.Object. (PR: #771)
  • annotation : Supports enum fields with Annotation#annotate() method. (Closes #750). (Issue: #750) (PR: #767)
  • actual : Rewrite actual types with their enclosing class. (PR: #789)
  • api : CtModel.processWith(). (PR: #821)
  • array
    • Builds dimensions with casts. (PR: #789)
    • Allows array in an array. (PR: #789)
  • docs : Changes target of getSignature in javadoc. (PR: #742)
  • enum : Handle synthetic methods of enums (fixes #793). (Issue: #793) (PR: #794)
  • executable
    • Allows block in executable. (PR: #789)
    • Fix method ExecutableFactory#createReference to handle static methods (Closes #817). (Issue: #817) (PR: #818)
  • factory : GetDeclaration from element created by factory should not return null. (closes #719). (Issue: #719) (PR: #735)
  • fieldaccess : Static field access in anonymous executable (closes #816). (Issue: #816) (PR: #819)
  • import : Skip findImport and createPackage if necessary. Fixes #759. (Issue: #759) (PR: #760)
  • lambda : Resolve Literal#constant if required. Fixes #755. (Issue: #755) (PR: #758)
  • method : Search method with generics. (Issue: #573) (PR: #799)
  • noclasspath
    • Mark target as implicit if it's an anonymous class. (Closes #707). (Issue: #707) (PR: #737)
    • Correct reference to parameters in lambda methods. (Closes #779). (Issue: #779) (PR: #802)
    • Access lookup in lambda expressions in noclasspath mode. (Issue: #813) (PR: #814)
    • Tolerates missing annotation types. (PR: #820)
    • Avoid exception when we call getAllFields method. (PR: #780)
  • package : Handle packages with only package-info.java. (Closes #748). (Issue: #748) (PR: #766)
  • reference
    • Allow creation of a reference from CtAnonymousExecutable. (Closes #739). (Issue: #739) (PR: #740)
    • Dynamically lookup the declaration of all variable references (closes #756). (Issue: #756) (PR: #764)
    • No declaring type in an executable reference of a lambda. (fixes #733). (Issue: #733) (PR: #734)
  • replace : Use generic replace with CtStatementList elements (closes #792). (Issue: #792) (PR: #795)
  • type : Fix exception in noclasspath due to PolyTypeBinding. (Closes #751). (Issue: #751) (PR: #804)

Refactoring

  • ref : Removes unused CtCircularTypeReference. (PR: #799)
  • visitor : Rename EqualVisitor to DeepRepresentationVisitor. (Closes #791). (Issue: #791) (PR: #801)
  • Refactors DefaultJavaPrettyPrinter and JDTTreeBuilder to simplify future maintenance. (PR: #784)
  • Moves JDTTreeBuilder inner classes into top-level classes, adds one helper class with static methods. (PR: #746)
  • Removes getSignature() and create getShortRepresentation(). (PR: #738)