spoon-core-5.6.0

@surli surli released this Mar 16, 2017 · 621 commits to master since this release

Thanks all contributors to this new release, and special thanks to @pvojtechovsky who continue to do an amazing work on Spoon!

New features

  • Add filter helpers (FieldReferenceFunction, FieldScopeFunction, SubtypeFilter). (PR: #1141)
  • ParentFunction is able to terminate early. (PR: #1211)
  • Introduces CtScannerFunction as basic infrastructure for advanced functions and queries. (PR: #1180)
  • Add support for CtScannerListener in EarlyTerminatingScanner. (PR: #1210)
  • Automatic explicit ThisAccess for fields. (PR: #1192)
  • CtLambda#getMethod() and fix of #1159. (PR: #1164)
  • Add helper for query variables (VariableReferenceFunction, VariableScopeFunction). (PR: #1114)
  • Add helper for query to get parents of element. (PR: #1153)
  • Add query functions AllTypeMembersFunction and SuperInheritanceHierarchyFunction. (PR: #1195)
  • Add filter helpers (LocalVariableReferenceFunction, LocalVariableScopeFunction). (PR: #1144)
  • Add filtering helpers (CatchVariableReferenceFunction, CatchVariableScopeFunction). (PR: #1145)
  • Add filtering helpers (ParameterReferenceFunction, ParameterScopeFunction). (PR: #1136)
  • Add support for early terminating queries with CtQuery#first(). (PR: #1138)
  • Add support for getting all children with CtQuery#filterChildren(null). (PR: #1140)
  • Add CtQuery#select(Filter). (PR: #1142)
  • Add query factory. (PR: #1093)
  • Add metamodel method CtTypeParameter#getTypeParameterDeclarer(). (PR: #1217)
  • Reusable and efficient CtQueries. (PR: #1090)
  • filter: Template matchers can be used as filter. (PR: #1110)

Bug Fixes

  • CtMethod#isDefaultMethod. (PR: #1165)
  • Fix wrong behavior for special cases in removeStatement. Closes #1221. (PR: #1224)
  • Inner interfaces should be properly handled in CtTypeReferenceImpl#canAccess. (PR: #1189)
  • LocalVariableScopeFunction handles CtFor, CtTryWithResource, local classes. (PR: #1154)
  • Fix regression with a lambda expression extends Function. (PR: #1178)
  • CtExecutableReference#isOverriding correctly handles anonymous classes. (PR: #1219)
  • Fix autoimport regression. (PR: #1162)
  • Bug in isSubtypeOf (broken contract X.isSubtypeOf(X)==true). (PR: #1157)
  • Improve static import support in auto-import mode. (PR: #1155)
  • Fix regression (NPE) in DefaultJavaPrettyPrinter. (PR: #1214)
  • GetSuperClass does not throw exception in noClassPath mode. (PR: #1128)
  • Fix NPE when Spoon in executed from an empty working dir. (PR: #1208)
  • Visibility detection issue in CtElement #1099. (PR: #1102)
  • CtQuery: CCE on Query#forEach call of CtConsumer#apply. (PR: #1126)
  • comment: Support comment on string concatenation. (PR: #1124)
  • noclasspath: Fix the qualified name of partial qualified reference (inner class). (PR: #1201)

Documentation

  • Adds hyperlink to the Spoon paper.
  • Announces the OW2 membership. (PR: #1151)
  • Update ecosystem (one single file to maintain + added syringe). (PR: #1147)
  • Add links to changelogs (#1133). (PR: #1133)
  • Add support files for FOSDEM'17. (PR: #1148)
  • Remove outdated last-updated information on pages. (PR: #1177)
  • More specific doc about the release process. (PR: #1131)
  • Fixes broken menu (#1122). (PR: #1122)
  • Fix javadoc JDK8 rules. (PR: #1112)
  • Prepare internal doc for the new release. (PR: #1109)
  • license: Update license year. (PR: #1130)

Refactoring

  • Improve and simplify usage of PotentialVariableDeclarationFunction. (PR: #1194)
  • Remove FieldScopeFunction. (PR: #1186)
  • Remove deprecated elements from version 5.4.0. (PR: #1135)

Performance

  • Improve performance of DirectReferenceFilter. (PR: #1132)

Tests

  • Reduce the scope of the testSettersAreAllGood test. (PR: #1196)

Other

  • Only publish revapi report if the PR is edited or opened. (PR: #1161)
  • Revapi configuration and helper scripts to detect API breaking changes. (PR: #1115)
  • travis: Travis must check that javadoc is well-formed. (PR: #1107)

Unknown

  • Prepare for next development iteration.

Authors

Name Nb Commit
Pavel Vojtechovsky 29
Simon Urli 17
Martin Monperrus 5
Thomas Durieux 3
Marcel Steinbeck 1