aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into feature/collection-performanceAndy Clement2020-08-1516-18/+0
|\
| * Cleanup unused importsLars Grefer2020-08-1616-18/+0
| | | | | | | | Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | Weaken Collection declarationsLars Grefer2020-08-152-4/+4
| | | | | | | | | | | | Reports on declarations of Collection variables made by using the collection class as the type, rather than an appropriate interface. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | Redundant Collection.addAll() callLars Grefer2020-08-152-4/+2
| | | | | | | | | | | | Reports Collection.addAll() and Map.putAll() calls after instantiation of a collection using a constructor call without arguments. Such constructs can be replaced with a single call to a parametrized constructor which simplifies code. Also for some collections the replacement might be more performant. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | Collection.toArray() call styleLars Grefer2020-08-159-12/+12
| | | | | | | | | | | | | | There are two styles to convert a collection to an array: either using a pre-sized array (like c.toArray(new String[c.size()])) or using an empty array (like c.toArray(new String[0]). In older Java versions using pre-sized array was recommended, as the reflection call which is necessary to create an array of proper size was quite slow. However since late updates of OpenJDK 6 this call was intrinsified, making the performance of the empty array version the same and sometimes even better, compared to the pre-sized version. Also passing pre-sized array is dangerous for a concurrent or synchronized collection as a data race is possible between the size and toArray call which may result in extra nulls at the end of the array, if the collection was concurrently shrunk during the operation. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | Manual array copyLars Grefer2020-08-153-9/+3
| | | | | | | | | | | | Reports the manual copying of array contents which may be replaced by calls to System.arraycopy(). Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | Manual array to collection copyLars Grefer2020-08-151-6/+3
|/ | | | | | Reports the copying of array contents to a collection where each element is added individually using a for loop. Such constructs may be replaced by a call to Collection.addAll(Arrays.asList()) or Collections.addAll(). Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* Remove checks for old Java VersionsLars Grefer2020-08-135-62/+39
| | | | Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* Use the diamond operator where possibleLars Grefer2020-08-1351-197/+197
| | | | Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* Merge branch 'master' into feature/java5Andy Clement2020-08-121-13/+33
|\
| * Add a debug flag to workaround issue until we can sort it (565713)Andy Clement2020-08-101-15/+35
| |
* | Unnecessary unboxingLars Grefer2020-08-085-13/+13
| | | | | | | | | | | | Reports "unboxing", e.g. explicit unwrapping of wrapped primitive values. Unboxing is unnecessary under Java 5 and newer, and can be safely removed. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | Unnecessary boxingLars Grefer2020-08-086-17/+18
| | | | | | | | | | | | Reports explicit boxing, i.e. wrapping of primitive values in objects. Explicit manual boxing is unnecessary under Java 5 and newer, and can be safely removed. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | 'String.indexOf()' expression is replaceable with 'contains()'Lars Grefer2020-08-0810-14/+14
| | | | | | | | | | | | Reports any String.indexOf() expressions which can be replaced with a call to the String.contains() method available in Java 5 and newer. Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | 'while' loop replaceable with enhanced 'for' loopLars Grefer2020-08-081-3/+2
| | | | | | | | | | | | Reports while loops which iterate over collections, and can be replaced with an enhanced for loop (i.e. foreach iteration syntax). Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* | 'for' loop replaceable with enhanced 'for' loopLars Grefer2020-08-0854-430/+382
|/ | | | | | Reports for loops which iterate over collections or arrays, and can be replaced with an enhanced for loop (i.e. the foreach iteration syntax). Signed-off-by: Lars Grefer <eclipse@larsgrefer.de>
* PolishAndy Clement2020-07-223-59/+73
|
* Rev to 1.9.7.BUILD-SNAPSHOTAndy Clement2020-07-221-1/+1
|
* AspectJ 1.9.6 final bitsV1_9_6Andy Clement2020-07-221-1/+1
|
* Fix 550705: tricky intermittent verify errorAndy Clement2020-04-291-11/+24
|
* Move to 1.9.6.BUILD-SNAPSHOT versionAndy Clement2019-11-281-1/+1
|
* 1.9.5 release versions in pomsV1_9_5Andy Clement2019-11-281-1/+1
|
* polishAndy Clement2019-11-281-31/+28
|
* Debug for 551732Andy Clement2019-11-281-9/+14
|
* Fix 550494Andy Clement2019-11-271-8/+11
|
* Fix Bug 550290 - Lack of TypeSafeEnum#hashCode may lead to non-deterministic ↵Andy Clement2019-09-092-27/+43
| | | | bytecode
* Update to 1.9.5.BUILD-SNAPSHOT in pomsAndy Clement2019-06-031-1/+1
|
* 1.9.4 POMSAndy Clement2019-05-101-1/+1
|
* pushed versions to 1.9.4.BUILD-SNAPSHOTAndy Clement2019-04-171-1/+1
|
* polish for 1.9.3V1_9_3Andy Clement2019-04-041-4/+5
|
* 333274: more tests and fixes: nested @Around advice with proceedAndy Clement2019-02-193-1/+28
|
* Adding ProceedingJoinPoint built in typeAndy Clement2019-02-191-1/+1
|
* Fix version tagging for info stringsAndy Clement2019-02-111-1/+1
|
* Add module tests back in - but streamlinedAndy Clement2019-02-011-0/+56
|
* tweak matcher for weaver module requirementsAndy Clement2019-01-254-1/+20
|
* mavenized org.aspectj.matcher - finishedAndy Clement2019-01-236-94/+4
|
* mavenized org.aspectj.matcher module - wipAndy Clement2019-01-23302-45/+47
|
* 543657: overweaving declare parents fixAndy Clement2019-01-211-1/+1
|
* 389678: Better support for overweavingAndy Clement2019-01-213-9/+36
| | | | | | | | | | | | More testcases for overweaving and better handling of WeaverStateInfo to avoid the dreaded problems deserialized the 'special key' used to store diffs. With these changes once a class is woven via overweaving we switch the diff we store in the weaverstateinfo to 0 byte array (indicating overweaving happened for later weavers that see it). We also stop writing the special 'key' into the attribute and avoid looking-for and attempting to replace it at the end of weaving.
* Dig deeper to find WildTypePattern in DeclareParentsAndy Clement2019-01-172-35/+86
| | | | | | | The existing check crudely only checked the top level, failing to find nested WildTypePatterns. Resolves #542682
* Diagnostics for https://bugs.eclipse.org/bugs/show_bug.cgi?id=543023Andy Clement2019-01-111-1/+6
|
* better infrastructure for checking pointcuts terminate correctly - inactive ↵Andy Clement2019-01-094-2/+22
| | | | right now
* Fix 541325 - Support is(AbstractType)Andy Clement2018-11-192-0/+5
|
* 537825: Remove FINAL for cflow related class elements for Java 9+Andy Clement2018-08-243-12/+6
|
* Fix some generics warnings, add overridesAndy Clement2018-05-2912-16/+69
|
* Initial cut at bug 535086 - pertypewithin and non vis typesAndy Clement2018-05-255-10/+83
| | | | | | | In this version unless you specify an aspect is privileged then the pertypewithin clause will not match types not visible from the aspect (private types or default vis types in another package) Debating whether to change this to not require privileged.
* Bug#531694: generate more optional thisJoinPoint construction codeAndy Clement2018-03-093-8/+56
| | | | | | | This commit introduces some new methods into the runtime Factory class and modifies code generation to use them (and to use the form of the LDC bytecode that loads class constants).
* Fix for Bug 531819 - Negative parameter annotation matching not behavingAndy Clement2018-02-281-1/+8
|
* JDT Upgrade for 1.9.0.rc3Andy Clement2018-02-051-0/+5
|
* mergedAndy Clement2018-01-3111-117/+163
|\