From 513564a9e5b5ae5d03c4f0547ee7823e903d3c52 Mon Sep 17 00:00:00 2001 From: aclement Date: Wed, 4 Oct 2006 07:27:44 +0000 Subject: [PATCH] test from Wes (bug 159143) --- .../pr159143/DeclareMethodAnnotation.java | 65 +++++++++++++++++++ .../systemtest/ajc153/Ajc153Tests.java | 1 + .../org/aspectj/systemtest/ajc153/ajc153.xml | 20 ++++++ 3 files changed, 86 insertions(+) create mode 100644 tests/bugs153/pr159143/DeclareMethodAnnotation.java diff --git a/tests/bugs153/pr159143/DeclareMethodAnnotation.java b/tests/bugs153/pr159143/DeclareMethodAnnotation.java new file mode 100644 index 000000000..830ef72c7 --- /dev/null +++ b/tests/bugs153/pr159143/DeclareMethodAnnotation.java @@ -0,0 +1,65 @@ +// Preserve lineation of affected types or redo expected messages + + + +@interface MtAn {} + + + + +public aspect DeclareMethodAnnotation { + + + + // ------------------ affected types + static class Untyped { + void untypedName() {} // declare warning 16 + void untypedPrefix_blah() {} // declare warning 17 + void blah_untypedSuffix() {} // declare warning 18 + } + + static class Star { + void starName() {} // declare warning 22 + void starPrefix_blah() {} // declare warning 23 + void blah_starSuffix() {} // declare warning 24 + } + static class Type{ + void typeName() {} // declare warning 27 + void typePrefix_blah() {} // declare warning 28 + void blah_typeSuffix() {} // declare warning 29 + } + + static class TypePlus { + void typeplusName() {} // declare warning 33 + void typeplusPrefix_blah() {} // declare warning 34 + void blah_typeplusSuffix() {} // declare warning 35 + } + + static class TypePlusSubtype extends TypePlus { + void typeplusName() {} // declare warning 39 + void typeplusPrefix_blah() {} // declare warning 40 + void blah_typeplusSuffix() {} // declare warning 41 + } + + // ------------------ tests + declare @method: * untypedName() : @MtAn; + declare @method: * untypedPrefix*() : @MtAn; + declare @method: * *untypedSuffix() : @MtAn; + + declare @method: * *.starName() : @MtAn; + declare @method: * *.starPrefix*() : @MtAn; + declare @method: * *.*starSuffix() : @MtAn; + + declare @method: * Type.typeName() : @MtAn; + declare @method: * Type.typePrefix*() : @MtAn; + declare @method: * Type.*typeSuffix() : @MtAn; + + declare @method: * TypePlus+.typeplusName() : @MtAn; + declare @method: * TypePlus+.typeplusPrefix*() : @MtAn; + declare @method: * TypePlus+.*typeplusSuffix() : @MtAn; + + // ------------------ check using warnings, expected in .xml + declare warning : execution(@MtAn * *()): "all"; + +} + diff --git a/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java b/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java index 9f2ff8775..bef05f716 100644 --- a/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java @@ -29,6 +29,7 @@ public class Ajc153Tests extends org.aspectj.testing.XMLBasedAjcTestCase { // public void testAmbiguousBinding_pr121805() { runTest("ambiguous binding");} // public void testNoIllegalStateExceptionWithGenericInnerAspect_pr156058() { runTest("no IllegalStateException with generic inner aspect"); } // public void testNegatedAnnotationMatchingProblem_pr153464() { runTest("negated annotation matching problem");} + public void testDeclareMethodAnnotations_pr159143() { runTest("declare method annotations");} public void testVisibilityProblem_pr149071() { runTest("visibility problem");} public void testMissingLineNumbersInStacktraceAfter_pr145442() { runTest("missing line numbers in stacktrace after");} public void testMissingLineNumbersInStacktraceAround_pr145442() { runTest("missing line numbers in stacktrace around");} diff --git a/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml b/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml index c2d54e4d1..652472843 100644 --- a/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml +++ b/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml @@ -2,6 +2,26 @@ + + + + + + + + + + + + + + + + + + + + -- 2.39.5