diff options
-rw-r--r-- | tests/bugs150/pr102357.java | 20 | ||||
-rw-r--r-- | tests/bugs150/pr72834/Trouble.java | 16 | ||||
-rw-r--r-- | tests/bugs150/pr73856/MissingAccessor.java | 22 | ||||
-rw-r--r-- | tests/bugs150/pr73856/MissingAccessor2.java | 21 | ||||
-rw-r--r-- | tests/bugs150/pr90143/A.aj | 33 | ||||
-rw-r--r-- | tests/bugs150/pr92311.aj | 15 |
6 files changed, 127 insertions, 0 deletions
diff --git a/tests/bugs150/pr102357.java b/tests/bugs150/pr102357.java new file mode 100644 index 000000000..0c20910da --- /dev/null +++ b/tests/bugs150/pr102357.java @@ -0,0 +1,20 @@ +interface Generic<T> { + void non_generic(String i); + void generic(T t); +} + +public class pr102357 implements Generic<String> { + public static void main(String[] args) { + new pr102357().non_generic("works"); + new pr102357().generic("works"); + + Generic<String> generic = new pr102357(); + generic.non_generic("works"); + generic.generic("AbstractMethodError"); + } +} + +aspect Injector { + public void pr102357.non_generic(String s) {} + public void pr102357.generic(String s) {} +} diff --git a/tests/bugs150/pr72834/Trouble.java b/tests/bugs150/pr72834/Trouble.java new file mode 100644 index 000000000..dbee026f5 --- /dev/null +++ b/tests/bugs150/pr72834/Trouble.java @@ -0,0 +1,16 @@ + +abstract class A {} + +class B extends A {} + +aspect X { + abstract String A.getName(); + public String B.getName() { return "B"; } + public String A.toString() { return getName(); } +} + +public class Trouble { + public static void main(String[] args) { + System.out.println(new B()); + } +}
\ No newline at end of file diff --git a/tests/bugs150/pr73856/MissingAccessor.java b/tests/bugs150/pr73856/MissingAccessor.java new file mode 100644 index 000000000..dce035d96 --- /dev/null +++ b/tests/bugs150/pr73856/MissingAccessor.java @@ -0,0 +1,22 @@ +class A { + int x = 1; + class B { + } + B b = new B(); +} +aspect Aspect { + int A.B.foo() { + class C { + int bar() { return A.this.x;} + } + return new C().bar(); + } +} + +public class MissingAccessor { + + public static void main(String[] args) { + A a = new A(); + System.out.println(a.b.foo()); + } +}
\ No newline at end of file diff --git a/tests/bugs150/pr73856/MissingAccessor2.java b/tests/bugs150/pr73856/MissingAccessor2.java new file mode 100644 index 000000000..48043d312 --- /dev/null +++ b/tests/bugs150/pr73856/MissingAccessor2.java @@ -0,0 +1,21 @@ +aspect Aspect { + int A.B.foo() { + class C { + int bar() { return A.this.x;} + } + return new C().bar(); + } +} +class A { + int x = 1; + class B { } + B b = new B(); +} + +public class MissingAccessor2 { + + public static void main(String[] args) { + A a = new A(); + System.out.println(a.b.foo()); + } +} diff --git a/tests/bugs150/pr90143/A.aj b/tests/bugs150/pr90143/A.aj new file mode 100644 index 000000000..c02719275 --- /dev/null +++ b/tests/bugs150/pr90143/A.aj @@ -0,0 +1,33 @@ +class MyClass { + protected Object method() { + return null; + } +} + +abstract aspect A { + + interface C2 { } + + public void C2.hello() { + new MyClass() { + protected Object methodX() { + return +//super. +method(); + } + }; + } + + // ok + class C { } + public void C.hello() { + new MyClass() { + protected Object methodX() { + return super.method(); + } + }; + } + + +} + diff --git a/tests/bugs150/pr92311.aj b/tests/bugs150/pr92311.aj new file mode 100644 index 000000000..3e00b6a5f --- /dev/null +++ b/tests/bugs150/pr92311.aj @@ -0,0 +1,15 @@ +class Base { +public int x; +} + +aspect ExtendBase { + public ExtendBase() {} +// private int ExtendBase.x; + declare parents: Y extends ExtendBase; +} + +class Y extends Base { + public void foo() { + System.out.println(x); + } +} |