Index: src/org/aspectj/systemtest/ajc150/Ajc150Tests.java =================================================================== RCS file: /home/technology/org.aspectj/modules/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java,v retrieving revision 1.96 diff -u -r1.96 Ajc150Tests.java --- src/org/aspectj/systemtest/ajc150/Ajc150Tests.java 5 Oct 2005 08:12:20 -0000 1.96 +++ src/org/aspectj/systemtest/ajc150/Ajc150Tests.java 11 Oct 2005 12:43:26 -0000 @@ -600,6 +600,10 @@ runTest("ITD varargs in constructor"); } + public void testIllegalChangeToPointcutDeclaration_pr111915() { + runTest("test illegal change to pointcut declaration"); + } + // helper methods..... public SyntheticRepository createRepos(File cpentry) { Index: src/org/aspectj/systemtest/ajc150/ajc150.xml =================================================================== RCS file: /home/technology/org.aspectj/modules/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml,v retrieving revision 1.158 diff -u -r1.158 ajc150.xml --- src/org/aspectj/systemtest/ajc150/ajc150.xml 11 Oct 2005 08:25:03 -0000 1.158 +++ src/org/aspectj/systemtest/ajc150/ajc150.xml 11 Oct 2005 12:43:30 -0000 @@ -660,6 +660,11 @@ + + + + + Index: bugs150/pr111915.java =================================================================== RCS file: bugs150/pr111915.java diff -N bugs150/pr111915.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ bugs150/pr111915.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,45 @@ +class SomeClass { + + public void doSomething() { + } + + public static void main(String... args) { + new SomeClass().doSomething(); + } + +} + +aspect MyAspect { + + public interface MyWorld { + } + + declare parents : SomeClass implements MyWorld; + + pointcut doSomethingInMyWorld(MyWorld myWorld) : + execution(void SomeClass.doSomething()) && + this(myWorld); + + void around(MyWorld myWorld) : doSomethingInMyWorld(myWorld) { + System.out.println("this works"); + } + +} + +aspect DoesntCompile { + + public interface MyWorld { + } + + declare parents : SomeClass implements MyWorld; + + pointcut doSomething(SomeClass someClass) : + execution(void SomeClass.doSomething()) && + this(someClass); + + pointcut doSomethingInMyWorld(MyWorld myWorld) : doSomething(myWorld); + + void around(MyWorld myWorld) : doSomethingInMyWorld(myWorld) { + } + +}