diff options
Diffstat (limited to 'tests/bugs150')
-rw-r--r-- | tests/bugs150/pr71159/PrivateITD.aj | 34 | ||||
-rw-r--r-- | tests/bugs150/pr71159/pkg1/A.java | 7 | ||||
-rw-r--r-- | tests/bugs150/pr71159/pkg1/B.java | 3 | ||||
-rw-r--r-- | tests/bugs150/pr71159/pkg1/C.java | 7 | ||||
-rw-r--r-- | tests/bugs150/pr71159/pkg2/ITDInDiffPackage.aj | 17 | ||||
-rw-r--r-- | tests/bugs150/pr71159/pr71159.aj | 32 |
6 files changed, 100 insertions, 0 deletions
diff --git a/tests/bugs150/pr71159/PrivateITD.aj b/tests/bugs150/pr71159/PrivateITD.aj new file mode 100644 index 000000000..e4649d015 --- /dev/null +++ b/tests/bugs150/pr71159/PrivateITD.aj @@ -0,0 +1,34 @@ +class A { + + + +} + +class B extends A { + + protected void foo() {} + +} + +class C extends B {} + + +class D extends C { + + public void foo() {} + +} + +aspect X { + + private void A.foo() {} + + void bar() { + D d = new D(); + d.foo(); + } + + declare warning : call(* B.foo()) : "should match"; + declare warning : call(* A.foo()) : "should not match"; + +}
\ No newline at end of file diff --git a/tests/bugs150/pr71159/pkg1/A.java b/tests/bugs150/pr71159/pkg1/A.java new file mode 100644 index 000000000..f07afe231 --- /dev/null +++ b/tests/bugs150/pr71159/pkg1/A.java @@ -0,0 +1,7 @@ +package pkg1; + +public class A { + + //public void foo() {} + +}
\ No newline at end of file diff --git a/tests/bugs150/pr71159/pkg1/B.java b/tests/bugs150/pr71159/pkg1/B.java new file mode 100644 index 000000000..e931fe8c9 --- /dev/null +++ b/tests/bugs150/pr71159/pkg1/B.java @@ -0,0 +1,3 @@ +package pkg1; + +public class B {}
\ No newline at end of file diff --git a/tests/bugs150/pr71159/pkg1/C.java b/tests/bugs150/pr71159/pkg1/C.java new file mode 100644 index 000000000..48840a420 --- /dev/null +++ b/tests/bugs150/pr71159/pkg1/C.java @@ -0,0 +1,7 @@ +package pkg1; + +public class C { + + public void foo() {} + +}
\ No newline at end of file diff --git a/tests/bugs150/pr71159/pkg2/ITDInDiffPackage.aj b/tests/bugs150/pr71159/pkg2/ITDInDiffPackage.aj new file mode 100644 index 000000000..fa44cbf82 --- /dev/null +++ b/tests/bugs150/pr71159/pkg2/ITDInDiffPackage.aj @@ -0,0 +1,17 @@ +package pkg2; +import pkg1.*; + +public aspect ITDInDiffPackage { + + void B.foo() {} + + void bar() { + C c = new C(); + c.foo(); + } + + declare warning : call(* B.foo()) : "should not match"; + declare warning : call(* C.foo()) : "should match"; + + +}
\ No newline at end of file diff --git a/tests/bugs150/pr71159/pr71159.aj b/tests/bugs150/pr71159/pr71159.aj new file mode 100644 index 000000000..d332b4a4d --- /dev/null +++ b/tests/bugs150/pr71159/pr71159.aj @@ -0,0 +1,32 @@ +class A { + + private void foo() {} + +} + +class B extends A { + + protected void foo() {} + +} + +class C extends B {} + + +class D extends C { + + public void foo() {} + +} + +aspect X { + + void bar() { + D d = new D(); + d.foo(); + } + + declare warning : call(* B.foo()) : "should match"; + declare warning : call(* A.foo()) : "should not match"; + +}
\ No newline at end of file |