From c953f9aad859285290b87208c89a2ea7d06b679a Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Sat, 24 Jul 2021 12:24:46 +0700 Subject: Bump ASM 9.1 to 9.2 (Java 17+18 support) This is a first, preparatory step Signed-off-by: Alexander Kriegisch --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2e7060f68..703ce1bed 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 1.9.7.M2 - 9.1 + 9.2 1.6.3 2.6.2 1.2 -- cgit v1.2.3 From 5265e1af8a13cb55215aea7cedc23784e4108a4b Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Sun, 25 Jul 2021 17:24:59 +0700 Subject: Bump JDT Core from 1.9.7.M2 to 1.9.8-SNAPSHOT Not Java 17 compatible yet, but refreshed from main branch for latest Java 16 updates in compiler (mostly about records). Let's see if CI is still green before trying to upgrade JDT Core to Java 17 beta. Signed-off-by: Alexander Kriegisch --- pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 703ce1bed..6f90cb809 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,8 @@ true - 1.9.7.M2 + + 1.9.8-SNAPSHOT 9.2 1.6.3 2.6.2 -- cgit v1.2.3 From 1980df92d866ed4c047971da6706661e1b65ac4f Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Sun, 25 Jul 2021 17:35:04 +0700 Subject: Add Sonatype OSSRH snapshots repositories Otherwise - JDT Core 1.9.8-SNAPSHOT (classic OSSRH snapshot URL) - AspectJ Maven Plugin 1.13-SNAPSHOT (new OSSRH snapshot URL) cannot be found Signed-off-by: Alexander Kriegisch --- pom.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pom.xml b/pom.xml index 6f90cb809..b2273ab8a 100644 --- a/pom.xml +++ b/pom.xml @@ -82,6 +82,34 @@ never + + ossrh-snapshots-classic + Sonatype OSSRH snapshots classic + https://oss.sonatype.org/content/repositories/snapshots + default + + true + always + + + true + never + + + + ossrh-snapshots-new + Sonatype OSSRH snapshots new + https://s01.oss.sonatype.org/content/repositories/snapshots + default + + true + always + + + true + never + + -- cgit v1.2.3 From 0a1a66397b71d0e81270856db8eb30c55ec7adbd Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Sun, 25 Jul 2021 18:35:36 +0700 Subject: Add AJDT support for printing switch expressions Signed-off-by: Alexander Kriegisch --- .../ajdt/internal/compiler/CommonPrinter.java | 39 ++++++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/CommonPrinter.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/CommonPrinter.java index 43f98336d..47be96344 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/CommonPrinter.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/CommonPrinter.java @@ -61,6 +61,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ast.SingleNameReference; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.SingleTypeReference; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.StringLiteral; +import org.aspectj.org.eclipse.jdt.internal.compiler.ast.SwitchExpression; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.SwitchStatement; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ThisReference; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ThrowStatement; @@ -617,6 +618,8 @@ public class CommonPrinter { return output; } else if (statement instanceof LocalDeclaration) { return printLocalDeclaration((LocalDeclaration) statement, indent); + } else if (statement instanceof SwitchExpression) { + return printSwitchExpression((SwitchExpression) statement, indent); } else if (statement instanceof SwitchStatement) { return printSwitchStatement((SwitchStatement) statement, indent); } else if (statement instanceof CaseStatement) { @@ -754,22 +757,44 @@ public class CommonPrinter { } private StringBuilder printBreakStatement(BreakStatement statement, int indent) { - printIndent(indent).append("break "); //$NON-NLS-1$ + printIndent(indent).append("break"); //$NON-NLS-1$ if (statement.label != null) { - output.append(statement.label); + output.append(' ').append(statement.label); } return output.append(';'); } private StringBuilder printCaseStatement(CaseStatement statement, int indent) { printIndent(indent); - if (statement.constantExpression == null) { - output.append("default : "); //$NON-NLS-1$ + if (statement.constantExpressions == null) { + output.append("default "); //$NON-NLS-1$ + output.append(statement.isExpr ? "->" : ":"); //$NON-NLS-1$ //$NON-NLS-2$ } else { output.append("case "); //$NON-NLS-1$ - printExpression(statement.constantExpression).append(" : "); //$NON-NLS-1$ + for (int i = 0, l = statement.constantExpressions.length; i < l; ++i) { + printExpression(statement.constantExpressions[i]); + if (i < l -1) output.append(','); + } + output.append(statement.isExpr ? " ->" : " :"); //$NON-NLS-1$ //$NON-NLS-2$ } - return output;// output.append(';'); + return output; + } + + private StringBuilder printSwitchExpression(SwitchExpression statement, int indent) { + printIndent(indent).append("switch ("); //$NON-NLS-1$ + printExpression(statement.expression).append(") {"); //$NON-NLS-1$ + if (statement.statements != null) { + for (int i = 0; i < statement.statements.length; i++) { + output.append('\n'); + if (statement.statements[i] instanceof CaseStatement) { + printCaseStatement((CaseStatement) statement.statements[i], indent); + } else { + printStatement(statement.statements[i], indent + 2); + } + } + } + output.append("\n"); //$NON-NLS-1$ + return printIndent(indent).append('}'); } private StringBuilder printSwitchStatement(SwitchStatement statement, int indent) { @@ -779,7 +804,7 @@ public class CommonPrinter { for (int i = 0; i < statement.statements.length; i++) { output.append('\n'); if (statement.statements[i] instanceof CaseStatement) { - printStatement(statement.statements[i], indent); + printCaseStatement((CaseStatement) statement.statements[i], indent); } else { printStatement(statement.statements[i], indent + 2); } -- cgit v1.2.3 From 665d6a9498360104c662d138df79304210df66f2 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Mon, 26 Jul 2021 08:44:05 +0700 Subject: In ITD processing, use setter instead of assigning Scope directly Change calls like pre.scope.parent = newParent; to this pattern: // Use setter in order to also update member 'compilationUnitScope' pre.scope.setParent(newParent); This should fix lots of failing tests after updating JDT Core. Signed-off-by: Alexander Kriegisch --- .../ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java | 3 ++- .../org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java | 3 ++- .../ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java index 5a2038f75..16182762c 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java @@ -192,7 +192,8 @@ public class InterTypeConstructorDeclaration extends InterTypeDeclaration { } InterTypeScope newParent = new InterTypeScope(scope, onTypeBinding); - pre.scope.parent = newParent; + // Use setter in order to also update member 'compilationUnitScope' + pre.scope.setParent(newParent); pre.resolveStatements(); // newParent); diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java index ff765515a..75e0a20e3 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java @@ -146,7 +146,8 @@ public abstract class InterTypeDeclaration extends AjMethodDeclaration { if (!scopeSetup) { interTypeScope = new InterTypeScope(upperScope, onTypeBinding,typeVariableAliases); - scope.parent = interTypeScope; + // Use setter in order to also update member 'compilationUnitScope' + scope.setParent(interTypeScope); this.scope.isStatic = Modifier.isStatic(declaredModifiers); scopeSetup = true; } diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.java index fe95dd53e..9fa9456aa 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.java @@ -203,7 +203,8 @@ public class IntertypeMemberClassDeclaration extends TypeDeclaration { // this is the original version in case tricking the JDT causes grief (if you reinstate this variant, you // will need to change the expected messages output for some of the generic ITD tests) // scope.isStatic = Modifier.isStatic(declaredModifiers); - scope.parent = interTypeScope; + // Use setter in order to also update member 'compilationUnitScope' + scope.setParent(interTypeScope); } scopeSetup = true; } -- cgit v1.2.3 From c80551f1d36e288b4b3be658e70c0560b7e04c9e Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Wed, 28 Jul 2021 10:49:46 +0700 Subject: Test comment cosmetics Signed-off-by: Alexander Kriegisch --- .../java/org/aspectj/testing/XMLBasedAjcTestCaseForJava14Only.java | 2 ++ .../java/org/aspectj/testing/XMLBasedAjcTestCaseForJava15Only.java | 2 ++ .../test/java/org/aspectj/systemtest/ajc192/SanityTestsJava11.java | 2 +- .../test/java/org/aspectj/systemtest/ajc195/SanityTestsJava13.java | 2 +- .../test/java/org/aspectj/systemtest/ajc196/AllTestsAspectJ196.java | 4 ++-- .../test/java/org/aspectj/systemtest/ajc196/SanityTestsJava14.java | 2 +- .../test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java | 3 +++ .../test/java/org/aspectj/systemtest/ajc197/SanityTestsJava15.java | 2 +- .../test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java | 2 +- .../test/java/org/aspectj/systemtest/ajc198/AllTestsAspectJ198.java | 2 +- .../test/java/org/aspectj/systemtest/ajc198/SanityTestsJava17.java | 2 +- 11 files changed, 16 insertions(+), 9 deletions(-) diff --git a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava14Only.java b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava14Only.java index ece127651..70ebef477 100644 --- a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava14Only.java +++ b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava14Only.java @@ -17,11 +17,13 @@ public abstract class XMLBasedAjcTestCaseForJava14Only extends XMLBasedAjcTestCa @Override public void setUp() throws Exception { + // Activate this block after upgrading to JDT Core Java 15 throw new IllegalStateException( "These tests need a Java 14 level AspectJ compiler " + "(e.g. because they use version-specific preview features). " + "This compiler does not support preview features of a previous version anymore." ); + // Activate this block before upgrading to JDT Core Java 15 /* if (!LangUtil.is14VMOrGreater() || LangUtil.is15VMOrGreater()) { throw new IllegalStateException( diff --git a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava15Only.java b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava15Only.java index 868ece1e3..5b64445a9 100644 --- a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava15Only.java +++ b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava15Only.java @@ -17,11 +17,13 @@ public abstract class XMLBasedAjcTestCaseForJava15Only extends XMLBasedAjcTestCa @Override public void setUp() throws Exception { + // Activate this block after upgrading to JDT Core Java 16 throw new IllegalStateException( "These tests need a Java 15 level AspectJ compiler " + "(e.g. because they use version-specific preview features). " + "This compiler does not support preview features of a previous version anymore." ); + // Activate this block before upgrading to JDT Core Java 16 /* if (!LangUtil.is15VMOrGreater() || LangUtil.is16VMOrGreater()) { throw new IllegalStateException( diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc192/SanityTestsJava11.java b/tests/src/test/java/org/aspectj/systemtest/ajc192/SanityTestsJava11.java index 806cdc55b..329b3f880 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc192/SanityTestsJava11.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc192/SanityTestsJava11.java @@ -14,7 +14,7 @@ import junit.framework.Test; /* * Some very trivial tests that help verify things are OK. - * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -10 option + * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -11 option * to check code generation and modification with that version specified. * * @author Andy Clement diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc195/SanityTestsJava13.java b/tests/src/test/java/org/aspectj/systemtest/ajc195/SanityTestsJava13.java index c3acd04b2..f8cffca69 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc195/SanityTestsJava13.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc195/SanityTestsJava13.java @@ -14,7 +14,7 @@ import junit.framework.Test; /* * Some very trivial tests that help verify things are OK. - * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -10 option + * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -13 option * to check code generation and modification with that version specified. * * @author Andy Clement diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc196/AllTestsAspectJ196.java b/tests/src/test/java/org/aspectj/systemtest/ajc196/AllTestsAspectJ196.java index 08013d697..c2e13b550 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc196/AllTestsAspectJ196.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc196/AllTestsAspectJ196.java @@ -24,11 +24,11 @@ public class AllTestsAspectJ196 { suite.addTest(SanityTestsJava14.suite()); } // Do not run tests using a previous compiler's preview features anymore. They would all fail. -/* + /* if (LangUtil.is14VMOrGreater() && !LangUtil.is15VMOrGreater()) { suite.addTest(Ajc196PreviewFeaturesTests.suite()); } -*/ + */ return suite; } } diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc196/SanityTestsJava14.java b/tests/src/test/java/org/aspectj/systemtest/ajc196/SanityTestsJava14.java index 554832dd2..6857b4d8a 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc196/SanityTestsJava14.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc196/SanityTestsJava14.java @@ -14,7 +14,7 @@ import junit.framework.Test; /* * Some very trivial tests that help verify things are OK. - * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -10 option + * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -14 option * to check code generation and modification with that version specified. * * @author Andy Clement diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java index 9aaed7eb8..fe767e639 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java @@ -25,9 +25,12 @@ public class AllTestsAspectJ197 { suite.addTest(SanityTestsJava16.suite()); suite.addTest(Ajc197TestsJava.suite()); } + // Do not run tests using a previous compiler's preview features anymore. They would all fail. + /* if (LangUtil.is16VMOrGreater() && !LangUtil.is17VMOrGreater()) { suite.addTest(Java16PreviewFeaturesTests.suite()); } + */ return suite; } } diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava15.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava15.java index a91d5c240..9622e7364 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava15.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava15.java @@ -13,7 +13,7 @@ import org.aspectj.testing.XMLBasedAjcTestCaseForJava15OrLater; /* * Some very trivial tests that help verify things are OK. - * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -10 option + * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -15 option * to check code generation and modification with that version specified. * * @author Alexander Kriegisch diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java index ab28b080f..52950b4dd 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java @@ -13,7 +13,7 @@ import org.aspectj.testing.XMLBasedAjcTestCaseForJava16OrLater; /* * Some very trivial tests that help verify things are OK. - * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -10 option + * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -16 option * to check code generation and modification with that version specified. * * @author Alexander Kriegisch diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc198/AllTestsAspectJ198.java b/tests/src/test/java/org/aspectj/systemtest/ajc198/AllTestsAspectJ198.java index d99042a3f..69ed09593 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc198/AllTestsAspectJ198.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc198/AllTestsAspectJ198.java @@ -19,7 +19,7 @@ public class AllTestsAspectJ198 { public static Test suite() { TestSuite suite = new TestSuite("AspectJ 1.9.8 tests"); if (LangUtil.is9VMOrGreater()) { - suite.addTest(org.aspectj.systemtest.ajc198.CompileWithReleaseTests.suite()); + suite.addTest(CompileWithReleaseTests.suite()); } if (LangUtil.is17VMOrGreater()) { suite.addTest(SanityTestsJava17.suite()); diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc198/SanityTestsJava17.java b/tests/src/test/java/org/aspectj/systemtest/ajc198/SanityTestsJava17.java index 4fac5f375..0769be83b 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc198/SanityTestsJava17.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc198/SanityTestsJava17.java @@ -13,7 +13,7 @@ import org.aspectj.testing.XMLBasedAjcTestCaseForJava17OrLater; /* * Some very trivial tests that help verify things are OK. - * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -10 option + * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -17 option * to check code generation and modification with that version specified. * * @author Alexander Kriegisch -- cgit v1.2.3 From 620add3a3c18dc3e126a03254b6482ad9ab7ef36 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Wed, 28 Jul 2021 10:55:02 +0700 Subject: Add + activate some Java 17 tests - Fix one fault sanity test configuration - Deactivate Java 16 preview tests (no longer supported by Java 17 compiler) - Test sealed classes as final on Java 17 (no longer preview) - Add tests for JEP 406, pattern matching for switch (preview). At present, the beta 17 branch of JDT Core does not handle the tested features and expected compile errors correctly yet, so I had to temporarily deactivate test execution, only printing TODO messages. Signed-off-by: Alexander Kriegisch --- .../testing/XMLBasedAjcTestCaseForJava16Only.java | 5 +- .../testing/XMLBasedAjcTestCaseForJava17Only.java | 1 + tests/features198/java17/SwitchPatternAspect.aj | 65 ++++++++++++++++++++ tests/features198/java17/SwitchPatternError.java | 16 +++++ tests/features198/java17/SwitchPatternOK.java | 63 +++++++++++++++++++ .../aspectj/systemtest/ajc198/Ajc198TestsJava.java | 52 ++++++---------- .../ajc198/Java17PreviewFeaturesTests.java | 29 +++++---- .../org/aspectj/systemtest/ajc198/ajc198.xml | 70 ++++++++++++++++++---- .../aspectj/systemtest/ajc198/sanity-tests-17.xml | 6 +- 9 files changed, 243 insertions(+), 64 deletions(-) create mode 100644 tests/features198/java17/SwitchPatternAspect.aj create mode 100644 tests/features198/java17/SwitchPatternError.java create mode 100644 tests/features198/java17/SwitchPatternOK.java diff --git a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava16Only.java b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava16Only.java index 0a4e31b6f..115e01289 100644 --- a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava16Only.java +++ b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava16Only.java @@ -20,13 +20,13 @@ public abstract class XMLBasedAjcTestCaseForJava16Only extends XMLBasedAjcTestCa @Override public void setUp() throws Exception { // Activate this block after upgrading to JDT Core Java 17 - /* throw new IllegalStateException( "These tests need a Java 16 level AspectJ compiler " + "(e.g. because they use version-specific preview features). " + "This compiler does not support preview features of a previous version anymore." ); - */ + // Activate this block before upgrading to JDT Core Java 17 + /* if (!LangUtil.is16VMOrGreater() || LangUtil.is17VMOrGreater()) { throw new IllegalStateException( "These tests should be run on Java 16 only " + @@ -34,6 +34,7 @@ public abstract class XMLBasedAjcTestCaseForJava16Only extends XMLBasedAjcTestCa ); } super.setUp(); + */ } } diff --git a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava17Only.java b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava17Only.java index e20ee7af7..0c351c69a 100644 --- a/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava17Only.java +++ b/testing/src/test/java/org/aspectj/testing/XMLBasedAjcTestCaseForJava17Only.java @@ -27,6 +27,7 @@ public abstract class XMLBasedAjcTestCaseForJava17Only extends XMLBasedAjcTestCa "This compiler does not support preview features of a previous version anymore." ); */ + // Activate this block before upgrading to JDT Core Java 18 if (!LangUtil.is17VMOrGreater() || LangUtil.is18VMOrGreater()) { throw new IllegalStateException( "These tests should be run on Java 17 only " + diff --git a/tests/features198/java17/SwitchPatternAspect.aj b/tests/features198/java17/SwitchPatternAspect.aj new file mode 100644 index 000000000..5ca2b9611 --- /dev/null +++ b/tests/features198/java17/SwitchPatternAspect.aj @@ -0,0 +1,65 @@ +aspect SwitchPatternAspect { + Object around(Object o) : execution(* doSomethingWithObject(*)) && args(o) { + System.out.println(switch (o) { + case null -> "null"; + case Integer i -> String.format("int %d", i); + case Long l -> String.format("long %d", l); + case Double d -> String.format("double %f", d); + case String s -> String.format("String %s", s); + default -> o.toString(); + }); + return proceed(o); + } + + before(Shape s) : execution(* doSomethingWithShape(*)) && args(s) { + System.out.println(switch (s) { + case Circle c && (c.calculateArea() > 100) -> "Large circle"; + case Circle c -> "Small circle"; + default -> "Non-circle"; + }); + } + + after(S s) : execution(* doSomethingWithSealedClass(*)) && args(s) { + System.out.println(switch (s) { + case A a -> "Sealed sub-class A"; + case B b -> "Sealed sub-class B"; + case C c -> "Sealed sub-record C"; + }); + } +} + +class Shape {} +class Rectangle extends Shape {} +class Circle extends Shape { + private final double radius; + public Circle(double radius) { this.radius = radius; } + double calculateArea() { return Math.PI * radius * radius; } +} + +sealed interface S permits A, B, C {} +final class A implements S {} +final class B implements S {} +record C(int i) implements S {} // Implicitly final + +public class Application { + public static void main(String[] args) { + doSomethingWithObject(null); + doSomethingWithObject(123); + doSomethingWithObject(999L); + doSomethingWithObject(12.34); + doSomethingWithObject("foo"); + doSomethingWithObject(List.of(123, "foo", 999L, 12.34)); + + doSomethingWithShape(new Rectangle()); + doSomethingWithShape(new Circle(5)); + doSomethingWithShape(new Circle(6)); + + doSomethingWithSealedClass(new A())); + doSomethingWithSealedClass(new B())); + doSomethingWithSealedClass(new C(5))); + } + + public Object doSomethingWithObject(Object o) { return o; } + public void doSomethingWithSealedClass(S s) {} + public void doSomethingWithShape(Shape s) {} +} diff --git a/tests/features198/java17/SwitchPatternError.java b/tests/features198/java17/SwitchPatternError.java new file mode 100644 index 000000000..745fd375c --- /dev/null +++ b/tests/features198/java17/SwitchPatternError.java @@ -0,0 +1,16 @@ +/** + * Inspired by examples in https://openjdk.java.net/jeps/406 + */ +public class SwitchPatternError { + static void error(Object o) { + switch(o) { + case CharSequence cs -> + System.out.println("A sequence of length " + cs.length()); + case String s -> // Error - pattern is dominated by previous pattern + System.out.println("A string: " + s); + default -> { + break; + } + } + } +} diff --git a/tests/features198/java17/SwitchPatternOK.java b/tests/features198/java17/SwitchPatternOK.java new file mode 100644 index 000000000..26c1cf755 --- /dev/null +++ b/tests/features198/java17/SwitchPatternOK.java @@ -0,0 +1,63 @@ +import java.util.List; + +/** + * Inspired by examples in https://openjdk.java.net/jeps/406 + */ +public class SwitchPatternOK { + public static void main(String[] args) { + System.out.println(formatterPatternSwitch(null)); + System.out.println(formatterPatternSwitch(123)); + System.out.println(formatterPatternSwitch(999L)); + System.out.println(formatterPatternSwitch(12.34)); + System.out.println(formatterPatternSwitch("foo")); + System.out.println(formatterPatternSwitch(List.of(123, "foo", 999L, 12.34))); + + System.out.println(testCircle(new Rectangle())); + System.out.println(testCircle(new Circle(5))); + System.out.println(testCircle(new Circle(6))); + + System.out.println(testSealedCoverage(new A())); + System.out.println(testSealedCoverage(new B())); + System.out.println(testSealedCoverage(new C(5))); + } + + static String formatterPatternSwitch(Object o) { + return switch (o) { + case null -> "null"; + case Integer i -> String.format("int %d", i); + case Long l -> String.format("long %d", l); + case Double d -> String.format("double %f", d); + case String s -> String.format("String %s", s); + default -> o.toString(); + }; + } + + static class Shape {} + static class Rectangle extends Shape {} + static class Circle extends Shape { + private final double radius; + public Circle(double radius) { this.radius = radius; } + double calculateArea() { return Math.PI * radius * radius; } + } + + static String testCircle(Shape s) { + return switch (s) { + case Circle c && (c.calculateArea() > 100) -> "Large circle"; + case Circle c -> "Small circle"; + default -> "Non-circle"; + }; + } + + sealed interface S permits A, B, C {} + final static class A implements S {} + final static class B implements S {} + static record C(int i) implements S {} // Implicitly final + + static String testSealedCoverage(S s) { + return switch (s) { + case A a -> "Sealed sub-class A"; + case B b -> "Sealed sub-class B"; + case C c -> "Sealed sub-record C"; + }; + } +} diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc198/Ajc198TestsJava.java b/tests/src/test/java/org/aspectj/systemtest/ajc198/Ajc198TestsJava.java index 172d6e14e..8fa9110f2 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc198/Ajc198TestsJava.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc198/Ajc198TestsJava.java @@ -17,40 +17,24 @@ import org.aspectj.testing.XMLBasedAjcTestCaseForJava17OrLater; */ public class Ajc198TestsJava extends XMLBasedAjcTestCaseForJava17OrLater { - public void testHiddenClass() { - runTest("hidden class"); - checkVersion("HiddenClassDemo", Constants.MAJOR_17, Constants.MINOR_17); - } - - public void testTextBlock1() { - runTest("textblock 1"); - checkVersion("Code", Constants.MAJOR_17, Constants.MINOR_17); - } - - public void testTextBlock2() { - runTest("textblock 2"); - checkVersion("Code2", Constants.MAJOR_17, Constants.MINOR_17); - } - - public void testRecords() { - runTest("simple record"); - checkVersion("Person", Constants.MAJOR_17, Constants.MINOR_17); - } - - public void testRecords2() { - runTest("using a record"); - checkVersion("UsingPersonRecord", Constants.MAJOR_17, Constants.MINOR_17); - } - - public void testAdvisingRecords() { - runTest("advising records"); - checkVersion("TraceRecordComponents", Constants.MAJOR_17, Constants.MINOR_17); - } - - public void testInstanceofPatterns() { - runTest("instanceof patterns"); - checkVersion("Jep305", Constants.MAJOR_17, Constants.MINOR_17); - } + public void testSealedClassWithLegalSubclasses() { + runTest("sealed class with legal subclasses"); + // TODO: replace 0 by Constants.PREVIEW_MINOR_VERSION after no longer using EA build, but final JDK version + checkVersion("Employee", Constants.MAJOR_17, 0 /*Constants.PREVIEW_MINOR_VERSION*/); + checkVersion("Manager", Constants.MAJOR_17, 0 /*Constants.PREVIEW_MINOR_VERSION*/); + } + + public void testSealedClassWithIllegalSubclass() { + runTest("sealed class with illegal subclass"); + // TODO: replace 0 by Constants.PREVIEW_MINOR_VERSION after no longer using EA build, but final JDK version + checkVersion("Person", Constants.MAJOR_17, 0 /*Constants.PREVIEW_MINOR_VERSION*/); + } + + public void testWeaveSealedClass() { + runTest("weave sealed class"); + // TODO: replace 0 by Constants.PREVIEW_MINOR_VERSION after no longer using EA build, but final JDK version + checkVersion("PersonAspect", Constants.MAJOR_17, 0 /*Constants.PREVIEW_MINOR_VERSION*/); + } public static Test suite() { return XMLBasedAjcTestCase.loadSuite(Ajc198TestsJava.class); diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java b/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java index fab787724..e17ae26d6 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java @@ -17,23 +17,28 @@ import org.aspectj.testing.XMLBasedAjcTestCaseForJava17Only; */ public class Java17PreviewFeaturesTests extends XMLBasedAjcTestCaseForJava17Only { -/* - public void testSealedClassWithLegalSubclasses() { - runTest("sealed class with legal subclasses"); - checkVersion("Employee", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION); - checkVersion("Manager", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION); + public void testSwitchPatternMatchingCaseLabelDominatedByPrecedingError() { + // TODO: JDT Core does not support detecting type domination detection in the development version yet -> activate when available + System.out.println("TODO: JDT Core does not support detecting type domination detection in the development version yet -> activate when available"); +// runTest("switch pattern matching error"); } - public void testSealedClassWithIllegalSubclass() { - runTest("sealed class with illegal subclass"); - checkVersion("Person", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION); + public void testSwitchPatternMatchingJava() { + // TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available + System.out.println("TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available"); +// runTest("switch pattern matching java"); +// checkVersion("SwitchPatternOK", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); } - public void testWeaveSealedClass() { - runTest("weave sealed class"); - checkVersion("PersonAspect", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION); + public void testSwitchPatternMatchingAspect() { + // TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available + System.out.println("TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available"); +// runTest("switch pattern matching aspect"); +// checkVersion("SwitchPatternAspect", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); +// checkVersion("Application", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); +// checkVersion("Shape", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); +// checkVersion("S", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); } -*/ public static Test suite() { return XMLBasedAjcTestCase.loadSuite(Java17PreviewFeaturesTests.class); diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml index 06ca7d048..a0c26d098 100644 --- a/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml +++ b/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml @@ -3,34 +3,78 @@ - - - + ---> - - - + ---> - - - - + + ---> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc198/sanity-tests-17.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc198/sanity-tests-17.xml index 70f52fafa..adb339a41 100644 --- a/tests/src/test/resources/org/aspectj/systemtest/ajc198/sanity-tests-17.xml +++ b/tests/src/test/resources/org/aspectj/systemtest/ajc198/sanity-tests-17.xml @@ -48,14 +48,14 @@ - + - + - + -- cgit v1.2.3 From 6a4ab3cbaac58eddedc88b2a78f61a94174b6af2 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Wed, 28 Jul 2021 10:57:25 +0700 Subject: Activate Java 17 build in GitHub workflow Signed-off-by: Alexander Kriegisch --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b4d9fe615..d49c2dc0c 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - java: [ 8, 11, 16 ] + java: [ 8, 11, 16, 17-ea ] steps: - uses: actions/checkout@v2 -- cgit v1.2.3 From 30773df20ff88e4fb5ba76a1e0aadc4b02ba0d58 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Sat, 2 Oct 2021 13:54:26 +0200 Subject: Add Sonatype OSSRH snapshot (plugin) repositories Signed-off-by: Alexander Kriegisch --- pom.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pom.xml b/pom.xml index b2273ab8a..44c29290c 100644 --- a/pom.xml +++ b/pom.xml @@ -110,6 +110,20 @@ never + + ossrh-snapshots + Sonatype OSSRH snapshots + https://oss.sonatype.org/content/repositories/snapshots + default + + true + always + + + true + never + + @@ -132,6 +146,20 @@ never + + ossrh-snapshots + Sonatype OSSRH snapshots + https://oss.sonatype.org/content/repositories/snapshots + default + + true + always + + + true + never + + aspectj-dev AspectJ artifacts on aspectj.dev -- cgit v1.2.3 From 93e3bd515e5244a2d365862f07aaf7a449b6d510 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Sat, 2 Oct 2021 13:55:59 +0200 Subject: Update ECJ version, activate Java 17 preview features tests After JDT Core (ECJ) was updated to the final Java 17 feature set, the tests now pass as expected. Signed-off-by: Alexander Kriegisch --- .../compiler/batch/messages_aspectj.properties | 2 +- tests/features198/java17/SwitchPatternAspect.aj | 16 +++++++++------- .../ajc198/Java17PreviewFeaturesTests.java | 22 ++++++++-------------- .../org/aspectj/systemtest/ajc198/ajc198.xml | 2 +- 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/org.aspectj.ajdt.core/src/main/resources/org/aspectj/org/eclipse/jdt/internal/compiler/batch/messages_aspectj.properties b/org.aspectj.ajdt.core/src/main/resources/org/aspectj/org/eclipse/jdt/internal/compiler/batch/messages_aspectj.properties index 36e9597a5..a54d7ec22 100644 --- a/org.aspectj.ajdt.core/src/main/resources/org/aspectj/org/eclipse/jdt/internal/compiler/batch/messages_aspectj.properties +++ b/org.aspectj.ajdt.core/src/main/resources/org/aspectj/org/eclipse/jdt/internal/compiler/batch/messages_aspectj.properties @@ -1,5 +1,5 @@ compiler.name = AspectJ Compiler -compiler.version = Eclipse Compiler a00b62fa3572b0 (17Mar2021) - Java16 +compiler.version = Eclipse Compiler f8768b6899a6a2 (15Sep2021) - Java17 compiler.copyright = misc.version = {0} {1} - {2} {3} diff --git a/tests/features198/java17/SwitchPatternAspect.aj b/tests/features198/java17/SwitchPatternAspect.aj index 5ca2b9611..5a3eeeb30 100644 --- a/tests/features198/java17/SwitchPatternAspect.aj +++ b/tests/features198/java17/SwitchPatternAspect.aj @@ -1,3 +1,5 @@ +import java.util.List; + aspect SwitchPatternAspect { Object around(Object o) : execution(* doSomethingWithObject(*)) && args(o) { System.out.println(switch (o) { @@ -41,7 +43,7 @@ final class A implements S {} final class B implements S {} record C(int i) implements S {} // Implicitly final -public class Application { +class Application { public static void main(String[] args) { doSomethingWithObject(null); doSomethingWithObject(123); @@ -54,12 +56,12 @@ public class Application { doSomethingWithShape(new Circle(5)); doSomethingWithShape(new Circle(6)); - doSomethingWithSealedClass(new A())); - doSomethingWithSealedClass(new B())); - doSomethingWithSealedClass(new C(5))); + doSomethingWithSealedClass(new A()); + doSomethingWithSealedClass(new B()); + doSomethingWithSealedClass(new C(5)); } - public Object doSomethingWithObject(Object o) { return o; } - public void doSomethingWithSealedClass(S s) {} - public void doSomethingWithShape(Shape s) {} + public static Object doSomethingWithObject(Object o) { return o; } + public static void doSomethingWithSealedClass(S s) {} + public static void doSomethingWithShape(Shape s) {} } diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java b/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java index e17ae26d6..c1b0f8c44 100644 --- a/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java +++ b/tests/src/test/java/org/aspectj/systemtest/ajc198/Java17PreviewFeaturesTests.java @@ -18,26 +18,20 @@ import org.aspectj.testing.XMLBasedAjcTestCaseForJava17Only; public class Java17PreviewFeaturesTests extends XMLBasedAjcTestCaseForJava17Only { public void testSwitchPatternMatchingCaseLabelDominatedByPrecedingError() { - // TODO: JDT Core does not support detecting type domination detection in the development version yet -> activate when available - System.out.println("TODO: JDT Core does not support detecting type domination detection in the development version yet -> activate when available"); -// runTest("switch pattern matching error"); + runTest("switch pattern matching error"); } public void testSwitchPatternMatchingJava() { - // TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available - System.out.println("TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available"); -// runTest("switch pattern matching java"); -// checkVersion("SwitchPatternOK", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); + runTest("switch pattern matching java"); + checkVersion("SwitchPatternOK", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); } public void testSwitchPatternMatchingAspect() { - // TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available - System.out.println("TODO: JDT Core does not support sealed class coverage in the development version yet -> activate when available"); -// runTest("switch pattern matching aspect"); -// checkVersion("SwitchPatternAspect", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); -// checkVersion("Application", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); -// checkVersion("Shape", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); -// checkVersion("S", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); + runTest("switch pattern matching aspect"); + checkVersion("SwitchPatternAspect", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); + checkVersion("Application", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); + checkVersion("Shape", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); + checkVersion("S", Constants.MAJOR_17, Constants.PREVIEW_MINOR_VERSION); } public static Test suite() { diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml index a0c26d098..9937413a9 100644 --- a/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml +++ b/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml @@ -30,7 +30,7 @@ - + -- cgit v1.2.3 From d9c96991b813b0a95a950e51e8f6149b9cae5ed7 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Sat, 2 Oct 2021 14:01:27 +0200 Subject: Bump GitHub CI build from JDK 17-ea to 17, remove 16 Signed-off-by: Alexander Kriegisch --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index d49c2dc0c..818c24f32 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - java: [ 8, 11, 16, 17-ea ] + java: [ 8, 11, 17 ] steps: - uses: actions/checkout@v2 -- cgit v1.2.3 From 1dd6a2d47cb409e6f932728e58b41d15c3cf980c Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 8 Oct 2021 06:36:38 +0200 Subject: Rename DOM AST class TypePattern to AbstractTypePattern Since JDT Core 3.27 (Java 17), there is a name clash, because the new class org.eclipse.jdt.core.dom.TypePattern (JEP 406) gets relocated to org.aspectj.org.eclipse.jdt.core.dom.TypePattern during shading. Fortunately, this made tests like AjASTTest and AjAST5Test fail with rather nasty errors like: java.lang.VerifyError: Bad return type (...) Type 'org/aspectj/org/eclipse/jdt/core/dom/TypePattern' (...) is not assignable to 'org/aspectj/org/eclipse/jdt/core/dom/Pattern' (...) TODO: Update AJDT references to the renamed class in the following classes after refreshing the AspectJ sources: - ExtraPackageReferenceFinder - ExtraTypeReferenceFinder This also means, that for Eclipse 2021-09 (4.21) we need a new AJDT update site, because simply deploying to the 4.19 one would probably lead to problems in the IDE. Signed-off-by: Alexander Kriegisch --- .../jdt/core/dom/AbstractBooleanTypePattern.java | 14 +++--- .../eclipse/jdt/core/dom/AbstractTypePattern.java | 56 ++++++++++++++++++++++ .../org/eclipse/jdt/core/dom/AjASTConverter.java | 18 +++---- .../eclipse/jdt/core/dom/AjNaiveASTFlattener.java | 4 +- .../org/eclipse/jdt/core/dom/AndTypePattern.java | 4 +- .../org/eclipse/jdt/core/dom/AnyTypePattern.java | 2 +- .../jdt/core/dom/AnyWithAnnotationTypePattern.java | 2 +- .../jdt/core/dom/DeclareParentsDeclaration.java | 14 +++--- .../jdt/core/dom/DeclarePrecedenceDeclaration.java | 2 +- .../jdt/core/dom/DeclareSoftDeclaration.java | 12 ++--- .../eclipse/jdt/core/dom/DefaultTypePattern.java | 2 +- .../eclipse/jdt/core/dom/EllipsisTypePattern.java | 2 +- .../eclipse/jdt/core/dom/HasMemberTypePattern.java | 2 +- .../jdt/core/dom/IdentifierTypePattern.java | 2 +- .../org/eclipse/jdt/core/dom/NoTypePattern.java | 2 +- .../org/eclipse/jdt/core/dom/NotTypePattern.java | 10 ++-- .../org/eclipse/jdt/core/dom/OrTypePattern.java | 6 +-- .../jdt/core/dom/TypeCategoryTypePattern.java | 2 +- .../org/eclipse/jdt/core/dom/TypePattern.java | 56 ---------------------- .../java/org/aspectj/tools/ajc/AjAST5Test.java | 5 +- .../test/java/org/aspectj/tools/ajc/AjASTTest.java | 8 ++-- 21 files changed, 112 insertions(+), 113 deletions(-) create mode 100644 org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypePattern.java delete mode 100644 org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypePattern.java diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.java index 4163210cb..045e7fd2d 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.java @@ -9,23 +9,23 @@ *******************************************************************/ package org.aspectj.org.eclipse.jdt.core.dom; -public abstract class AbstractBooleanTypePattern extends TypePattern { +public abstract class AbstractBooleanTypePattern extends AbstractTypePattern { - private TypePattern left; - private TypePattern right; + private AbstractTypePattern left; + private AbstractTypePattern right; - AbstractBooleanTypePattern(AST ast, TypePattern left, TypePattern right, - String booleanOperator) { + AbstractBooleanTypePattern(AST ast, AbstractTypePattern left, AbstractTypePattern right, + String booleanOperator) { super(ast, booleanOperator); this.left = left; this.right = right; } - public TypePattern getLeft() { + public AbstractTypePattern getLeft() { return left; } - public TypePattern getRight() { + public AbstractTypePattern getRight() { return right; } diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypePattern.java new file mode 100644 index 000000000..cff152fa7 --- /dev/null +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypePattern.java @@ -0,0 +1,56 @@ +/******************************************************************** + * Copyright (c) 2006, 2010 Contributors. All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Eclipse Public License v 2.0 + * which accompanies this distribution and is available at + * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt + * + * Contributors: IBM Corporation - initial API and implementation + * Helen Hawkins - iniital version + * Nieraj Singh + *******************************************************************/ +package org.aspectj.org.eclipse.jdt.core.dom; + +/** + * abstract TypePattern DOM AST node. + */ +public abstract class AbstractTypePattern extends PatternNode { + + private String typePatternExpression; + + public static final String EMPTY_EXPRESSION = ""; + + AbstractTypePattern(AST ast) { + super(ast); + } + + AbstractTypePattern(AST ast, String typePatternExpression) { + super(ast); + this.typePatternExpression = typePatternExpression; + } + + /** + * Should be called for internal setting only, if the expression needs to be set + * lazily + * @param typePatternExpression + */ + protected void setTypePatternExpression(String typePatternExpression) { + this.typePatternExpression = typePatternExpression; + } + + /** + * Return the type pattern in expression form (String representation). In + * many cases, this is not null, although it may be null in some cases like + * the NoTypePattern + * + * @return String expression of the type pattern. May be null. + */ + public String getTypePatternExpression() { + return typePatternExpression; + } + + int treeSize() { + return memSize(); + } + +} diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.java index 02ca4544f..64bb9cefe 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.java @@ -659,9 +659,9 @@ public class AjASTConverter extends ASTConverter { DeclareParents dp = (DeclareParents) declare; declareDeclaration = new org.aspectj.org.eclipse.jdt.core.dom.DeclareParentsDeclaration(this.ast, dp.isExtends()); org.aspectj.org.eclipse.jdt.core.dom.PatternNode pNode = convert(dp.getChild()); - if (pNode instanceof org.aspectj.org.eclipse.jdt.core.dom.TypePattern) { + if (pNode instanceof AbstractTypePattern) { ((DeclareParentsDeclaration) declareDeclaration) - .setChildTypePattern((org.aspectj.org.eclipse.jdt.core.dom.TypePattern) pNode); + .setChildTypePattern((AbstractTypePattern) pNode); } TypePattern[] weaverTypePatterns = dp.getParents().getTypePatterns(); List typePatterns = ((DeclareParentsDeclaration) declareDeclaration).parentTypePatterns(); @@ -681,9 +681,9 @@ public class AjASTConverter extends ASTConverter { DeclareSoft ds = (DeclareSoft) declare; ((DeclareSoftDeclaration) declareDeclaration).setPointcut(convert(ds.getPointcut())); org.aspectj.org.eclipse.jdt.core.dom.PatternNode pNode = convert(ds.getException()); - if (pNode instanceof org.aspectj.org.eclipse.jdt.core.dom.TypePattern) { + if (pNode instanceof AbstractTypePattern) { ((DeclareSoftDeclaration) declareDeclaration) - .setTypePattern((org.aspectj.org.eclipse.jdt.core.dom.TypePattern) pNode); + .setTypePattern((AbstractTypePattern) pNode); } } @@ -866,12 +866,12 @@ public class AjASTConverter extends ASTConverter { } - public org.aspectj.org.eclipse.jdt.core.dom.TypePattern convert( + public AbstractTypePattern convert( TypePattern weaverNode) { // First check if the node is a Java type (WildType, ExactType, // BindingType) - org.aspectj.org.eclipse.jdt.core.dom.TypePattern domNode = createIdentifierTypePattern(weaverNode); + AbstractTypePattern domNode = createIdentifierTypePattern(weaverNode); if (domNode == null) { if (weaverNode instanceof org.aspectj.weaver.patterns.EllipsisTypePattern) { @@ -907,7 +907,7 @@ public class AjASTConverter extends ASTConverter { // nottypepattern is 1, NOT 0. TypePattern negatedTypePattern = ((org.aspectj.weaver.patterns.NotTypePattern) weaverNode) .getNegatedPattern(); - org.aspectj.org.eclipse.jdt.core.dom.TypePattern negatedDomTypePattern = convert(negatedTypePattern); + AbstractTypePattern negatedDomTypePattern = convert(negatedTypePattern); domNode = new org.aspectj.org.eclipse.jdt.core.dom.NotTypePattern( ast, negatedDomTypePattern); } else if (weaverNode instanceof org.aspectj.weaver.patterns.TypeCategoryTypePattern) { @@ -945,11 +945,11 @@ public class AjASTConverter extends ASTConverter { * to convert to a DOM equivalent * @return DOM node or null if it was not created */ - protected org.aspectj.org.eclipse.jdt.core.dom.TypePattern createIdentifierTypePattern( + protected AbstractTypePattern createIdentifierTypePattern( TypePattern weaverTypePattern) { String typeExpression = weaverTypePattern.toString(); - org.aspectj.org.eclipse.jdt.core.dom.TypePattern domTypePattern = null; + AbstractTypePattern domTypePattern = null; if (weaverTypePattern instanceof org.aspectj.weaver.patterns.WildTypePattern) { // Use the expression for wild type patterns as a Name may not be // constructed diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.java index 36f95a109..dd5511fc9 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.java @@ -1661,7 +1661,7 @@ public class AjNaiveASTFlattener extends AjASTVisitor { } for (Iterator it = node.parentTypePatterns().iterator(); it.hasNext();) { - TypePattern typePat = (TypePattern) it.next(); + AbstractTypePattern typePat = (AbstractTypePattern) it.next(); typePat.accept(this); if(it.hasNext()){ this.buffer.append(", "); @@ -1711,7 +1711,7 @@ public class AjNaiveASTFlattener extends AjASTVisitor { this.buffer.append("declare precedence: "); for (Iterator it = node.typePatterns().iterator(); it.hasNext();) { - TypePattern typePat = (TypePattern) it.next(); + AbstractTypePattern typePat = (AbstractTypePattern) it.next(); typePat.accept(this); if(it.hasNext()){ this.buffer.append(", "); diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.java index 87d96868d..84ab558a7 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.java @@ -15,7 +15,7 @@ public class AndTypePattern extends AbstractBooleanTypePattern { public static final String AND_OPERATOR = "&&"; - AndTypePattern(AST ast, TypePattern left, TypePattern right) { + AndTypePattern(AST ast, AbstractTypePattern left, AbstractTypePattern right) { super(ast, left, right, AND_OPERATOR); } @@ -25,7 +25,7 @@ public class AndTypePattern extends AbstractBooleanTypePattern { ASTNode clone0(AST target) { AndTypePattern cloned = new AndTypePattern(target, - (TypePattern) getLeft().clone(target), (TypePattern) getRight() + (AbstractTypePattern) getLeft().clone(target), (AbstractTypePattern) getRight() .clone(target)); cloned.setSourceRange(getStartPosition(), getLength()); return cloned; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.java index b2355da3c..4d327e33d 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.java @@ -11,7 +11,7 @@ package org.aspectj.org.eclipse.jdt.core.dom; import java.util.List; -public class AnyTypePattern extends TypePattern { +public class AnyTypePattern extends AbstractTypePattern { public static final String ANYTYPE_DETAIL = "*"; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.java index 678537df5..e9a8adcda 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.java @@ -16,7 +16,7 @@ import java.util.List; * expression * */ -public class AnyWithAnnotationTypePattern extends TypePattern { +public class AnyWithAnnotationTypePattern extends AbstractTypePattern { AnyWithAnnotationTypePattern(AST ast, String annotationExpression) { // Is this correct? should the "*" be added diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.java index 3443fb5a9..7ba035ad7 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.java @@ -27,13 +27,13 @@ public class DeclareParentsDeclaration extends DeclareDeclaration { internalJavadocPropertyFactory(DeclareParentsDeclaration.class); public static final ChildPropertyDescriptor CHILD_TYPE_PATTERN_PROPERTY = - new ChildPropertyDescriptor(DeclareParentsDeclaration.class, "childTypePattern", TypePattern.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ + new ChildPropertyDescriptor(DeclareParentsDeclaration.class, "childTypePattern", AbstractTypePattern.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ public static final SimplePropertyDescriptor IS_EXTENDS_PROPERTY = new SimplePropertyDescriptor(DeclareParentsDeclaration.class, "isExtends", boolean.class, MANDATORY); //$NON-NLS-1$ public static final ChildListPropertyDescriptor PARENTS_TYPE_PATTERNS_LIST_PROPERTY = - new ChildListPropertyDescriptor(DeclareParentsDeclaration.class, "typePatternsList", TypePattern.class, NO_CYCLE_RISK); //$NON-NLS-1$ + new ChildListPropertyDescriptor(DeclareParentsDeclaration.class, "typePatternsList", AbstractTypePattern.class, NO_CYCLE_RISK); //$NON-NLS-1$ private static final List PROPERTY_DESCRIPTORS_2_0; private static final List PROPERTY_DESCRIPTORS_3_0; @@ -57,7 +57,7 @@ public class DeclareParentsDeclaration extends DeclareDeclaration { } private boolean isExtends; - private TypePattern childTypePattern; + private AbstractTypePattern childTypePattern; protected ASTNode.NodeList parentTypePatterns =new ASTNode.NodeList(PARENTS_TYPE_PATTERNS_LIST_PROPERTY); @@ -76,7 +76,7 @@ public class DeclareParentsDeclaration extends DeclareDeclaration { result.setJavadoc( (Javadoc) ASTNode.copySubtree(target, getJavadoc())); result.setChildTypePattern( - (TypePattern) ASTNode.copySubtree(target, getChildTypePattern())); + (AbstractTypePattern) ASTNode.copySubtree(target, getChildTypePattern())); result.setExtends(isExtends()); result.parentTypePatterns().addAll( ASTNode.copySubtrees(target, parentTypePatterns())); @@ -172,7 +172,7 @@ public class DeclareParentsDeclaration extends DeclareDeclaration { if (get) { return getChildTypePattern(); } else { - setChildTypePattern((TypePattern) child); + setChildTypePattern((AbstractTypePattern) child); return null; } } @@ -218,11 +218,11 @@ public class DeclareParentsDeclaration extends DeclareDeclaration { } - public TypePattern getChildTypePattern(){ + public AbstractTypePattern getChildTypePattern(){ return childTypePattern; } - public void setChildTypePattern(TypePattern typePattern) { + public void setChildTypePattern(AbstractTypePattern typePattern) { if (typePattern == null) { throw new IllegalArgumentException(); } diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.java index 1b50f431e..0b614a010 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.java @@ -26,7 +26,7 @@ public class DeclarePrecedenceDeclaration extends DeclareDeclaration { internalJavadocPropertyFactory(DeclarePrecedenceDeclaration.class); public static final ChildListPropertyDescriptor TYPE_PATTERNS_LIST_PROPERTY = - new ChildListPropertyDescriptor(DeclarePrecedenceDeclaration.class, "parentTypePatterns", TypePattern.class, NO_CYCLE_RISK); //$NON-NLS-1$ + new ChildListPropertyDescriptor(DeclarePrecedenceDeclaration.class, "parentTypePatterns", AbstractTypePattern.class, NO_CYCLE_RISK); //$NON-NLS-1$ private static final List PROPERTY_DESCRIPTORS_2_0; private static final List PROPERTY_DESCRIPTORS_3_0; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.java index ae760e84b..6c1256236 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.java @@ -26,7 +26,7 @@ public class DeclareSoftDeclaration extends DeclareDeclaration { internalJavadocPropertyFactory(DeclareSoftDeclaration.class); public static final ChildPropertyDescriptor TYPE_PATTERN_PROPERTY = - new ChildPropertyDescriptor(DeclareSoftDeclaration.class, "typePattern", TypePattern.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ + new ChildPropertyDescriptor(DeclareSoftDeclaration.class, "typePattern", AbstractTypePattern.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ public static final ChildPropertyDescriptor POINTCUT_PROPERTY = new ChildPropertyDescriptor(DeclareSoftDeclaration.class, "pointcut", PointcutDesignator.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ @@ -51,7 +51,7 @@ public class DeclareSoftDeclaration extends DeclareDeclaration { PROPERTY_DESCRIPTORS_3_0 = reapPropertyList(propertyList); } - private TypePattern typePattern; + private AbstractTypePattern typePattern; private PointcutDesignator pointcut; DeclareSoftDeclaration(AST ast) { @@ -64,7 +64,7 @@ public class DeclareSoftDeclaration extends DeclareDeclaration { result.setJavadoc( (Javadoc) ASTNode.copySubtree(target, getJavadoc())); result.setPointcut((PointcutDesignator)ASTNode.copySubtree(target,getPointcut())); - result.setTypePattern((TypePattern)ASTNode.copySubtree(target,getTypePattern())); + result.setTypePattern((AbstractTypePattern)ASTNode.copySubtree(target,getTypePattern())); return result; } @@ -166,7 +166,7 @@ public class DeclareSoftDeclaration extends DeclareDeclaration { if (get) { return getTypePattern(); } else { - setTypePattern((TypePattern) child); + setTypePattern((AbstractTypePattern) child); return null; } } @@ -174,11 +174,11 @@ public class DeclareSoftDeclaration extends DeclareDeclaration { return super.internalGetSetChildProperty(property, get, child); } - public TypePattern getTypePattern(){ + public AbstractTypePattern getTypePattern(){ return typePattern; } - public void setTypePattern(TypePattern typePattern) { + public void setTypePattern(AbstractTypePattern typePattern) { if (typePattern == null) { throw new IllegalArgumentException(); } diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.java index eae206a46..005a3b2fd 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.java @@ -18,7 +18,7 @@ import java.util.List; * * This class is a stub and should be deleted when concrete subclasses exist for all the different TypePattern's in AspectJ. */ -public class DefaultTypePattern extends TypePattern { +public class DefaultTypePattern extends AbstractTypePattern { private String detail; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.java index 6e6d78813..66e196167 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.java @@ -11,7 +11,7 @@ package org.aspectj.org.eclipse.jdt.core.dom; import java.util.List; -public class EllipsisTypePattern extends TypePattern { +public class EllipsisTypePattern extends AbstractTypePattern { public static final String ELLIPSIS_DETAIL = ".."; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.java index a98a1d5b8..a6b3266bc 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.java @@ -14,7 +14,7 @@ import java.util.List; /** * */ -public class HasMemberTypePattern extends TypePattern { +public class HasMemberTypePattern extends AbstractTypePattern { private SignaturePattern signaturePattern; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/IdentifierTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/IdentifierTypePattern.java index 5c18f9450..7eea167b7 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/IdentifierTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/IdentifierTypePattern.java @@ -9,7 +9,7 @@ *******************************************************************/ package org.aspectj.org.eclipse.jdt.core.dom; -public abstract class IdentifierTypePattern extends TypePattern { +public abstract class IdentifierTypePattern extends AbstractTypePattern { private Type type; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NoTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NoTypePattern.java index 5fdec4e3a..28c31e1f9 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NoTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NoTypePattern.java @@ -11,7 +11,7 @@ package org.aspectj.org.eclipse.jdt.core.dom; import java.util.List; -public class NoTypePattern extends TypePattern { +public class NoTypePattern extends AbstractTypePattern { NoTypePattern(AST ast) { super(ast); diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.java index 882aadb02..e2231f6f0 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.java @@ -11,9 +11,9 @@ package org.aspectj.org.eclipse.jdt.core.dom; import java.util.List; -public class NotTypePattern extends TypePattern { +public class NotTypePattern extends AbstractTypePattern { - private TypePattern negatedPattern; + private AbstractTypePattern negatedPattern; /** * The negated type pattern cannot be null @@ -23,7 +23,7 @@ public class NotTypePattern extends TypePattern { * @param negatedPattern * not null */ - NotTypePattern(AST ast, TypePattern negatedPattern) { + NotTypePattern(AST ast, AbstractTypePattern negatedPattern) { super(ast, "!"); this.negatedPattern = negatedPattern; } @@ -32,13 +32,13 @@ public class NotTypePattern extends TypePattern { return null; } - public TypePattern getNegatedTypePattern() { + public AbstractTypePattern getNegatedTypePattern() { return negatedPattern; } ASTNode clone0(AST target) { ASTNode node = new NotTypePattern(target, - (TypePattern) getNegatedTypePattern().clone(target)); + (AbstractTypePattern) getNegatedTypePattern().clone(target)); node.setSourceRange(getStartPosition(), getLength()); return node; } diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.java index 68239ffcd..cd5320aa3 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.java @@ -16,8 +16,8 @@ public class OrTypePattern extends AbstractBooleanTypePattern { public static final String OR_OPERATOR = "||"; OrTypePattern(AST ast, - org.aspectj.org.eclipse.jdt.core.dom.TypePattern left, - org.aspectj.org.eclipse.jdt.core.dom.TypePattern right) { + AbstractTypePattern left, + AbstractTypePattern right) { super(ast, left, right, OR_OPERATOR); } @@ -27,7 +27,7 @@ public class OrTypePattern extends AbstractBooleanTypePattern { ASTNode clone0(AST target) { OrTypePattern cloned = new OrTypePattern(target, - (TypePattern) getLeft().clone(target), (TypePattern) getRight() + (AbstractTypePattern) getLeft().clone(target), (AbstractTypePattern) getRight() .clone(target)); cloned.setSourceRange(getStartPosition(), getLength()); return cloned; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.java index d932caab3..4efae9133 100644 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.java +++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.java @@ -11,7 +11,7 @@ package org.aspectj.org.eclipse.jdt.core.dom; import java.util.List; -public class TypeCategoryTypePattern extends TypePattern { +public class TypeCategoryTypePattern extends AbstractTypePattern { private int typeCategory; diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypePattern.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypePattern.java deleted file mode 100644 index d296dbef3..000000000 --- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/org/eclipse/jdt/core/dom/TypePattern.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************** - * Copyright (c) 2006, 2010 Contributors. All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Eclipse Public License v 2.0 - * which accompanies this distribution and is available at - * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt - * - * Contributors: IBM Corporation - initial API and implementation - * Helen Hawkins - iniital version - * Nieraj Singh - *******************************************************************/ -package org.aspectj.org.eclipse.jdt.core.dom; - -/** - * abstract TypePattern DOM AST node. - */ -public abstract class TypePattern extends PatternNode { - - private String typePatternExpression; - - public static final String EMPTY_EXPRESSION = ""; - - TypePattern(AST ast) { - super(ast); - } - - TypePattern(AST ast, String typePatternExpression) { - super(ast); - this.typePatternExpression = typePatternExpression; - } - - /** - * Should be called for internal setting only, if the expression needs to be set - * lazily - * @param typePatternExpression - */ - protected void setTypePatternExpression(String typePatternExpression) { - this.typePatternExpression = typePatternExpression; - } - - /** - * Return the type pattern in expression form (String representation). In - * many cases, this is not null, although it may be null in some cases like - * the NoTypePattern - * - * @return String expression of the type pattern. May be null. - */ - public String getTypePatternExpression() { - return typePatternExpression; - } - - int treeSize() { - return memSize(); - } - -} diff --git a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjAST5Test.java b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjAST5Test.java index 65fca0097..c76a3f4d3 100644 --- a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjAST5Test.java +++ b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjAST5Test.java @@ -14,6 +14,7 @@ package org.aspectj.tools.ajc; import java.util.List; import org.aspectj.org.eclipse.jdt.core.dom.AST; +import org.aspectj.org.eclipse.jdt.core.dom.AbstractTypePattern; import org.aspectj.org.eclipse.jdt.core.dom.AjAST; import org.aspectj.org.eclipse.jdt.core.dom.AjTypeDeclaration; import org.aspectj.org.eclipse.jdt.core.dom.AspectDeclaration; @@ -23,8 +24,6 @@ import org.aspectj.org.eclipse.jdt.core.dom.DeclareParentsDeclaration; import org.aspectj.org.eclipse.jdt.core.dom.DefaultTypePattern; import org.aspectj.org.eclipse.jdt.core.dom.PerTypeWithin; import org.aspectj.org.eclipse.jdt.core.dom.SimplePropertyDescriptor; -import org.aspectj.org.eclipse.jdt.core.dom.TypePattern; - public class AjAST5Test extends AjASTTestCase { @@ -113,7 +112,7 @@ public class AjAST5Test extends AjASTTestCase { "should not be null since it is a list", d.getStructuralProperty(element)); assertEquals("should only be able to put TypePattern's into the list", - TypePattern.class, element.getElementType()); + AbstractTypePattern.class, element.getElementType()); } else if (o instanceof SimplePropertyDescriptor) { SimplePropertyDescriptor element = (SimplePropertyDescriptor) o; assertNotNull("DeclareParentsDeclaration's " + element.getId() + " property" + diff --git a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjASTTest.java b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjASTTest.java index 3c8d57a20..f946b96c5 100644 --- a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjASTTest.java +++ b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjASTTest.java @@ -19,6 +19,7 @@ import org.aspectj.org.eclipse.jdt.core.dom.AST; import org.aspectj.org.eclipse.jdt.core.dom.ASTNode; import org.aspectj.org.eclipse.jdt.core.dom.ASTParser; import org.aspectj.org.eclipse.jdt.core.dom.AbstractBooleanTypePattern; +import org.aspectj.org.eclipse.jdt.core.dom.AbstractTypePattern; import org.aspectj.org.eclipse.jdt.core.dom.AfterAdviceDeclaration; import org.aspectj.org.eclipse.jdt.core.dom.AfterReturningAdviceDeclaration; import org.aspectj.org.eclipse.jdt.core.dom.AfterThrowingAdviceDeclaration; @@ -73,7 +74,6 @@ import org.aspectj.org.eclipse.jdt.core.dom.StringLiteral; import org.aspectj.org.eclipse.jdt.core.dom.Type; import org.aspectj.org.eclipse.jdt.core.dom.TypeCategoryTypePattern; import org.aspectj.org.eclipse.jdt.core.dom.TypeDeclaration; -import org.aspectj.org.eclipse.jdt.core.dom.TypePattern; /** * For each AspectJ ASTNode there is a test for: @@ -1439,7 +1439,7 @@ public class AjASTTest extends AjASTTestCase { ChildListPropertyDescriptor element = (ChildListPropertyDescriptor) o; assertNotNull("DeclareErrorDeclaration's " + element.getId() + " property" + "should not be null since it is a list", d.getStructuralProperty(element)); - assertEquals("should only be able to put TypePattern's into the list", TypePattern.class, element.getElementType()); + assertEquals("should only be able to put TypePattern's into the list", AbstractTypePattern.class, element.getElementType()); } else { fail("unknown PropertyDescriptor associated with DeclareErrorDeclaration: " + o); } @@ -1820,12 +1820,12 @@ public class AjASTTest extends AjASTTestCase { } - protected void assertExpression(String expectedExpression, TypePattern node) { + protected void assertExpression(String expectedExpression, AbstractTypePattern node) { assertTrue("Expected: " + expectedExpression + ". Actual: " + node.getTypePatternExpression(), node.getTypePatternExpression().equals(expectedExpression)); } - protected void assertNodeType(Class expected, TypePattern node) { + protected void assertNodeType(Class expected, AbstractTypePattern node) { assertTrue("Expected " + expected.toString() + ". Actual: " + node.getClass().toString(), node.getClass().equals(expected)); } } -- cgit v1.2.3 From f7b7843748366c7310b165b2c3fc088b2c65d245 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 8 Oct 2021 06:44:52 +0200 Subject: Remove Java 8 from GitHub workflow (ECJ needs Java 11+) Since JDT Core 3.27 (Java 17) and Eclipse 2021-09 (4.21), respectively, ECJ no longer works on JDK 8. Even if we backport JDT Core classes, some of its dependencies contain Java 11 class files, which ultimately also means that ACJ no longer works below JDK 11 due to those transitive dependencies, e.g. org.eclipse.core.resources-3.14.0.jar. For now, I added JDK 14 to the build matrix, i.e. we currently have 11, 14, 17. When JDK 18 is released, we can switch to 11, 17, 18, i.e. keep the two LTS releases plus the latest one. Signed-off-by: Alexander Kriegisch --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 818c24f32..546d4286b 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - java: [ 8, 11, 17 ] + java: [ 11, 14, 17 ] steps: - uses: actions/checkout@v2 -- cgit v1.2.3 From 4ebacb393999f12ed80baf96c376b09226a46779 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 8 Oct 2021 07:23:44 +0200 Subject: Fix Java17PreviewFeaturesTests (locale-specific floating-point output) The test worked on my local workstation with German locale, but not on GitHub with English locale. Signed-off-by: Alexander Kriegisch --- tests/features198/java17/SwitchPatternAspect.aj | 3 ++- tests/features198/java17/SwitchPatternOK.java | 3 ++- tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/features198/java17/SwitchPatternAspect.aj b/tests/features198/java17/SwitchPatternAspect.aj index 5a3eeeb30..bf19b8468 100644 --- a/tests/features198/java17/SwitchPatternAspect.aj +++ b/tests/features198/java17/SwitchPatternAspect.aj @@ -1,4 +1,5 @@ import java.util.List; +import java.util.Locale; aspect SwitchPatternAspect { Object around(Object o) : execution(* doSomethingWithObject(*)) && args(o) { @@ -6,7 +7,7 @@ aspect SwitchPatternAspect { case null -> "null"; case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); - case Double d -> String.format("double %f", d); + case Double d -> String.format(Locale.ENGLISH, "double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); }); diff --git a/tests/features198/java17/SwitchPatternOK.java b/tests/features198/java17/SwitchPatternOK.java index 26c1cf755..586dfe020 100644 --- a/tests/features198/java17/SwitchPatternOK.java +++ b/tests/features198/java17/SwitchPatternOK.java @@ -1,4 +1,5 @@ import java.util.List; +import java.util.Locale; /** * Inspired by examples in https://openjdk.java.net/jeps/406 @@ -26,7 +27,7 @@ public class SwitchPatternOK { case null -> "null"; case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); - case Double d -> String.format("double %f", d); + case Double d -> String.format(Locale.ENGLISH, "double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); }; diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml index 9937413a9..c182b58b9 100644 --- a/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml +++ b/tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml @@ -42,7 +42,7 @@ - + @@ -63,7 +63,7 @@ - + -- cgit v1.2.3 From 25d4a1a3d730828a4b5f98e7af89e04488882f01 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 8 Oct 2021 10:06:19 +0200 Subject: Bump JDT Core to 1.9.8.RC1 Signed-off-by: Alexander Kriegisch --- pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index f531073f6..5d91aaf11 100644 --- a/pom.xml +++ b/pom.xml @@ -21,8 +21,7 @@ true - - 1.9.8-SNAPSHOT + 1.9.8.RC1 9.2 1.6.3 2.6.2 -- cgit v1.2.3 From e16efa31d44591dd2a14e552a1fd71cd809d42a0 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 8 Oct 2021 10:55:37 +0200 Subject: Add AspectJ 1.9.8 release notes Signed-off-by: Alexander Kriegisch --- docs/dist/doc/README-197.html | 4 +- docs/dist/doc/README-198.html | 105 +++++++++++++++++++++++++++++++++++++++++ docs/dist/doc/index.html | 107 +++++++++++++++++++++--------------------- 3 files changed, 161 insertions(+), 55 deletions(-) create mode 100644 docs/dist/doc/README-198.html diff --git a/docs/dist/doc/README-197.html b/docs/dist/doc/README-197.html index 734882597..0b39b40cb 100644 --- a/docs/dist/doc/README-197.html +++ b/docs/dist/doc/README-197.html @@ -26,7 +26,7 @@

