summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoracolyer <acolyer>2006-05-16 15:43:08 +0000
committeracolyer <acolyer>2006-05-16 15:43:08 +0000
commitb166a7e6163889eb951f82655f0f49bfc26a49f0 (patch)
tree2801163d063b198536b71b39d9c0a340d9f753fc /tests
parentfc7db25dad5d302221669c7cfdb4890f061d2e9e (diff)
downloadaspectj-b166a7e6163889eb951f82655f0f49bfc26a49f0.tar.gz
aspectj-b166a7e6163889eb951f82655f0f49bfc26a49f0.zip
tests and fix for pr130722, 138219
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs152/pr130722/test/PointcutConsumer.aj15
-rw-r--r--tests/bugs152/pr130722/test/Test.java11
-rw-r--r--tests/bugs152/pr130722/test1/PointcutProvider.aj9
-rw-r--r--tests/bugs152/pr138219/PerThisWithReference.aj25
-rw-r--r--tests/bugs152/pr138219/RegularPCWithReference.aj8
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/GenericITDsDesign.java2
-rw-r--r--tests/src/org/aspectj/systemtest/ajc152/Ajc152Tests.java3
-rw-r--r--tests/src/org/aspectj/systemtest/ajc152/ajc152.xml12
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">