i just discovered that when i build the project manually it doesn't give any
error but eclipse always signals the error in because if its automatic
build. but since this is an aspectj project shouldnt the auto build be
compiling aspectj? More, shouldn't the builds be the same?

On Dec 14, 2007 12:31 AM, Renato Rodrigues <[EMAIL PROTECTED]>
wrote:

> I already had the interface Ola if that's what you mean, i just forgot to
> write it here.
> I have AspectJ 1.5
>
> I could make this work if i create an aspect and put all the code in the
> same aspect but if i try to separate in 3 different classes
>
> if i put this code in one aspect it works
>     interface Ola {}
>
>     class Client {
>
>         public Client(){}
>
>            public void aux() {
>                Ola o = new Client();
>            }
>         }
>         public aspect X {
>
>           declare parents: Client implements Ola;
>         }
>
> but if create an aspect X, an interface Ola and a class Client it doesn't
> work... i can't understand why
>
> I tried cleaning the project but the same happened.
>
>
> On Dec 13, 2007 11:44 PM, Andy Clement <[EMAIL PROTECTED]> wrote:
>
> > You wouldn't need the cast compiling this java:
> >
> > interface Ola {}
> > class Client implements Ola {
> >    public void aux() {
> >        Ola o = new Client();
> >    }
> > }
> >
> > So you don't need the cast if you pull out the implements into an
> > aspect:
> >
> > interface Ola {}
> > class Client {
> >    public void aux() {
> >        Ola o = new Client();
> >    }
> > }
> > aspect X {
> >   declare parents: Client implements Ola;
> > }
> >
> > Since the type hierarchy is entirely consistent for this program once
> > the declare parents has been applied.
> >
> > If you are doing a fresh compile from source, the code above will be
> > fine.  There are some issues with incremental compilation and interype
> > declarations like the declare parents statement - to see if that is what is
> > affecting you, do a project clean - does it now compile cleanly?
> >
> > The only time the above set of declarations wont work together is if you
> > compiled pieces of the program separately, for example compiling Ola and
> > Client without the aspect - that would require the cast.
> >
> > Did you try putting the code I included in a source file to see if that
> > works for you?  What level of AspectJ/AJDT are you on, the latest?
> >
> > In reply to Bhaskar
> >
> > > I have seen the type cast error happen to me a couple of times before,
> > > I never verified if it was due to the eager parsing by the editor the
> > > typecast seemed to make sense to me and I put it in there.
> >
> > If you are in the AspectJ Editor for the files, that editor is aware of
> > intertype declarations.  If you see this problem in that case then it may be
> > an incremental compilation problem - which, as I mentioned above, we can
> > determine by doing a project clean and observing whether the problem
> > vanishes.
> >
> >
> > Andy.
> >
> > On 13/12/2007, Renato Rodrigues <[EMAIL PROTECTED] > wrote:
> > >
> > > For me it only works if i do the cast Bhaskar Maddala suggested.Isthis 
> > > normal?
> > >
> > >
> > >
> > > I'm within an eclipse project so i just save and it compiles alone.
> > > Didn't understand your question, sorry.
> > >
> > > If i defined the aspect like :
> > >
> > > aspect example{
> > >
> > >    public interface Ola{};
> > >     declare parents: Client implements Ola;
> > >
> > > }
> > >
> > > and still continue with the same code in class Client is it normal
> > > that it gives and error saying  "Ola cannot be resolved to a type"
> > >
> > > On Dec 13, 2007 9:06 PM, Andy Clement < [EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > I'm not quite sure what you are doing, but that program compiles
> > > > fine for me:
> > > >
> > > > ---- Client.java ---- 8<----
> > > > interface Ola {}
> > > >
> > > > public class Client {
> > > >    Client(){};
> > > >
> > > >    public int num1(){
> > > >        return 1;
> > > >    }
> > > >
> > > >    public void aux()
> > > >    {
> > > >        Ola o = new Client();
> > > >    }
> > > > }
> > > >
> > > >  aspect example{
> > > >
> > > >
> > > >     declare parents: Client implements Ola;
> > > >
> > > > }
> > > > ---- Client.java ---- 8<----
> > > >
> > > > C:\aspectj1.5-dev>ajc -showWeaveInfo Client.java
> > > > Extending interface set for type 'Client' (Client.java) to include
> > > > 'Ola' (Client.java)
> > > >
> > > > Are you compiling all from source? are you binary weaving in some
> > > > way?
> > > > it should be fine.  You *might* get a eager parsing bug in the
> > > > eclipse
> > > > editor as it isnt aware the aspect will make everything alright at
> > > > compile time?
> > > >
> > > > Andy.
> > > >
> > > > On 13/12/2007, Renato Rodrigues < [EMAIL PROTECTED]>
> > > > wrote:
> > > > > Im a newbie to AspectJ and i'm trying to do a simple declare
> > > > parents
> > > > > expression so a Class can implement an interface
> > > > >
> > > > > i have class:
> > > > >
> > > > >
> > > > > public class Client {
> > > > >     Client(){};
> > > > >
> > > > >     public int num1(){
> > > > >         return 1;
> > > > >     }
> > > > >
> > > > >     public void aux()
> > > > >     {
> > > > >         Ola o = new Client();
> > > > >     }
> > > > > }
> > > > > and aspect :
> > > > >
> > > > >
> > > > > public aspect example{
> > > > >
> > > > >
> > > > >      declare parents: Client implements Ola;
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > > and the compiler says Type mismatch: cannot convert from Client to
> > > > Ola
> > > > >
> > > > > _______________________________________________
> > > > > aspectj-users mailing list
> > > > > [email protected]
> > > > > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> > > > >
> > > > >
> > > > _______________________________________________
> > > > aspectj-users mailing list
> > > > [email protected]
> > > > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> > > >
> > >
> > >
> > > _______________________________________________
> > > aspectj-users mailing list
> > > [email protected]
> > > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> > >
> > >
> >
> > _______________________________________________
> > aspectj-users mailing list
> > [email protected]
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> >
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to