spoon-core-5.7.0
surli
released this
01 Jun 07:59
·
3149 commits
to master
since this release
New features
- Add support for Java 8 receiver parameters. (PR: #1298)
- Function to find all executables with the same signature. (PR: #1291)
- Add new filter for finding lamdas (class LambdaFilter). (PR: #1315)
- Add new function to collect subtypes (class SubInheritanceHierarchyFunction). (PR: #1290)
- Add refactoring class CtParameterRemoveRefactoring. (PR: #1317)
- Add SubInheritanceHierarchyResolver as helper for query mechanisms. (PR: #1309)
- New filter ExecutableReferenceFilter. (PR: #1318)
- Add public method MethodTypingContext#adaptMethod. (PR: #1288)
- Add method GenericTypeAdapter#getAdaptationScope. (PR: #1287)
- Add CtMethod#isOverriding(CtMethod). (PR: #1220)
- Add support for typing analysis of generic types. (PR: #1218)
- Add support for type erasure (CtType/CtTypeReference#getTypeErasure()). (PR: #1216)
- Support for better analysis of generic type arguments (TypeReference#getTypeParameterReference() and TypeFactory#createReference(type,includingFormalTypeParams)). (PR: #1237)
- SuperInheritanceHierarchyFunction supports references and listener. (PR: #1242)
- Add support for renaming local variables. (PR: #1005)
- comment: Add an AST node for the javadoc tags. (PR: #1310)
- template: The template engine supports substitution of method names in method calls. (PR: #1325)
Bug Fixes
- Fix bug in CtExecutableReference#getActualMethod when parameters are generically typed. (PR: #1277)
- Fix bug in getActualMethod() due to missing information in CtTypeParameterReference. (PR: #1286)
- Improve line preservation mode. (PR: #1335)
- Auto-import works for compilation units with multiple classes in the same file. (PR: #1322)
- Fix import bug with java.lang.subpackage. (PR: #1327)
- Fix NPE in isTypeInCollision. (PR: #1326)
- Improve ImportScanner to support variables called "java". (PR: #1321)
- Fix bug in qualified names in a special case due to missing information in JDT. Fix #1307. (PR: #1312)
- Fix bug in import inference (auto-import mode). Close #1306. (PR: #1308)
- In noClasspath, a type without import should be considered in the same package as the current class. (PR: #1302)
- Fix SuperInheritanceHierarchyFunction in noClassPath mode. (PR: #1281)
- Fix AnnotationFactory#create. (PR: #1340)
- Fix JDT error when input resource contains an entirely commented class. (PR: #1279)
- Fix special case not handled in factory.Annotation().annotate(). (PR: #1278)
- Fix a couple of bugs in recent feature "generic type adaptation". (PR: #1275)
- Fix regression regarding actual type arguments resolving. (PR: #1273)
- #setParent is not a normal metamodel setter, and is excluded from SpoonTestHelpers#getAllSetters. (PR: #1261)
- TestFactorySubFactory must only check public factory methods. (PR: #1263)
- CtBlock#getLastStatement is a @DerivedProperty. (PR: #1262)
- Fix a bug in wrongly qualified type in executable references. (PR: #1259)
- Fix issue #1246. (PR: #1251)
- Fix NPE in CtElement#getMetadataKeys. Closes #1239. (PR: #1240)
Documentation
- Add pointer to new Template example. (PR: #1343)
- Document and refactor TemplateMatcher. (PR: #1319)
- Update examples links from gforge.inria.fr to github.com. (PR: #1226)
- Adds InspectorGuidget in ecosystem page. (PR: #1304)
- Clarifies page on architectural rule checking with Spoon. (PR: #1301)
- Fix link mix. (PR: #1297)
- Fix javadoc of SuperInheritanceHierarchyFunction. (PR: #1289)
- Update doc with release 5.6.0 information. (PR: #1227)
Refactoring
- Remove or update deprecation related to queries & filters. (PR: #1300)
- Improve ImportScanner design, add getAllImports. (PR: #1339)
- Renamed confusing duplicate classes. (PR: #1333)
- Improve PrinterHelper (less duplication, more encapsulation). (PR: #1332)
- Handle some rare limit cases. (PR: #1331)
- Remove call to deprecated File#toURL. (PR: #1313)
- Change generic type bound. (PR: #1314)
- Replace string literals by constants. (PR: #1316)
- Remove deprecated method computeImports. (PR: #1311)
- Remove useless 'final' modifier in interface methods. (PR: #1334)
- MethodTypingContext#isOverriding/isSameSignature/isSubSignature moved to ClassTypingContext. (PR: #1299)
- MethodTypingContext#adaptMethod moved to ClassTypingContext. (PR: #1296)
- AllTypeMembersFunction accepts now CtTypeInformation as parameter. (PR: #1285)
- Use new CtMethod#isOverriding in method overriding/overriden filters. (PR: #1276)
- Refactor and test initProperties. (PR: #1260)
- Remove unused field. (PR: #1253)
- Adds an architural rule for helper classes with static methods. (PR: #1247)
- CtFormalTypeDeclarer extends CtTypeMember. (PR: #1235)
- Refactor *VariableReferenceFunction around LocalVariableReferenceFunction. (PR: #1193)
Performance
Tests
- Improve TemplateMatcher test. (PR: #1323)
Other
- Checkstyle checks that the end of lines are consistent (unix-style \n only). (PR: #1344)
- Fix broken revapi reports due to regression in revapi-reporter-text 0.8.0.
- Revapi check should fail only for breaking changes. (PR: #1282)
- Fix revapi bug. (PR: #1280)
Unknown
- Add 'getBinaryFiles' to CompilationUnit. Fixes #1230. (PR: #1232)
- Prepare for next development iteration.
Authors
Name | Nb Commit |
---|---|
Pavel Vojtechovsky | 38 |
Simon Urli | 18 |
Martin Monperrus | 17 |
Thomas Durieux | 1 |
Marcel Steinbeck | 1 |