[aspectc-user] Re: [aspectc-user] Re: [aspectc-user] intercepting flow of executio=?iso-8859-2?Q?Re: [aspec =?iso-8859-2?Q?Re: [aspectc-user] Re: [aspectc-user] intercepting flow of executio Re: [aspectc-user] intercepting flow of execution=A0of?= the method declaredinside aspect

Olaf Spinczyk Olaf.Spinczyk at informatik.uni-erlangen.de
Thu May 27 15:19:16 CEST 2004


Hello Bartosz,

Bartosz Blimke wrote:
>>Our test cases show that cflow does not always fail under Windows.
>>Therefore, I'm optimitic that the following workaround will help you:
>>
>>Move the implementation of your run() function from the aspect header
>>into a *.cpp file which includes the aspect header explititly.
>>
>>aspect header:
>>
>>aspect Aspect {
>>   void run(AC::Action &action);
>>   ...
>>};
>>
>>Aspect.cpp:
>>
>>void Aspect::run (AC::Action &action) {
>>   action.trigger();
>>}
>>
>>The local class will now be generated only in Aspect.cpp and the linker
>>can't complain that it is defined twice.
>>
>>I hope that helps,
>>
>>Olaf
>>
> 
> 
> 
> Ok, it works, but I had to declare run() as a global function
> not the member of Aspect class.
> If run() is a method of Aspect class ac++ weaver complains
> that there is unknown token "Aspect" in run() definition in *.cpp file
> void Aspect::run (AC::Action &action) {
>     action.trigger();
> }
> 
> 
> Thanks for help, now I'm able to continue my solution,
> and I'm waiting for fixing this bug with cflow :)
> 
> Bartosz

I tried the code (with "run()" as a member function of "Aspect") in the 
Visual Studio Add-In by pure-systems and it works. I don't have to make 
"run()" a global function. Are you sure that you included the aspect header?

Olaf



More information about the aspectc-user mailing list