[aspectc-user] advice that(type) : ..() {..} gives compiler error
    Olaf Spinczyk 
    Olaf.Spinczyk at informatik.uni-erlangen.de
       
    Tue Jun 21 18:16:12 CEST 2005
    
    
  
Hello Hans,
Hans VB wrote:
> Hi again,
> 
>> It does work when i do
>> advice execution("% %::%(...)") && that("Worker") {}
>> (but that woulnd't be exactly the same functionality)
>>
> I gives the same error when i do :
> 
> advice call("% %::%(...)") && that("Worker") {}
> 
> which kinda makes sense because of the non-definition of 'this' in a 
> *call* I guess.
> But is this intended behaviour?
> 
> 
> Greets,
> Hans
> 
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user
I tried the following Code with ac++ 0.9.3 in the ACDT and it works
perfectly!
---
#include <iostream>
using namespace std;
class Worker {
public:
    void work() {
        cout << "working" << endl;
    }
};
class Manager {
Worker w;
public:
    void manage() {
        w.work();
    }
};
aspect Foo {
   advice that("Worker") : after() {
     cout << "that Worker" << endl;
   }
};
int main () {
   Manager m;
   m.manage ();
}
---
Do you use 0.9.2 or an even older version? There were some fixes related
to "context binding functions" such as "that()".
Cheers,
Olaf
    
    
More information about the aspectc-user
mailing list