Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 28922 Details for
Bug 113447
VerifyError overriding pointcut with context used in around advice
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
patch containing testcases
pr113447-tests-patch3.txt (text/plain), 11.01 KB, created by
Helen Beeken
on 2005-10-28 10:43:16 EDT
(
hide
)
Description:
patch containing testcases
Filename:
MIME Type:
Creator:
Helen Beeken
Created:
2005-10-28 10:43:16 EDT
Size:
11.01 KB
patch
obsolete
>Index: bugs150/PR113447.java >=================================================================== >RCS file: bugs150/PR113447.java >diff -N bugs150/PR113447.java >--- bugs150/PR113447.java 27 Oct 2005 13:49:45 -0000 1.1 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,40 +0,0 @@ >-public class PR113447 { >- >- public static void main(String[] args) { >- PR113447 me = new PR113447(); >- me.method1(); >- me.method3(); >- } >- >- public void method1(){} >- >- public void method3(){} >-} >- >-aspect Super { >- >- // second method doesn't exist >- pointcut pc1(PR113447 s) : >- (this(s) && execution(void method1())) >- || (this(s) && execution(void method2())); >- >- before(PR113447 s) : pc1(s) { >- } >- >- // second method does exist >- pointcut pc2(PR113447 s) : >- (this(s) && execution(void method1())) >- || (this(s) && execution(void method3())); >- >- before(PR113447 s) : pc2(s) { >- } >- >- // second method doesn't exist >- pointcut pc3(PR113447 s) : >- (args(s) && execution(void method1())) >- || (args(s) && execution(void method2())); >- >- before(PR113447 s) : pc3(s) { >- } >- >-} >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.109 >diff -u -r1.109 Ajc150Tests.java >--- src/org/aspectj/systemtest/ajc150/Ajc150Tests.java 27 Oct 2005 18:06:37 -0000 1.109 >+++ src/org/aspectj/systemtest/ajc150/Ajc150Tests.java 28 Oct 2005 14:43:00 -0000 >@@ -647,6 +647,26 @@ > runTest("no verify error with two this pcds"); > } > >+ public void testNoVerifyErrorWithTwoAtThisPCDs_pr113447() { >+ runTest("no verify error with two at this pcds"); >+ } >+ >+ public void testNoVerifyErrorWithAtWithinPCDs_pr113447() { >+ runTest("no verify error with at within pcds"); >+ } >+ >+ public void testNoVerifyErrorWithAtWithincodePCDs_pr113447() { >+ runTest("no verify error with at withincode pcds"); >+ } >+ >+ public void testNoVerifyErrorWithAtAnnotationPCDs_pr113447() { >+ runTest("no verify error with at annotation pcds"); >+ } >+ >+ public void testNoVerifyErrorWithTwoArgsPCDs_pr113447() { >+ runTest("no verify error with two args pcds"); >+ } >+ > // 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.181 >diff -u -r1.181 ajc150.xml >--- src/org/aspectj/systemtest/ajc150/ajc150.xml 28 Oct 2005 07:17:39 -0000 1.181 >+++ src/org/aspectj/systemtest/ajc150/ajc150.xml 28 Oct 2005 14:43:04 -0000 >@@ -761,12 +761,42 @@ > </compile> > </ajc-test> > >- <ajc-test dir="bugs150" title="no verify error with two this pcds"> >+ <ajc-test dir="bugs150/pr113447" title="no verify error with two this pcds"> > <compile files="PR113447.java"> > </compile> > <run class="PR113447"/> > </ajc-test> > >+ <ajc-test dir="bugs150/pr113447" title="no verify error with two at this pcds"> >+ <compile files="PR113447a.java" options="-1.5"> >+ </compile> >+ <run class="PR113447a"/> >+ </ajc-test> >+ >+ <ajc-test dir="bugs150/pr113447" title="no verify error with at within pcds"> >+ <compile files="PR113447b.java" options="-1.5"> >+ </compile> >+ <run class="PR113447b"/> >+ </ajc-test> >+ >+ <ajc-test dir="bugs150/pr113447" title="no verify error with at withincode pcds"> >+ <compile files="PR113447c.java" options="-1.5"> >+ </compile> >+ <run class="PR113447c"/> >+ </ajc-test> >+ >+ <ajc-test dir="bugs150/pr113447" title="no verify error with at annotation pcds"> >+ <compile files="PR113447d.java" options="-1.5"> >+ </compile> >+ <run class="PR113447d"/> >+ </ajc-test> >+ >+ <ajc-test dir="bugs150/pr113447" title="no verify error with two args pcds"> >+ <compile files="PR113447e.java" options="-1.5"> >+ </compile> >+ <run class="PR113447e"/> >+ </ajc-test> >+ > <!-- ============================================================================ --> > <!-- ============================================================================ --> > >Index: bugs150/pr113447/PR113447.java >=================================================================== >RCS file: bugs150/pr113447/PR113447.java >diff -N bugs150/pr113447/PR113447.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugs150/pr113447/PR113447.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,40 @@ >+public class PR113447 { >+ >+ public static void main(String[] args) { >+ PR113447 me = new PR113447(); >+ me.method1(); >+ me.method3(); >+ } >+ >+ public void method1(){} >+ >+ public void method3(){} >+} >+ >+aspect Super { >+ >+ // second method doesn't exist >+ pointcut pc1(PR113447 s) : >+ (this(s) && execution(void method1())) >+ || (this(s) && execution(void method2())); >+ >+ before(PR113447 s) : pc1(s) { >+ } >+ >+ // second method does exist >+ pointcut pc2(PR113447 s) : >+ (this(s) && execution(void method1())) >+ || (this(s) && execution(void method3())); >+ >+ before(PR113447 s) : pc2(s) { >+ } >+ >+ // second method doesn't exist >+ pointcut pc3(PR113447 s) : >+ (args(s) && execution(void method1())) >+ || (args(s) && execution(void method2())); >+ >+ before(PR113447 s) : pc3(s) { >+ } >+ >+} >Index: bugs150/pr113447/PR113447a.java >=================================================================== >RCS file: bugs150/pr113447/PR113447a.java >diff -N bugs150/pr113447/PR113447a.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugs150/pr113447/PR113447a.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,65 @@ >+import java.lang.annotation.Retention; >+import java.lang.annotation.RetentionPolicy; >+ >+@Retention(RetentionPolicy.RUNTIME) >+@interface Annotation{}; >+ >+@Annotation >+public class PR113447a { >+ >+ public static void main(String[] args) { >+ PR113447a me = new PR113447a(); >+ me.method1(); >+ me.method3(); >+ me.method4(2); >+ } >+ >+ public void method1(){} >+ >+ public void method3(){} >+ >+ public void method4(int i){} >+ public void method5(int i){} >+} >+ >+aspect Super { >+ >+ // second method doesn't exist >+ pointcut pc1(Annotation a) : >+ (@this(a) && execution(void method1())) >+ || (@this(a) && execution(void method2())); >+ >+ before(Annotation a) : pc1(a) {} >+ >+ // second method does exist >+ pointcut pc2(Annotation a) : >+ (@this(a) && execution(void method1())) >+ || (@this(a) && execution(void method3())); >+ >+ before(Annotation a) : pc2(a) {} >+ >+ // second method doesn't exist >+ pointcut pc3(Annotation a) : >+ (@target(a) && call(void method1())) >+ || (@target(a) && call(void method2())); >+ >+ before(Annotation a) : pc3(a) { >+ } >+ >+ // second method does exist >+ pointcut pc4(Annotation a) : >+ (@target(a) && call(void method1())) >+ || (@target(a) && call(void method3())); >+ >+ before(Annotation a) : pc4(a) { >+ } >+ >+ // @this equivalent of BaseTests.test024 which was affected by >+ // the fix for the non annotation version >+ pointcut p(Annotation a) : >+ @target(a) && (call(void method4(int)) >+ || call(void method5(int))); >+ >+ before(Annotation a) : p(a) {} >+ after(Annotation a): p(a) {} >+} >Index: bugs150/pr113447/PR113447b.java >=================================================================== >RCS file: bugs150/pr113447/PR113447b.java >diff -N bugs150/pr113447/PR113447b.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugs150/pr113447/PR113447b.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,27 @@ >+import java.lang.annotation.Retention; >+import java.lang.annotation.RetentionPolicy; >+ >+@Retention(RetentionPolicy.RUNTIME) >+@interface Annotation{}; >+ >+@Annotation >+public class PR113447b { >+ >+ public static void main(String[] args) { >+ PR113447b me = new PR113447b(); >+ me.method4(1); >+ } >+ >+ public void method4(int i){} >+ public void method5(int i){} >+} >+ >+aspect Super { >+ >+ pointcut p(Annotation a) : >+ @within(a) && (call(void method4(int)) >+ || call(void method5(int))); >+ >+ before(Annotation a) : p(a) {} >+ >+} >Index: bugs150/pr113447/PR113447c.java >=================================================================== >RCS file: bugs150/pr113447/PR113447c.java >diff -N bugs150/pr113447/PR113447c.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugs150/pr113447/PR113447c.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,27 @@ >+import java.lang.annotation.Retention; >+import java.lang.annotation.RetentionPolicy; >+ >+@Retention(RetentionPolicy.RUNTIME) >+@interface Annotation{}; >+ >+public class PR113447c { >+ >+ @Annotation >+ public static void main(String[] args) { >+ PR113447c me = new PR113447c(); >+ me.method4(1); >+ } >+ >+ public void method4(int i){} >+ public void method5(int i){} >+} >+ >+aspect Super { >+ >+ pointcut p(Annotation a) : >+ @withincode(a) && (call(void method4(int)) >+ || call(void method5(int))); >+ >+ before(Annotation a) : p(a) {} >+ >+} >Index: bugs150/pr113447/PR113447d.java >=================================================================== >RCS file: bugs150/pr113447/PR113447d.java >diff -N bugs150/pr113447/PR113447d.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugs150/pr113447/PR113447d.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,25 @@ >+import java.lang.annotation.Retention; >+import java.lang.annotation.RetentionPolicy; >+ >+@Retention(RetentionPolicy.RUNTIME) >+@interface Annotation{}; >+ >+public class PR113447d { >+ >+ public static void main(String[] args) { >+ PR113447d me = new PR113447d(); >+ me.method4(1); >+ } >+ >+ @Annotation public void method4(int i){} >+ @Annotation public void method5(int i){} >+} >+ >+aspect Super { >+ >+ pointcut p(Annotation a) : >+ @annotation(a) && (call(void method4(int)) >+ || call(void method5(int))); >+ >+ before(Annotation a) : p(a) {} >+} >Index: bugs150/pr113447/PR113447e.java >=================================================================== >RCS file: bugs150/pr113447/PR113447e.java >diff -N bugs150/pr113447/PR113447e.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugs150/pr113447/PR113447e.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,36 @@ >+public class PR113447e { >+ >+ public static void main(String[] args) { >+ PR113447e me = new PR113447e(); >+ me.method1(1); >+ me.method3(2); >+ } >+ >+ public void method1(int i){} >+ >+ public void method3(int i){} >+} >+ >+aspect Super { >+ >+ // second method doesn't exist >+ pointcut pc1(int i) : >+ (args(i) && call(void method1(int))) >+ || (args(i) && call(void method2(int))); >+ >+ before(int i) : pc1(i) {} >+ >+ // second method does exist >+ pointcut pc2(int i) : >+ (args(i) && call(void method1(int))) >+ || (args(i) && call(void method3(int))); >+ >+ before(int i) : pc2(i) {} >+ >+ // ensure this still works >+ pointcut pc3(int i) : >+ args(i) && (call(void method1(int)) || call(void method2(int))); >+ >+ before(int i) : pc3(i) {} >+ after(int i) : pc3(i) {} >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
aclement
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 113447
:
28781
|
28840
| 28922