Community
Participate
Working Groups
submitted on behalf of Vincenz Braun ------------------------ now I managed to track down this issue (a similar bug is in the jdk 1.2 compiler from sun). I have a class DefaultProducer it has a protected method revokeAllItems(InfoBus bus); Then I have a class that extends DefaultProducer: AutoFetchConnector AutoFetchConnector has inner classes (not static ones). In methods of these inner classes there are some calls like this one: AutoFetchConnector.this.revokeAllItems(bus); This leads to the "can not resolve this member" warning messages. If I introduce the method protected void revokeAllItems(InfoBus bus) { super.revokeAllItems(bus); } in AutoFetchConnector the messages disappear. This is a similar bug in suns jdk 1.2 compiler that leads to NoSuchField Exceptions during runtime. The clas AutoFetchConnector should not be affected by the aspect I tried to weave in. I use suns jdk 1.3.1_04 for building. I hope that helps a little bit, Vincenz > -----Original Message----- > From: Jim.Hugunin@parc.com [mailto:Jim.Hugunin@parc.com] > Sent: Friday, May 23, 2003 6:53 PM > To: vb@bigdot.de > Subject: FW: [aspectj-users] can not resolve this member warning > > > Did you ever manage to track down this bug? If you can > provide us more information in the next couple of days we > will hopefully be able to fix this for 1.1.0. Otherwise it > might be a while before it gets resolved. > > -Jim > > -----Original Message----- > From: Hugunin, Jim <Jim.Hugunin@parc.com> > Sent: Wednesday, May 14, 2003 9:41 AM > To: 'aspectj-users@eclipse.org' > Subject: RE: [aspectj-users] can not resolve this member warning > > Vincenz Braun wrote: > > But the warning/error messages of missing members is > > still a huge problem for me with rc2. > > [iajc] JdbcLogAspect.java:59 can not resolve this member: void > > DefaultProducer.access$201(AutoFetcher, javax.infobus.InfoBus) > > [Xlint:unresolvableMember] > > > > repeated with different line numbers in the Aspect and a second > > access$301 method. > > > > Is this a warning, a bug in our code or an error in the compiler? > > The problem is that you have code which refers to generated > methods for inner-class access, and for some reason these > methods either aren't around or the compiler is failing to > find them. I don't have enough information to know whether > this is a bug in your build process or in the compiler. > > This should be submitted to bugzilla as a bug for now and if > it turns out to be a build issue we can pass that information > back to this list. The best bug report is always a small > self-contained test case that we can use to reproduce and > understand the error. If that's not possible, then the next > best thing would be to provide additional details about your > configuration and build process. Exactly what files are > involved, what options are you passing to ajc, what can you > tell us about problem classes li ke DefaultProducer. > > Thanks for your help tracking this issue down - Jim
I can't duplicate this bug, so I'm marking it as WORKSFORME. If you can give me step-by-step instructions for duplicating I'd like to reopen it. My current test case (in bugs/accessMethods) is included below in case this gives you a useful starting point:. ------------------------------------- package p1; public class Base { protected int value=0; protected String getName() { return "Base"; } } ------------------------------------- package p2; public class Derived extends p1.Base { public static void main(String[] args) { Derived d = new Derived(); Inner i = d.new Inner(); System.out.println(i.getFullName()); } class Inner { public String getFullName() { return Derived.this.getName() + ":" + getName() + ":" + Derived.this.value + ":" + value; } } static aspect A { before(): withincode(* get*Name(..)) { } } } ------------------------------------- ajc p1/Base.java p2/Derived.java -> No warnings or errors java p2.Derived -> Base:Base:0:0