aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release 1.9.20V1_9_20Alexander Kriegisch2023-08-1628-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add more info and set release date in 1.9.20 release notesAlexander Kriegisch2023-08-161-9/+14
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump JDT Core to 1.9.20Alexander Kriegisch2023-08-161-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add 1.9.20 release notes and update version compatibility matrixAlexander Kriegisch2023-08-163-0/+157
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move 1.9.20 bug regression tests to the correct spotsAlexander Kriegisch2023-08-1515-247/+247
| | | | | | | | | | | Originally, I had intended to release a minor 1.9.19.1 release to fix some bugs. But then, Java 20 support was implemented and merged, so the next release will be 1.9.20. Therefore, I moved some bug regression tests to the 1.9.20 suite. Relates to #254. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix tests using Javac via Ant using source/target < 1.8Alexander Kriegisch2023-08-061-1/+1
| | | | | | Since JDK 20, targets older than 1.8 are no longer supported by Javac. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Improve error message in LazyClassGen.getJavaClassBytesIncludingReweavableAlexander Kriegisch2023-08-063-11/+17
| | | | | | | | | | No longer report "Unable to find ASM classes", if simply an ASM processing error occurred. In that case, report "Error processing class file". Relates to #250. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix inline accessor method bug in BcelAccessForInlineMungerAlexander Kriegisch2023-08-062-8/+14
| | | | | | | | | | Make sure to create one ajc$inlineAccessMethod per identically named (overloaded) private aspect method in BcelAccessForInlineMunger.createOrGetInlineAccessorForMethod. Fixes #250. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add regression test for #250Alexander Kriegisch2023-08-063-0/+62
| | | | | | Reproduces #250. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Use relocated ASM class names in BCException messageAlexander Kriegisch2023-08-041-5/+8
| | | | | | Fixes #251. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add method ArrayReferenceType.equals to fix failing testsAlexander Kriegisch2023-06-263-1/+21
| | | | | | | | | | | This also fixes a bug. Previously, ResolvedType.equals was used for equality check, and in there is a '==' comparison, which does not work for two different ArrayReferenceType instances, even if the component type is the same. Relates to #246. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* BcelTypeMunger.getRealMemberForITDFromAspect code cosmeticsAlexander Kriegisch2023-06-261-33/+24
| | | | | | Relates to #246. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Correctly identify ITD method signatures in weaverAlexander Kriegisch2023-06-261-7/+1
| | | | | | | | | | by removing faulty condition 'if (isCtorRelated)' from BcelTypeMunger.getRealMemberForITDFromAspect, see comment https://github.com/eclipse-aspectj/aspectj/issues/246#issuecomment-1605999896. Fixes #246. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add failing test reproducing #246Alexander Kriegisch2023-06-266-2/+55
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Adjust expected error message in switch pattern tests after upstream typo fixAlexander Kriegisch2023-06-244-11/+11
| | | | | | | See: https://github.com/eclipse-jdt/eclipse.jdt.core/issues/919 https://github.com/eclipse-jdt/eclipse.jdt.core/commit/b681dfb5 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Improve SystemPropertiesTestAlexander Kriegisch2023-06-241-5/+3
| | | | | | | | | | - Fix quotation error in console output - Throw RuntimeException instead of Error. Maybe this helps to avoid the prominent error message listing in the GitHub build log, which always looks like something bad happened, even though it is simply an expected error. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Switch CI build to coactions/setup-xvfbAlexander Kriegisch2023-06-241-1/+1
| | | | | | | | | | | | GabrielBB/xvfb-action is no longer maintained and points to coactions/setup-xvfb. The switch should eliminate this warning in CI builds: Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: GabrielBB/xvfb-action@v1.6. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add AllTestsAspectJ1920 to AllTests19 suiteAlexander Kriegisch2023-06-241-0/+2
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* eclipse-jdt/eclipse.jdt.core#919 has been fixedAlexander Kriegisch2023-06-241-5/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Build on JDK 11, 17, 20 (remove 19)Alexander Kriegisch2023-06-241-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix tests using Javac using source/target 1.7Alexander Kriegisch2023-06-241-4/+4
| | | | | | Javac 20+ no longer supports 1.7. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix javadoc generation broken on JDK 20Alexander Kriegisch2023-06-243-7/+22
| | | | | | | | | | | | | Firstly, Javadoc 20 cannot handle source level 1.7 anymore, so I bumped it to 11, which hopefully will be around for another while. It also matches the ajc minimum of Java 11, i.e. ajdoc and ajc are synchronised in this regard now. Secondly, as of JDK 20, the javadoc tool renders HTML pages with section headers specific to the JVM default locale. The workaround is to set the locale to English before calling javadoc. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Improve Java 9+ version matching in ClassPath.getClassPathAlexander Kriegisch2023-06-241-2/+2
| | | | | | | | On the short term, this fixes the failing weaver tests on JDK 20. On the long term, the improved matching heuristics should make it unnecessary to update the regex again. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add basic tests for Java 20, deactivate Java 19 preview testsAlexander Kriegisch2023-06-2419-17/+810
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* messages_aspectj.properties: update ECJ version stringAlexander Kriegisch2023-06-241-1/+1
| | | | | | | | | This update includes the upstream fix for https://github.com/eclipse-jdt/eclipse.jdt.core/issues/911. Eclipse Compiler b15e5c75653358 (24Mar2023) - Java20 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Temporarily build both Java 19 and 20 on GitHubAlexander Kriegisch2023-06-241-1/+1
| | | | | | | | | | | Let's find out if the tests still pass - on Java 19, except for J19 preview features, - on Java 20, also except for J19 with changed syntax. TODO: After having added Java 20 preview feature tests, remove J19 build. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump jdt.core.version to 1.9.20-SNAPSHOTAlexander Kriegisch2023-06-241-1/+1
| | | | | | | | Let's find out if the tests still pass - on Java 19, except for J19 preview features, - on Java 20, also except for J19 with changed syntax. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* messages_aspectj.properties: update ECJ version stringAlexander Kriegisch2023-06-241-1/+1
| | | | | | Eclipse Compiler 40fa81de93d65b (24Mar2023) - Java20 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Use ASM 9.5 for Java 20 supportAlexander Kriegisch2023-06-241-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add null checks for Shadow.getResolvedSignature()Alexander Kriegisch2023-06-131-3/+5
| | | | | | Fixes #243. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix XML config for Bugs1919Tests.test_GitHub_214Alexander Kriegisch2023-06-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | The test started breaking on GitHub, but ran fine locally, which implied some kind of classpath ordering issue. As it turned out, for XML tests all JARs found in the sandbox directory are added to the classpath automatically. So if we do not want them on the classpath, we need to delete or rename them before running. In this case, however, it was enough to make sure the classpath order is correct, so that the duplicate 'Application' class is found in the woven version, not in the unwoven one by chance. We therefore need to use the correct syntax, 1. separating classpath entries by comma, not space, 2. prepending '$sandbox/' to the JAR name. Now the test reliably does what it should have done from the start: run the woven code. Until now, the output assertions were adjusted to the weird result of no aspect logs being present on the console, which was wrong right from the start. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add null check to AjLookupEnvironment.hasAspectDeclarationsAlexander Kriegisch2023-06-041-0/+2
| | | | | | Fixes #240. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* IDE.md: change 2022-12 AJDT M2E connector link to upstream update siteAlexander Kriegisch2023-03-111-1/+1
|
* Added MIll to the Build tools sectionTobias Roeser2023-03-031-0/+6
| | | | | I'm the author of mill-aspectj and Mill maintainer, so i might be biased. ;-) We use Mill with the mill-aspectj plugin in commercial projects, so I'm rather confident in it's reliability.
* JavaVersionCompatibility.md: add Java 19Alexander Kriegisch2023-03-011-0/+1
|
* IDE.md: add link to m2e AJDT connector for Eclipse 2022-12Alexander Kriegisch2023-03-011-0/+1
| | | | The link points to aspectj.dev for now, because Mika Vesti has not merged my PR and published a new version on repo.t5.fi yet.
* IDE.md: Add new AJDT update site for 2022-12 (4.26)Alexander Kriegisch2023-02-281-0/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Depend on JDT Core 1.9.20.M1Alexander Kriegisch2023-02-281-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* HandleProviderDelimiter: rename JEM_MODULAR_CLASSFILE to MODULAR_CLASSFILEAlexander Kriegisch2023-02-281-1/+1
| | | | | | The other constants do not have the JEM_ prefix from JavaElement either. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Sync HandleProviderDelimiter with JDT Core & AJDTAlexander Kriegisch2023-02-2631-289/+311
| | | | | | | | | | | | | | | | | | | | | | New constants: JEM_MODULAR_CLASSFILE - '\'' (single quote) ANNOTATION - '}' LAMBDA_EXPRESSION - ')' LAMBDA_METHOD - '&' STRING - '"' MODULE - '`' DELIMITER_ESCAPE - '=' Updated AspectJ constants due to JDT Core using constants previously used by AspectJ: ADVICE - '&' to '§' ASPECT_TYPE - '\'' to '>' ITD_METHOD - ')' to '°' DECLARE - '`' to '´' POINTCUT - '"' to '©' Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add safeguards for And/Or/Not pattern node typesAlexander Kriegisch2023-01-299-15/+30
| | | | | | | | Affects *PointCut, *TypePattern, *AnnotationTypePattern. Relates to #215. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add traverse methods for declare and pattern typesAlexander Kriegisch2023-01-2911-4/+86
| | | | | | Relates to #215. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add traverse methods for pointcut typesAlexander Kriegisch2023-01-2916-0/+130
| | | | | | Relates to #215. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Further improve indentation of compilation results on the consolegh-217Alexander Kriegisch2023-01-241-33/+21
| | | | | | | | | | | | | | | | | | | | In CompilationResult.toString, no longer indent like this: [warning 1] warning at after() : execution(FooBar Blah.*()) { ^^^^^^ xxx FooBar [Xlint:invalidAbsoluteTypeName] Instead, always just indent by 2 spaces, saving screen real estate: [warning 1] warning at after() : execution(FooBar Blah.*()) { ^^^^^^ xxx FooBar [Xlint:invalidAbsoluteTypeName] Also further streamline/simplify the code a bit. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix indentation of compilation results on the consoleAlexander Kriegisch2023-01-222-55/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whenever warnings or errors were printed via CompilationResult.toString, indirectly also using MessageUtil.renderMessage(IMessage, boolean), messages containing context info such as code snippets with carets marking erroneous tokens - see also the previous commit - prefixes like "[warning 1] warning at " were printed right in front of the code snippets. I.e., the carets marking erroneous tokens in the second line were not indented like the first line with the code snippet, leading to (simplified) output like: [warning 1] warning at after() : execution(FooBar Blah.*()) { ^^^^^^ xxx FooBar [Xlint:invalidAbsoluteTypeName] This was fixed to now correctly indent lines 2 to n according to line 1, yielding the correct output: [warning 1] warning at after() : execution(FooBar Blah.*()) { ^^^^^^ xxx FooBar [Xlint:invalidAbsoluteTypeName] Especially with longer, more complex context lines, this helps to identify the erroneous section. BTW, for one-line messages, everything of course looks like before. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bugfix: caret error marks in compiler output too shortAlexander Kriegisch2023-01-221-53/+70
| | | | | | | | | | | | | | | | | | | | | | | | | This very old bug in EclipseAdapterUtils calculated the '^' caret error marks incorrectly. The marks were too short like this: void m() { return vax[3]; } ^^^^^^^^^^^ Where the correct result would look like this: void m() { return vax[3]; } ^^^^^^^^^^^^^^ This was due to the rather complicated way in which first surrounding context code - here the leading 'void m() { ' and trailing ' }' - was first added and then possible leading white space was cut off again from the left. It is difficult to explain, the code is a nightmare, trying to work with char arrays, counting indexes, repeatedly using System.arraycopy and using lots of counters and offsets. I would have liked to simplify the code, converting char[] buffers to Strings, but decided to keep the basic structure for now, not sure what kind of memory or performance considerations led to this design. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix GitHub #214Alexander Kriegisch2023-01-211-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add regression test reproducing GitHub #214Alexander Kriegisch2023-01-217-0/+68
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Comment on newly pointcut parsing found problem in test classAlexander Kriegisch2023-01-152-0/+27
| | | | | | | | | | | | A pointcut like execution(*..Collection<?>[] *(..)) leads to an AJ core dump, which is something I noticed while fixing a test in the previous commit. I am going to create a new issue for it and link to this commit later. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix failing tests after previous commitAlexander Kriegisch2023-01-154-23/+35
| | | | | | | | | After the changes, the weaver's behaviour is now slightly different, but not actually buggy. Actually, in one case there is now a weaver warning for a non-matching pointcut which should have been there before, but was not. I.e., things have improved and the tests are even a bit better now. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>