spoon-core-5.5.0
surli
released this
11 Jan 15:57
·
3271 commits
to master
since this release
Thanks to all contributors!
New features
- New query architecture with support for Java8 queries. (PR: #1018)
- Allow spoon to do static imports for methods and fields. (PR: #1040)
- Interface to Exclude Compilation Units From CtModel. (PR: #1037)
- API: Add CtTypeMember.getTopLevelType(). (PR: #1004)
- CoreFactory
- Add create(Class) so as to create elements by reflection. (PR: #949)
- evaluation: Simplify classes based on static evaluation (first support). (PR: #1003)
- filter: Compute filtered types by reflection from parameter of method matches. (PR: #1015)
- getDeclaredOrInheritedField: Add CtTypeInformation.getDeclaredOrInheritedField(String fieldName). (PR: #967)
- model: Add interface CtBodyHolder. (PR: #943)
- position: Improve the element position. (PR: #984)
- snippet:
Bug Fixes
- DefaultJavaPrettyPrinted: Fix bug when printing implicit accesses to static fields in autoimport. (PR: #913)
- JDTBasedSpoonCompiler: Fix annotation bug when templates are used. (PR: #934)
- NPE: Fix NullPointerException resulting from variable accesses in constructors. (PR: #1098)
- Fixed name of test class. (PR: #1037)
- Generate expected EOL even on Windows. (PR: #977)
- No exception when writing to log. (PR: #920)
- Test: APITest.testSetterInNodes() was not testing anything . fix #972. (PR: #1022)
- Close input stream after creating a compilation unit to prevent TooManyOpenFilesException. (PR: #1097)
- Fix ReferenceBuilder#getLambdaExecutableReference to return the innermost lambda #1100. (PR: #1103)
- Set the type of a parameter declared in a lambda to Object instead of ommitting them when unknown. (PR: #1108)
- Fixed formatting. (PR: #1037)
- Fix inconsistencies between interface contract and double implementations of getAllExecutables. (PR: #1019)
- Removes unused imports. (PR: #988)
- Clean exception when Spoon is given a wrong path for input resource. (PR: #1057)
- SignaturePrinter: Overrides visitCtAnnotationMethod in SignaturePrinter. (PR: #1030)
- ThisAccess
- access path: Fix regression with type parameters in access paths. (PR: #1007)
- annotations: Fix Dropwazrd regression by fixing substituteAnnotation. (PR: #1032)
- array: The qualified name of an array is not java.lang.reflect.Array. (PR: #995)
- clone: Clone preserves comments and implicitness. (PR: #1028)
- comments
- Fixes pretty-printing bug for inline arrays with comments. (PR: #912)
- Fix bug in comments in array initialization. (PR: #1088)
- Fix a bug concerning multiple comments before a catch block. (PR: #1074)
- Handle stacked comments in package-info.java. (PR: #1011)
- Add support of comments in snippets. (PR: #930)
- enum: GetAllMethods also returns the methods of Enum. (PR: #1016)
- equal
- getTypeDeclaration
- imports
- importscanner: Fix regression in fuly-qualified mode. (PR: #1052)
- isAssignableFrom: Deprecate isAssignableFrom that is totally confusing, and for which there is an alternative. (PR: #948)
- isSubtypeOf: Spoon can resolve anonymous references. (PR: #953)
- launcher: Easy way to parse a complete class with package. (PR: #982)
- log: Filter out some JDT errors in noclasspath. (PR: #926)
- model
- newinstance: Forces usage of the newest version of the class. (PR: #909)
- parent: Stops furious useless exceptions. (PR: #963)
- performance
- position: Implicit elements do not have position. (PR: #1086)
- precompile: Specifies and fixes precompile option. (PR: #923)
- pretty-print
- reference: Fix reference in ctconstructor. (PR: #1095)
- scanner
- Add missing scan properties based on a new powerful specification. (PR: #966)
- serialization: Fix serialization issue in Factory. (PR: #955)
- shadow: No ClassNotFoundException when building shadow classes by reflection. (PR: #1012)
- subtype: Removes CtTypeImpl#isSubtypeOf that is wrong and anyway overridden by all subclasses. (PR: #954)
- template: Check that Template is on source path of builder. (PR: #976)
- test
Documentation
- Add --noclasspath for reducing first-usage friction.
- Clarifies responsibility of CtNamedElement. (PR: #1062)
- Adds adt poster and InDesign source. (PR: #1051)
- Fix markdown issue in code_elements.md.
- Improve readability and wording of doc/comments.md. (PR: #1079)
- Fix broken link.
- Improve navigability and first contact.
- Update README.md (compiling, ecosystem, contributors). (PR: #1089)
- Adds doc about constructor calls and the associated reference. (PR: #994)
- Improve template documentation. (PR: #1068)
- Adds documentation for explaining the code elements. (PR: #922)
- SignaturePrinter: Improves doc of SignaturePrinter. (PR: #987)
- info: Fix broken link to mailing list.
- Fixes a typo in doc/gradle.md. (PR: #1078)
- Fix issues related to javadoc in java 8. (PR: #1105)
Refactoring
- Same algorithm for building sources, templates and snippet. (PR: #946)
- Remove code duplication and fix inconsistencies of class Substitution. (PR: #992)
- Removes dead code. (PR: #989)
- Check everywhere that Template is on source path of builder. (PR: #979)
- Removes old unseless code. (PR: #983)
- Remove unused printer code of visitCtCatchVariable. (PR: #965)
- JDTBatchCompiler arg.sources not needed. (PR: #958)
- Regenerate files with short this for future clean diffs. (PR: #1039)
- Avoid creation of JDT hacking TMP files. (PR: #944)
- JDTBatchCompiler.getUnits() parameter not required anymore. (PR: #942)
- Remove old unmaintained/broken code. (PR: #937)
- All factory methods are also in main Factory for usability and discoverability. (PR: #1082)
- Removes duplicated code. (PR: #936)
- Remove unused imports. (PR: #935)
- Reuse existing CU in JDTBatchCompiler.getUnits(). (PR: #933)
- Introduce JDTBasedSpoonCompiler.buildModel to remove code duplication. (PR: #931)
- Improves JDTCommentBuilder. (PR: #924)
- classloader: Adds test for classloader. (PR: #897)
- printerContext: Assure correct restore of state. (PR: #999)
- processingmanager: Removes duplicated code, improves readability. (PR: #1054)
- Deprecate reference filtering that is now handled by standard element filtering. (PR: #1013)
- Renamed label from units to unitLoop. (PR: #1037)
- Remove dependency to CompilationUnitDeclaration. (PR: #1037)
- Use filter to exclude instead of accapt units. (PR: #1037)
- We must always have a source + exception handling. (PR: #996)
- Added an interface used to filter particular CompilationUnitDeclaraions. (PR: #1037)
Performance
- Cache inputClassLoader corresponding to sourceClasspath. (PR: #990)
- Improve performance of FindCommentParentScanner. (PR: #917)
Tests
- ParentContractTest: Improves contract about setting parents. (PR: #956)
- TemplateMatcher: Add tests for named template matchers (uncovered cases). (PR: #1092)
- VisitorPartialEvaluator: Add tests for VisitorPartialEvaluator. (PR: #939)
- metamodel: Enforce the package design of the metamodel. (PR: #945)
- superClass: Adds test that verifies the compilation of complex superclass references that use access paths with tricky visibility. (PR: #971)
- template: Add test for super interface templates. (PR: #1020)
- templatematcher: Add a new Junit test and dynamic assertion for TemplateMatcher. (PR: #1034)
- Add test for method parameter templating. (PR: #1064)
- Add tests and doc for template engine. (PR: #1072)
- Add a test to check if TemplateMatcher can match two equivalent snippets. (PR: #1059)
- Reduces I/O footprint (and found two IO bugs on the way). (PR: #969)
- Add coverage for templates (and unify API thanks to this). (PR: #1049)
- Add missing @test. (PR: #950)
- One test was not named correctly, hence was not run by Maven in CI, hiding a bug. (PR: #1036)
- Update CompilationTest to match latest compiler changes. (PR: #940)
- Remove unused imports. (PR: #941)
- replacevisitor: Add a strong test and fix many bugs accordingly. (PR: #957)
- Added a test for new compilation unit filter. (PR: #1037)
Other
- changelog: Improve the changelog generator. (PR: #1087)
- jenkins: Purge local repository of all Spoon snapshots. (PR: #1065)
- Change eclipse jdt core dependency now depends on Maven central only. (PR: #1063)
- Update version of spoon-maven-plugin. (PR: #906)
- build.sh: Update minimum version to fix problem with repo.eclipse.org.
- coverage: Update coveralls version. (PR: #1001)
- release: Update version number in documentation. (PR: #907)
- Added license note to CompilationUnitFilter. (PR: #1037)
Authors
Name | Nb Commit |
---|---|
Martin Monperrus | 52 |
Pavel Vojtechovsky | 36 |
Simon Urli | 21 |
Thomas Durieux | 13 |
Marcel Steinbeck | 11 |
Benjamin DANGLOT | 3 |
Дмитрий | 1 |
Artur Bosch | 1 |
Scott Dickerson | 1 |
arno_b | 1 |
Gérard Paligot | 1 |
Lionel Seinturier | 1 |
aveuiller | 1 |