aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add tests for Java 21 unnamed classes and instance methodsAlexander Kriegisch2023-12-115-0/+80
| | | | | | TODO: Activate the unnamed class test after https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1106 is done. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add tests for Java 21 unnamed patternsAlexander Kriegisch2023-12-114-0/+237
| | | | | | TODO: Activate after https://github.com/eclipse-jdt/eclipse.jdt.core/issues/893 is done. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add tests for Java 21 string patternsAlexander Kriegisch2023-12-114-2/+309
| | | | | | | | TODO: Due to eclipse-jdt/eclipse.jdt.core#1719, one line per test is currently rendered incorrectly. After the upstream fix, change "\Bill \Duck" to "Bill Duck". Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Make OutputSpec::getTrimmedLines work for empty lines on WindowsAlexander Kriegisch2023-12-111-2/+5
| | | | | | | Improve the regex splitting lines to actually remove CR characters on Windows. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Simple regression test unit test for #266Alexander Kriegisch2023-12-101-0/+51
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set exception root cause in ExtensibleURLClassLoader::findClassAndy Russell2023-12-101-1/+1
| | | | Fixes #266.
* RELEASE.md: simplify '-DskipTests' command docsAlexander Kriegisch2023-12-021-3/+3
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.21-SNAPSHOT againAlexander Kriegisch2023-12-0228-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Release candidate 1.9.21.RC1V1_9_21_RC1Alexander Kriegisch2023-12-0228-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump JDT Core to 1.9.21.RC1java-21Alexander Kriegisch2023-12-021-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump ECJ to 23b713ce (01Dec2023)Alexander Kriegisch2023-12-021-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Adjust to API changes in ECJ 4dc7b558 (01Dec2023)Alexander Kriegisch2023-12-018-17/+17
| | | | | | Mostly StringBuffer -> StringBuilder API changes Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump AJC version string to c13b03ceabf0c1Alexander Kriegisch2023-11-271-1/+1
| | | | | | | More exactly: Eclipse Compiler c13b03ceabf0c1 (26Nov2023) - Java21 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Reactivate some tests on JDK 21 after upstream fixAlexander Kriegisch2023-11-273-28/+1
| | | | | | | https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1466 has finally been fixed. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AllTests19 suite: add AllTestsAspectJ1921Alexander Kriegisch2023-11-271-0/+2
| | | | | | | Until now, the CI build did not run Java 21 tests, but they look OK locally. Now, let's find out what GitHub Actions says. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add missing file RecordPatternsPreview1ExhaustivenessOK1.java for JDK 21Alexander Kriegisch2023-11-271-0/+34
| | | | | | | | This file was missing, which did not trigger an error in CI builds, because AllTestsAspectJ1921 was not part of the AllTests19 suite before. The latter will be fixed in the next commit. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjcTaskTest: Be more lenient with aspectjrt version warningAlexander Kriegisch2023-11-211-0/+12
| | | | | | | | | | | | | | | Filter out a warning which occurs, if the current release does not match the stored binary in lib/test: bad version number found in aspectjrt.jar expected 1.9.21.M1 found 1.9.20.1 If e.g. we run tests for a milestone release a.b.5.M1 and afterwards switch back to a.b.5-SNAPSHOT, we do not want to update lib/test for a single commit, just to make this test pass. Hence, we ignore this warning here. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjcTaskTest: unwrap redundant if statementAlexander Kriegisch2023-11-211-3/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* RELEASE.md: Add '--add-opens' info for Nexus Staging 'rc:release'Alexander Kriegisch2023-11-191-0/+4
| | | | | | | Sonatype has not solved the problems in Nexus Staging Maven Plugin for years, so it makes sense to document them. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version 1.9.21-SNAPSHOTAlexander Kriegisch2023-11-1928-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Release milestone 1.9.21.M1V1_9_21_M1Alexander Kriegisch2023-11-1928-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Enable some tests after J19 problems were fixed for J21Alexander Kriegisch2023-11-055-20/+52
| | | | | | | | | | Two test classes which had redundant default clauses for switch with record patterns were copied from the java19 to the java21 directory and the redundant clauses deactivated, i.e. the test now run as originally intended. For older JDK versions, the old tests still stay active in order to document the old state of affairs. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Switch CI build to Temurin JDK 21 final (from EA)Alexander Kriegisch2023-11-011-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Adjust to latest changes in JDT CoreAlexander Kriegisch2023-11-012-8/+8
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Make all existing tests run on JDK 21Alexander Kriegisch2023-10-056-488/+393
| | | | | | | | | | | This mostly affects pattern matching for switch and record patterns. Two tests which were working before for pattern matching for switch (preview 4), started to fail, so the corresponding code was commented out and https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1466 recorded. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move some 1.9.20.1 bug tests to correct directoryAlexander Kriegisch2023-10-055-5/+9
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjcTestCase: Make sure main methods can be called in Java 21Alexander Kriegisch2023-10-051-2/+5
| | | | | | | | | Since JDK 21, a public main method of a non-public (e.g. default-scoped) class can no longer be invoked without making it accessible first. Because many test sources contain multiple aspects and classes in one file, this is a frequent use case. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add test infrastructure for Java 21 (WIP)Alexander Kriegisch2023-10-0516-10/+988
| | | | | | | The tests and their XML definitions are still copy & paste and need to be cleaned up. Separate Java 21 feature tests do not exist yet. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Beautify sanity tests using bytecode level constantsAlexander Kriegisch2023-10-0512-29/+45
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump ASM to 9.6 (new Opcodes.V22 constant for Java 22)Alexander Kriegisch2023-10-051-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AntSpec: Improve filter for warning "Archived non-system classes are disabled"Alexander Kriegisch2023-10-011-4/+12
| | | | | | | | | | | | | In JDK 21, the prefix has changed once again, no longer being a JVM specifier like "OpenJDK 64-Bit Server VM" or "Java HotSpot(TM) 64-Bit Server VM" but rather something like "[0.016s][warning][cds]". Even worse, before J21, the warning appears on stdErr, but in J21+, it appears on stdOut. Fixes LTWTests.testJ14LTWWithXML, which started failing on Java 21. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjLookupEnvironment: readability refactoringAlexander Kriegisch2023-10-011-582/+515
| | | | | | | | | | | | | While trying to understand the code a bit better in order to fix failing builds, I applied some cosmetic refactoring and reformatting. This commit does not change any functionality. Whether the static import of CompilationAndWeavingContext.* is a good thing or not is debatable, but I like the code to be less chatty than it was before, assuming that every developer uses an IDE helping to find out where static methods and constants come from. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjLookupEnvironment: add new phase CONNECT_TYPE_HIERARCHY2Alexander Kriegisch2023-10-012-16/+17
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Ignore AspectJ core dumpsAlexander Kriegisch2023-09-271-0/+3
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Remove old '.cvsignore' filesAlexander Kriegisch2023-09-2765-124/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* CI build: remove JDK 11 build, switch 21 to 21-eaAlexander Kriegisch2023-09-271-1/+1
| | | | | | | | | | | Background: JDT Core dependencies now contain hundreds of Java 17 class files, i.e. Ajc now requires Java 17+ runtime environment. :-( For more details, see: https://github.com/eclipse-aspectj/aspectj/issues/260#issuecomment-1736540176 Adoptium Java 21 release is not available yet, so we need to run on EA. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump JDT Core to 1.9.21-SNAPSHOTAlexander Kriegisch2023-09-262-4/+10
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Upgrade CI build to JDK 21Alexander Kriegisch2023-09-261-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Update compiler.version to latest Java 20 mergeAlexander Kriegisch2023-09-251-1/+1
| | | | | | | | | messages_aspectj.properties: compiler.version = ... d23a141971a37b (27Apr2023) - Java20 Too bad this version string did not make it into 1.9.20 and 1.9.20.1. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.21-SNAPSHOTAlexander Kriegisch2023-09-0428-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Update AspectJ libraries in 'lib' subfoldersV1_9_20_1Alexander Kriegisch2023-09-044-0/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AspectJ release 1.9.20.1Alexander Kriegisch2023-09-0428-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Update 1.9.20 release notes for 1.9.20.1Alexander Kriegisch2023-09-043-2/+24
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* ajc162.xml: Fix test failing after previous bugfixAlexander Kriegisch2023-08-231-2/+2
| | | | | | | | | | | | | A change made to ajc162.xml in commit 43cb1e2f has been reverted and improved after the recent negated type pattern fix. Relates to #257. The pointcut 'call(!void *.*(..)) && this(src) && target(dst)' actually does match method call 'payloadClass.getPayload()' within the around-advice in GenericClassInAdvice itself. Improvement: Activate '-showWeaveInfo' and verify weaving message. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* NotTypePattern: Fix matching problem for negated type patternsAlexander Kriegisch2023-08-231-1/+6
| | | | | | | | | | | | | | | The implementation for boolean matchesArray(UnresolvedType type) was buggy. '!String' should match anything but String, no matter if it is an array or not, e.g. int, void, int[], String[], String[][]. '!String[]' should match anything but String[], no matter if it is an array or not, e.g. int, void, int[], String, String[][]. Fixes #257. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add regression test for #257Alexander Kriegisch2023-08-233-0/+174
| | | | | | Relates to #257. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Improve bridge method test, bootstrapping ASM usageAlexander Kriegisch2023-08-223-3/+11
| | | | | | | | | | | Instead of using a pre-generated JAR, the source code generating the class with reordered methods (bridge method first) is now compiled directly before usage. This is possible, because in the previous commit ASM was put on the Ajc classpath for tests. Relates to #256. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Put ASM on classpath for Ajc in testsAlexander Kriegisch2023-08-221-0/+2
| | | | | | | | | | | | | | | This enables compiled source code to use ASM. This way, it is possible to bootstrap tests needing specially prepared class files by 1. compiling an ASM-enabled byte code generator class, 2. running the generator, writing out class files, 3. using the generated class files in subsequent tests. Until now, such classes always had to be checked into the ASM directly or inside JARs. Now, this is no longer necessary. The next commit will be the first example. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix Spring issue 27761Alexander Kriegisch2023-08-211-1/+1
| | | | | | | | | | Fixes spring-projects/spring-framework#27761. Fixes #256. Bridge methods are now ignored in favour of their overriding namesakes during method matching. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Regression test for Spring issue 27761Alexander Kriegisch2023-08-215-0/+117
| | | | | | | | | | Relates to spring-projects/spring-framework#27761. The test needs an ASM-generated class file with reordered methods in order to reproduce the issue in plain AspectJ. The test fails now, but should pass after the fix. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>