Please note that going forward Bugzilla for issue management is deprecated and new issues should be filed as GitHub issues. - The list of issues addressed for 1.9.7 can be found + The list of issues addressed for 1.9.7 can be found here for Bugzilla and here for GitHub issues.

@@ -35,7 +35,7 @@

AspectJ 1.9.7 supports Java 15 & - Java 16 and their respective final and review features: + Java 16 and their respective final and preview features:

  • text blocks (final 15)
  • diff --git a/docs/dist/doc/README-198.html b/docs/dist/doc/README-198.html new file mode 100644 index 000000000..825d872ef --- /dev/null +++ b/docs/dist/doc/README-198.html @@ -0,0 +1,105 @@ + + + + +AspectJ 1.9.8 Readme + + + + +
    © Copyright 2021 Contributors. All rights reserved.
    + +

    AspectJ 1.9.8

    + +

    + Please note that Bugzilla for issue management is deprecated and new issues should be filed as + GitHub issues. + The list of issues addressed for 1.9.8 can be found + here for Bugzilla + and here for GitHub issues. +

    + +

    New features

    + +

    + AspectJ 1.9.8 supports Java 17 and its final and preview + features, such as: +

    +
      +
    • sealed classes (final in Java 17, previews in Java 15, 16 and AspectJ 1.9.7)
    • +
    • pattern matching for switch
    • +
    +

    + For features marked as preview on a given JDK, you need to compile with ajc --enable-preview and run with + java --enable-preview on that JDK. +

    +

    + Please note that you cannot run code compiled with preview features on any other JDK than the one used for + compilation. For example, records compiled with preview on JDK 15 cannot be used on JDK 16 without recompilation. This + is a JVM limitation unrelated to AspectJ. Also, e.g. sealed classes are preview-1 on JDK 15 and preview-2 on JDK 16. + You still need to recompile, no matter what. +

    +

    + Furthermore, the --release N compiler option for correct cross-compilation to previous JDK bytecode + API + versions is now supported by AJC. Previously, the option existed (inherited by ECJ) but did not work correctly. +

    + +

    Code examples

    + +

    + You can find some sample code in the AspectJ test suite under the respective AspectJ version in which the features + were first supported (possibly as JVM preview features): +

    + + +

    Using LTW on Java 16+

    + +

    + Please note that if you want to use load-time weaving on Java 16+, the weaving agent collides with + JEP 396 (Strongly Encapsulate JDK Internals by Default). Therefore, + you need to set the JVM parameter --add-opens java.base/java.lang=ALL-UNNAMED in order to enable aspect + weaving. This is due to the fact that the weaver uses internal APIs for which we have not found an adequate + replacement yet when defining classes in different classloaders. +

    + +

    Other changes and bug fixes

    + +
      +
    • + The AspectJ compiler no longer works on JDK 8-10. The minimum compile-time requirement for AspectJ is JDK 11 due + to upstream changes in the Eclipse Java Compiler (subset of JDT Core), which AspectJ is a fork of. You can still + compile to legacy target versions as low as Java 1.3, but the compiler itself (and probably also the load-time + weaver) needs JDK 11. +
    • +
    • Document build profiles and properties in docs/developer/BUILD.md
    • +
    • Add a guide for setting up an AspectJ development environment in docs/developer/IDE.md
    • +
    • Allowed JAR saving if -proceedOnError is specified
    • +
    + +

    + Available: 1.9.8 available DD-MMM-2021 +

    + + + + diff --git a/docs/dist/doc/index.html b/docs/dist/doc/index.html index 94e13fe96..36bba4821 100644 --- a/docs/dist/doc/index.html +++ b/docs/dist/doc/index.html @@ -1,18 +1,18 @@ - + AspectJ Documentation and Resources - +

    AspectJ Documentation and Resources

    -

    +

    AspectJ tm - is a seamless aspect-oriented extension to + is a seamless aspect-oriented extension to Javatm. - The compiler and development tools are available under + The compiler and development tools are available under an open-source license, require Java 1.3 to run, and produce - code that runs in JDK 1.1 and later VM's. + code that runs in JDK 1.1 and later VM's. For the latest materials, see http://eclipse.org/aspectj. Not all of these materials have been updated for AspectJ 5. @@ -21,28 +21,28 @@ - @@ -54,37 +54,37 @@

    AspectJ documentation

    SectionContents
    docs - FAQ, + FAQ, Quick Reference (AspectJ 5), - Quick Reference (1.2.1), + Quick Reference (1.2.1), AspectJ 5 Developer's Notebook, - programming, - development and - problem diagnosis guides, + programming, + development and + problem diagnosis guides, API and example code.
    distributions +
    distributions AspectJ; - development environment support for - Eclipse + development environment support for + Eclipse and - JDeveloper. + JDeveloper.
    resources aosd.net; AspectJ project the bug db, - and mailing lists for + and mailing lists for users and developers.
    - + - - - @@ -100,13 +100,13 @@ - @@ -114,10 +114,10 @@ - @@ -137,7 +137,8 @@ - @@ -215,8 +216,8 @@ -
    DocumentationDescription
    DocumentationDescription
    AspectJ 5 Quick Reference This is a four-page quick reference for the AspectJ 5 language. + This is a four-page quick reference for the AspectJ 5 language.
    AspectJ Quick Reference This is a two-page quick reference for the AspectJ language. + This is a two-page quick reference for the AspectJ language.
    AspectJ 5 Developer's Notebook (printable html) This describes the changes to the AspectJ language and tools introduced - in the AspectJ 5 Development Kit. These changes are additive, and are not yet + in the AspectJ 5 Development Kit. These changes are additive, and are not yet reflected in the programming guide or quick reference.
    Programming Guide (printable html) This introduces AOP and the AspectJ language. + This introduces AOP and the AspectJ language. Getting Started describes basic semantics, and shows development- and production-time applications. The AspectJ Language - describes join points, pointcuts, advice, and introduction, all features new to AOP. - Examples walks you through the + describes join points, pointcuts, advice, and introduction, all features new to AOP. + Examples walks you through the examples included with the documentation, and there are two short chapters on useful Idioms and a few Pitfalls @@ -92,7 +92,7 @@ the Quick Reference summarizes AspectJ syntax, the Language Semantics - best describes AspectJ usage, and + best describes AspectJ usage, and Implementation Notes describes how the current version is limited to code the compiler controls.
    Development Environment Guide
    - + (printable html)
    This is a guide to + This is a guide to ajc, the command-line compiler; ajbrowser, the stand-alone - GUI for compiling and viewing crosscutting structure; + GUI for compiling and viewing crosscutting structure; and the Ant tasks for building AspectJ programs.
    Problem Diagnosis Guide
    - + (printable html)
    This has a guide to + This has a guide to the various features available such as messages and trace to help you both solve problems with you own programs and report bugs to the AspectJ team.
    README's Changes and porting guide for AspectJ + Changes and porting guide for AspectJ + 1.9.8, 1.9.7, 1.9.6, 1.9.5, @@ -196,7 +197,7 @@
    Examples AspectJ code to demonstrate some language features and implement - JavaBean properties, the Observer pattern, a tracing library, + JavaBean properties, the Observer pattern, a tracing library, and a game application where aspects handle display updating.
    AspectJ source code Source code for AspectJ is available - under the open-source + Source code for AspectJ is available + under the open-source Eclipse Public License v 2.0 license from the Git repositories for the AspectJ project. See the @@ -250,9 +251,9 @@

    Other AspectJ resources

    - + -
    ResourcesDescription
    ResourcesDescription
    Mail lists +
    Mail lists AspectJ users discuss tips and @@ -262,14 +263,14 @@ AspectJ developers discuss issues with developing the AspectJ tools on - aspectj-dev@eclipse.org. + aspectj-dev@eclipse.org. To get occasional emails about AspectJ releases - and relevant events, subscribe to + and relevant events, subscribe to aspectj-announce@eclipse.org. - To view list archives or subscribe to the list, go to + To view list archives or subscribe to the list, go to the AspectJ home page. - To find archived emails, use the Eclipse site + To find archived emails, use the Eclipse site search page.
    Bug database @@ -288,15 +289,15 @@ Bugs all users should know about are flagged with the "info" keyword. - See the + See the - FAQ entry for instructions on submitting compiler bugs. + FAQ entry for instructions on submitting compiler bugs.
    http://aosd.net - the AOSD web site This site has discussion and announcements related to - aspect-oriented software development (AOSD) in general. + aspect-oriented software development (AOSD) in general. Use announce@aosd.net to get and publish notices about AOSD workshops, conferences, and technology releases. @@ -309,39 +310,39 @@

    Suggested paths for those new to AspectJ

    - To learn the AspectJ language, read the + To learn the AspectJ language, read the Programming Guide, keeping the Semantics appendix nearby as the best reference for AspectJ usage. Focus initially on the join point model and pointcuts, concepts AOP adds to OOP. - To read about how the examples work, + To read about how the examples work, see the Examples section in the Programming Guide. - View and navigate the crosscutting structure using + View and navigate the crosscutting structure using AJDT; if you can't use Eclipse, try the ajbrowser structure viewer, as described in the AspectJ Browser section of the Development Environment Guide.

    - To start using AspectJ with your own code, + To start using AspectJ with your own code, modify the example aspects to apply to your classes. As you learn, - use the compiler's -Xlint flags to catch some common - mistakes. (Understand that the + use the compiler's -Xlint flags to catch some common + mistakes. (Understand that the current implementation is limited to code the compiler controls.)

    - To plan how to adopt AspectJ into a project, read the + To plan how to adopt AspectJ into a project, read the Programming Guide - on development- and production-time aspects - and the FAQ entries for + on development- and production-time aspects + and the FAQ entries for How should I start using AspectJ?, Deciding to adopt AspectJ, the Development tools sections (one, - two, - Load-time weaving + two, + Load-time weaving ), and AspectJ as open-source.

    -- cgit v1.2.3 From 7eeb27c73003bff73ccf4829310097a540926f98 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 8 Oct 2021 11:19:40 +0200 Subject: Release version to 1.9.8.RC1 Signed-off-by: Alexander Kriegisch --- ajbrowser/pom.xml | 2 +- ajde.core/pom.xml | 2 +- ajde/pom.xml | 2 +- ajdoc/pom.xml | 2 +- asm/pom.xml | 2 +- aspectjmatcher/pom.xml | 2 +- aspectjrt/pom.xml | 2 +- aspectjtools/pom.xml | 2 +- aspectjweaver/pom.xml | 2 +- bcel-builder/pom.xml | 2 +- bridge/pom.xml | 2 +- build/pom.xml | 2 +- docs/pom.xml | 2 +- installer/pom.xml | 2 +- lib/pom.xml | 2 +- loadtime/pom.xml | 2 +- org.aspectj.ajdt.core/pom.xml | 2 +- org.aspectj.matcher/pom.xml | 2 +- pom.xml | 2 +- run-all-junit-tests/pom.xml | 2 +- runtime/pom.xml | 2 +- taskdefs/pom.xml | 2 +- testing-client/pom.xml | 2 +- testing-drivers/pom.xml | 2 +- testing-util/pom.xml | 2 +- testing/pom.xml | 2 +- tests/pom.xml | 2 +- util/pom.xml | 2 +- weaver/pom.xml | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/ajbrowser/pom.xml b/ajbrowser/pom.xml index 97a50c606..1fec5c8d9 100644 --- a/ajbrowser/pom.xml +++ b/ajbrowser/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 ajbrowser diff --git a/ajde.core/pom.xml b/ajde.core/pom.xml index a56efdf17..a6d6f60a5 100644 --- a/ajde.core/pom.xml +++ b/ajde.core/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 ajde.core diff --git a/ajde/pom.xml b/ajde/pom.xml index 1e47f611f..f75c334e3 100644 --- a/ajde/pom.xml +++ b/ajde/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 ajde diff --git a/ajdoc/pom.xml b/ajdoc/pom.xml index 2c076f995..0db9ef7bc 100644 --- a/ajdoc/pom.xml +++ b/ajdoc/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 ajdoc diff --git a/asm/pom.xml b/asm/pom.xml index 8471045b9..5bead4737 100644 --- a/asm/pom.xml +++ b/asm/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 asm diff --git a/aspectjmatcher/pom.xml b/aspectjmatcher/pom.xml index 1b504f026..cdd2bbb52 100644 --- a/aspectjmatcher/pom.xml +++ b/aspectjmatcher/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 aspectjmatcher diff --git a/aspectjrt/pom.xml b/aspectjrt/pom.xml index ab8eeb8b4..b7b7734ef 100644 --- a/aspectjrt/pom.xml +++ b/aspectjrt/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 aspectjrt diff --git a/aspectjtools/pom.xml b/aspectjtools/pom.xml index 662bfa02d..0dfaf463d 100644 --- a/aspectjtools/pom.xml +++ b/aspectjtools/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 aspectjtools diff --git a/aspectjweaver/pom.xml b/aspectjweaver/pom.xml index 4f9dd6ecd..5f9caa230 100644 --- a/aspectjweaver/pom.xml +++ b/aspectjweaver/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 aspectjweaver diff --git a/bcel-builder/pom.xml b/bcel-builder/pom.xml index 7137cec59..a931cd7c7 100644 --- a/bcel-builder/pom.xml +++ b/bcel-builder/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 bcel-builder diff --git a/bridge/pom.xml b/bridge/pom.xml index 8f47a2bcb..afbf23583 100644 --- a/bridge/pom.xml +++ b/bridge/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 bridge diff --git a/build/pom.xml b/build/pom.xml index 8112df972..ae5858d07 100644 --- a/build/pom.xml +++ b/build/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 build diff --git a/docs/pom.xml b/docs/pom.xml index db94e58e4..407e21067 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 docs diff --git a/installer/pom.xml b/installer/pom.xml index db736e7d2..a757b3f41 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 installer diff --git a/lib/pom.xml b/lib/pom.xml index 863e20b76..526bd69fa 100644 --- a/lib/pom.xml +++ b/lib/pom.xml @@ -7,7 +7,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 lib diff --git a/loadtime/pom.xml b/loadtime/pom.xml index ee13f90b1..850406cce 100644 --- a/loadtime/pom.xml +++ b/loadtime/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 loadtime diff --git a/org.aspectj.ajdt.core/pom.xml b/org.aspectj.ajdt.core/pom.xml index 87bc6d72f..d4d74a494 100644 --- a/org.aspectj.ajdt.core/pom.xml +++ b/org.aspectj.ajdt.core/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 org.aspectj.ajdt.core diff --git a/org.aspectj.matcher/pom.xml b/org.aspectj.matcher/pom.xml index 8453ad1c6..d0a9f330f 100644 --- a/org.aspectj.matcher/pom.xml +++ b/org.aspectj.matcher/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 org.aspectj.matcher diff --git a/pom.xml b/pom.xml index 5d91aaf11..5970d5a1f 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 pom AspectJ Parent Project diff --git a/run-all-junit-tests/pom.xml b/run-all-junit-tests/pom.xml index f1bc62ffd..2f76650cd 100644 --- a/run-all-junit-tests/pom.xml +++ b/run-all-junit-tests/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 run-all-junit-tests diff --git a/runtime/pom.xml b/runtime/pom.xml index b410bdaa0..da6a439ab 100644 --- a/runtime/pom.xml +++ b/runtime/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 runtime diff --git a/taskdefs/pom.xml b/taskdefs/pom.xml index 8097fc4af..16c861b6f 100644 --- a/taskdefs/pom.xml +++ b/taskdefs/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 taskdefs diff --git a/testing-client/pom.xml b/testing-client/pom.xml index 283787216..f87144791 100644 --- a/testing-client/pom.xml +++ b/testing-client/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 testing-client diff --git a/testing-drivers/pom.xml b/testing-drivers/pom.xml index 96abef694..4d70fd08d 100644 --- a/testing-drivers/pom.xml +++ b/testing-drivers/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 testing-drivers diff --git a/testing-util/pom.xml b/testing-util/pom.xml index 9ae555d3b..7c65e8194 100644 --- a/testing-util/pom.xml +++ b/testing-util/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 testing-util diff --git a/testing/pom.xml b/testing/pom.xml index d92ee25c4..2ee965251 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 testing diff --git a/tests/pom.xml b/tests/pom.xml index bd147726b..5dde4e7cb 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 tests diff --git a/util/pom.xml b/util/pom.xml index d16dd9821..99198eca8 100644 --- a/util/pom.xml +++ b/util/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 util diff --git a/weaver/pom.xml b/weaver/pom.xml index 9513184b8..90b95d2bb 100644 --- a/weaver/pom.xml +++ b/weaver/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8-SNAPSHOT + 1.9.8.RC1 weaver -- cgit v1.2.3 From 29b024efe4cb4db803103aa099d60b9bc85bac6c Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 8 Oct 2021 11:22:02 +0200 Subject: Set version to 1.9.8-SNAPSHOT --- ajbrowser/pom.xml | 2 +- ajde.core/pom.xml | 2 +- ajde/pom.xml | 2 +- ajdoc/pom.xml | 2 +- asm/pom.xml | 2 +- aspectjmatcher/pom.xml | 2 +- aspectjrt/pom.xml | 2 +- aspectjtools/pom.xml | 2 +- aspectjweaver/pom.xml | 2 +- bcel-builder/pom.xml | 2 +- bridge/pom.xml | 2 +- build/pom.xml | 2 +- docs/pom.xml | 2 +- installer/pom.xml | 2 +- lib/pom.xml | 2 +- loadtime/pom.xml | 2 +- org.aspectj.ajdt.core/pom.xml | 2 +- org.aspectj.matcher/pom.xml | 2 +- pom.xml | 2 +- run-all-junit-tests/pom.xml | 2 +- runtime/pom.xml | 2 +- taskdefs/pom.xml | 2 +- testing-client/pom.xml | 2 +- testing-drivers/pom.xml | 2 +- testing-util/pom.xml | 2 +- testing/pom.xml | 2 +- tests/pom.xml | 2 +- util/pom.xml | 2 +- weaver/pom.xml | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/ajbrowser/pom.xml b/ajbrowser/pom.xml index 1fec5c8d9..97a50c606 100644 --- a/ajbrowser/pom.xml +++ b/ajbrowser/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT ajbrowser diff --git a/ajde.core/pom.xml b/ajde.core/pom.xml index a6d6f60a5..a56efdf17 100644 --- a/ajde.core/pom.xml +++ b/ajde.core/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT ajde.core diff --git a/ajde/pom.xml b/ajde/pom.xml index f75c334e3..1e47f611f 100644 --- a/ajde/pom.xml +++ b/ajde/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT ajde diff --git a/ajdoc/pom.xml b/ajdoc/pom.xml index 0db9ef7bc..2c076f995 100644 --- a/ajdoc/pom.xml +++ b/ajdoc/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT ajdoc diff --git a/asm/pom.xml b/asm/pom.xml index 5bead4737..8471045b9 100644 --- a/asm/pom.xml +++ b/asm/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT asm diff --git a/aspectjmatcher/pom.xml b/aspectjmatcher/pom.xml index cdd2bbb52..1b504f026 100644 --- a/aspectjmatcher/pom.xml +++ b/aspectjmatcher/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT aspectjmatcher diff --git a/aspectjrt/pom.xml b/aspectjrt/pom.xml index b7b7734ef..ab8eeb8b4 100644 --- a/aspectjrt/pom.xml +++ b/aspectjrt/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT aspectjrt diff --git a/aspectjtools/pom.xml b/aspectjtools/pom.xml index 0dfaf463d..662bfa02d 100644 --- a/aspectjtools/pom.xml +++ b/aspectjtools/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT aspectjtools diff --git a/aspectjweaver/pom.xml b/aspectjweaver/pom.xml index 5f9caa230..4f9dd6ecd 100644 --- a/aspectjweaver/pom.xml +++ b/aspectjweaver/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT aspectjweaver diff --git a/bcel-builder/pom.xml b/bcel-builder/pom.xml index a931cd7c7..7137cec59 100644 --- a/bcel-builder/pom.xml +++ b/bcel-builder/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT bcel-builder diff --git a/bridge/pom.xml b/bridge/pom.xml index afbf23583..8f47a2bcb 100644 --- a/bridge/pom.xml +++ b/bridge/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT bridge diff --git a/build/pom.xml b/build/pom.xml index ae5858d07..8112df972 100644 --- a/build/pom.xml +++ b/build/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT build diff --git a/docs/pom.xml b/docs/pom.xml index 407e21067..db94e58e4 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT docs diff --git a/installer/pom.xml b/installer/pom.xml index a757b3f41..db736e7d2 100644 --- a/installer/pom.xml +++ b/installer/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT installer diff --git a/lib/pom.xml b/lib/pom.xml index 526bd69fa..863e20b76 100644 --- a/lib/pom.xml +++ b/lib/pom.xml @@ -7,7 +7,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT lib diff --git a/loadtime/pom.xml b/loadtime/pom.xml index 850406cce..ee13f90b1 100644 --- a/loadtime/pom.xml +++ b/loadtime/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT loadtime diff --git a/org.aspectj.ajdt.core/pom.xml b/org.aspectj.ajdt.core/pom.xml index d4d74a494..87bc6d72f 100644 --- a/org.aspectj.ajdt.core/pom.xml +++ b/org.aspectj.ajdt.core/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT org.aspectj.ajdt.core diff --git a/org.aspectj.matcher/pom.xml b/org.aspectj.matcher/pom.xml index d0a9f330f..8453ad1c6 100644 --- a/org.aspectj.matcher/pom.xml +++ b/org.aspectj.matcher/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT org.aspectj.matcher diff --git a/pom.xml b/pom.xml index 5970d5a1f..5d91aaf11 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT pom AspectJ Parent Project diff --git a/run-all-junit-tests/pom.xml b/run-all-junit-tests/pom.xml index 2f76650cd..f1bc62ffd 100644 --- a/run-all-junit-tests/pom.xml +++ b/run-all-junit-tests/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT run-all-junit-tests diff --git a/runtime/pom.xml b/runtime/pom.xml index da6a439ab..b410bdaa0 100644 --- a/runtime/pom.xml +++ b/runtime/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT runtime diff --git a/taskdefs/pom.xml b/taskdefs/pom.xml index 16c861b6f..8097fc4af 100644 --- a/taskdefs/pom.xml +++ b/taskdefs/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT taskdefs diff --git a/testing-client/pom.xml b/testing-client/pom.xml index f87144791..283787216 100644 --- a/testing-client/pom.xml +++ b/testing-client/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT testing-client diff --git a/testing-drivers/pom.xml b/testing-drivers/pom.xml index 4d70fd08d..96abef694 100644 --- a/testing-drivers/pom.xml +++ b/testing-drivers/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT testing-drivers diff --git a/testing-util/pom.xml b/testing-util/pom.xml index 7c65e8194..9ae555d3b 100644 --- a/testing-util/pom.xml +++ b/testing-util/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT testing-util diff --git a/testing/pom.xml b/testing/pom.xml index 2ee965251..d92ee25c4 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT testing diff --git a/tests/pom.xml b/tests/pom.xml index 5dde4e7cb..bd147726b 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT tests diff --git a/util/pom.xml b/util/pom.xml index 99198eca8..d16dd9821 100644 --- a/util/pom.xml +++ b/util/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT util diff --git a/weaver/pom.xml b/weaver/pom.xml index 90b95d2bb..9513184b8 100644 --- a/weaver/pom.xml +++ b/weaver/pom.xml @@ -6,7 +6,7 @@ org.aspectj aspectj-parent - 1.9.8.RC1 + 1.9.8-SNAPSHOT weaver -- cgit v1.2.3