Bug 35725 - Inter type declaration to base class not seen by derived class
Summary: Inter type declaration to base class not seen by derived class
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Jim Hugunin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-26 15:16 EST by Martin Nordberg CLA
Modified: 2003-04-10 18:37 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Nordberg CLA 2003-03-26 15:16:24 EST
The following code shows what I believe is an incorrect error - the base class 
AImpl is made concrete by the aspect Af, but the compilation of BImpl does not 
recognize this fact. This problem is for version 1.1rc1 and is not seen in 
1.0.6.

// ---------------------
// A.java

package a_intf;

public interface A
{
  A f();
}

// ---------------------
// AImpl.java

package a_impl;

import a_intf.A;

public class AImpl
  implements A
{
}

// ---------------------
// Af.java

package a_impl;

import a_intf.A;

aspect Af
{
  public A AImpl.f()
  {
    System.out.println( "f called" );
    return null;
  }
}

// ---------------------
// B.java

package b_intf;

import a_intf.A;

public interface B
  extends A
{
  B g();
}

// ---------------------
// BImpl.java

package b_impl;

import a_impl.AImpl;
import b_intf.B;

public class BImpl
  extends AImpl
  implements B
{
  public B g()
  {
    System.out.println( "g called" );
    return null;
  }
}

// Compiler Error:
// BImpl.java:7 Class must implement the inherited abstract method a_intf.A.f()
Comment 1 Jim Hugunin CLA 2003-04-10 18:37:18 EDT
you're correct, this was a bug and was easy to reproduce with your test below
this is now fixed in the current tree with test in bugs/interInherit