diff options
author | acolyer <acolyer> | 2006-05-16 15:43:08 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2006-05-16 15:43:08 +0000 |
commit | b166a7e6163889eb951f82655f0f49bfc26a49f0 (patch) | |
tree | 2801163d063b198536b71b39d9c0a340d9f753fc /tests | |
parent | fc7db25dad5d302221669c7cfdb4890f061d2e9e (diff) | |
download | aspectj-b166a7e6163889eb951f82655f0f49bfc26a49f0.tar.gz aspectj-b166a7e6163889eb951f82655f0f49bfc26a49f0.zip |
tests and fix for pr130722, 138219
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs152/pr130722/test/PointcutConsumer.aj | 15 | ||||
-rw-r--r-- | tests/bugs152/pr130722/test/Test.java | 11 | ||||
-rw-r--r-- | tests/bugs152/pr130722/test1/PointcutProvider.aj | 9 | ||||
-rw-r--r-- | tests/bugs152/pr138219/PerThisWithReference.aj | 25 | ||||
-rw-r--r-- | tests/bugs152/pr138219/RegularPCWithReference.aj | 8 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc150/GenericITDsDesign.java | 2 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc152/Ajc152Tests.java | 3 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc152/ajc152.xml | 12 |
8 files changed, 81 insertions, 4 deletions
diff --git a/tests/bugs152/pr130722/test/PointcutConsumer.aj b/tests/bugs152/pr130722/test/PointcutConsumer.aj new file mode 100644 index 000000000..609cb91b4 --- /dev/null +++ b/tests/bugs152/pr130722/test/PointcutConsumer.aj @@ -0,0 +1,15 @@ +package test; + +import test1.PointcutProvider; + +public aspect PointcutConsumer percflow(flow()) { + + // compiler issues the following line with + // can not find pointcut test on test.PointcutConsumer + pointcut mytest(): PointcutProvider.test(); + + // this also does not work with the same error message + pointcut mytest2(): test1.PointcutProvider.test(); + + pointcut flow(): mytest() || mytest2(); +}
\ No newline at end of file diff --git a/tests/bugs152/pr130722/test/Test.java b/tests/bugs152/pr130722/test/Test.java new file mode 100644 index 000000000..35f80ec40 --- /dev/null +++ b/tests/bugs152/pr130722/test/Test.java @@ -0,0 +1,11 @@ +package test; + + +public class Test { + + public void foo() { + + } +} + + diff --git a/tests/bugs152/pr130722/test1/PointcutProvider.aj b/tests/bugs152/pr130722/test1/PointcutProvider.aj new file mode 100644 index 000000000..7bae7adce --- /dev/null +++ b/tests/bugs152/pr130722/test1/PointcutProvider.aj @@ -0,0 +1,9 @@ +package test1; + +import test.Test; +public aspect PointcutProvider { + + public pointcut test(): execution(* Test.*(..)); +} + + diff --git a/tests/bugs152/pr138219/PerThisWithReference.aj b/tests/bugs152/pr138219/PerThisWithReference.aj index c53466dfe..e7c448fa0 100644 --- a/tests/bugs152/pr138219/PerThisWithReference.aj +++ b/tests/bugs152/pr138219/PerThisWithReference.aj @@ -1,7 +1,30 @@ public aspect PerThisWithReference perthis(mypc()) { + private static int id = 0; + + public PerThisWithReference() { + id++; + } + + public String toString() { + return "PerThisWithReference:" + id; + } - pointcut mypc() : SomeOtherType.pc(); + public static void main(String[] args) { + new C().foo(); + new C().foo(); + } + pointcut mypc() : SomeOtherType.pc() && within(C); + + before() : mypc() { + System.out.println("before " + this); + } + +} + +class C { + + public void foo() {} }
\ No newline at end of file diff --git a/tests/bugs152/pr138219/RegularPCWithReference.aj b/tests/bugs152/pr138219/RegularPCWithReference.aj new file mode 100644 index 000000000..ca7ab0939 --- /dev/null +++ b/tests/bugs152/pr138219/RegularPCWithReference.aj @@ -0,0 +1,8 @@ +public aspect RegularPCWithReference { + + pointcut refersToMypc() : mypc(); + + pointcut mypc() : SomeOtherType.pc(); + + +}
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/ajc150/GenericITDsDesign.java b/tests/src/org/aspectj/systemtest/ajc150/GenericITDsDesign.java index 2a1bb9ac5..e389df79c 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/GenericITDsDesign.java +++ b/tests/src/org/aspectj/systemtest/ajc150/GenericITDsDesign.java @@ -81,7 +81,7 @@ public class GenericITDsDesign extends XMLBasedAjcTestCase { System.getProperty("java.class.path")); recentWorld = new BcelWorld(cp.toString()); ReferenceType resolvedType = (ReferenceType)recentWorld.resolve(classname); - CrosscuttingMembers cmembers = resolvedType.collectCrosscuttingMembers(); + CrosscuttingMembers cmembers = resolvedType.collectCrosscuttingMembers(true); List tmungers = cmembers.getTypeMungers(); return tmungers; } diff --git a/tests/src/org/aspectj/systemtest/ajc152/Ajc152Tests.java b/tests/src/org/aspectj/systemtest/ajc152/Ajc152Tests.java index 67b599c87..460be02cd 100644 --- a/tests/src/org/aspectj/systemtest/ajc152/Ajc152Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc152/Ajc152Tests.java @@ -44,7 +44,8 @@ public class Ajc152Tests extends org.aspectj.testing.XMLBasedAjcTestCase { // known failures, uncomment when working. public void testReferencePCutInDeclareWarning_pr138215() { runTest("Reference pointcut fails inside @DeclareWarning");} -// public void testReferencePCutInPerClause_pr138219() { runTest("Can't use a FQ Reference pointcut in any pointcut expression referenced by a per-clause");} + public void testReferencePCutInPerClause_pr138219() { runTest("Can't use a FQ Reference pointcut in any pointcut expression referenced by a per-clause");} + public void testReferencePCutInPerClause_pr130722() { runTest("FQ Reference pointcut from perclause ref pc"); } // public void testDoubleAnnotationMatching_pr138223() { runTest("Double at annotation matching (no binding)");} public void testSuperCallsInAtAspectJAdvice_pr139749() { runTest("Super calls in @AspectJ advice");} diff --git a/tests/src/org/aspectj/systemtest/ajc152/ajc152.xml b/tests/src/org/aspectj/systemtest/ajc152/ajc152.xml index ee5ec2ded..6378b42ca 100644 --- a/tests/src/org/aspectj/systemtest/ajc152/ajc152.xml +++ b/tests/src/org/aspectj/systemtest/ajc152/ajc152.xml @@ -202,8 +202,18 @@ </ajc-test> <ajc-test dir="bugs152/pr138219" pr="138219" title="Can't use a FQ Reference pointcut in any pointcut expression referenced by a per-clause"> - <compile files="PerThisWithReference.aj,SomeOtherType.aj" options="-1.5"> + <compile files="PerThisWithReference.aj,SomeOtherType.aj,RegularPCWithReference.aj" options="-1.5"> </compile> + <run class="PerThisWithReference"> + <stdout> + <line text="before PerThisWithReference:1"/> + <line text="before PerThisWithReference:2"/> + </stdout> + </run> + </ajc-test> + + <ajc-test dir="bugs152/pr130722" pr="130722" title="FQ Reference pointcut from perclause ref pc"> + <compile files="test/Test.java,test/PointcutConsumer.aj,test1/PointcutProvider.aj"/> </ajc-test> <ajc-test dir="bugs152/pr138220" pr="138220" title="@Aspect with reference pointcut in perclause"> |