--- /dev/null
+class A {
+
+ public A(){}
+
+ private void m1() throws E {
+ throw new E();
+ }
+}
+
+privileged aspect B {
+
+ void A.m2() {
+ try {
+ m1();
+ } catch(E e) { // accessor generated for m1() should be defined to throw E
+ }
+ }
+}
+
+class E extends Exception{
+ public E(){}
+}
--- /dev/null
+public aspect pr91381_2 {
+ public abstract Object A.foo();
+
+ public static void main(String[] args) {
+ A a = new B();
+ System.out.println(a.foo());
+ }
+}
+
+abstract class A {
+// abstract Object foo();
+}
+
+class B extends A {
+ public Integer foo() { return new Integer(42); }
+}