[aspectc-user] run-time aspects
Olaf Spinczyk
Olaf.Spinczyk at informatik.uni-erlangen.de
Mon Nov 28 11:19:54 CET 2005
Hi,
first of all, there are a few syntax errors in your code. For instance,
aspect B should look like this:
aspect B {
pointcut add() = "A";
advice add() : int y;
};
Besides this syntax problem, you could compile both aspects together
with your component code. The weaver will introduce the new members "y"
*and* "Q" into the class "A".
Introductions are a means to implement *static* crosscutting. Therefore,
all instances of A will contain both new members.
I'm sorry, but I don't understand the second part of your question: "If
the answer to the first part is yes Then is there any way create objects
of A, B or C independently?". Could you try to explain it again or is my
answer already sufficient?
- Olaf
Jamal Siadat wrote:
> Hi All,
> I just have a couple of questions I was wondering if you may address for
> me please:
> first Does AspectC++ suopport the expansion of a particular class by two
> different aspects that may be compiled simuntaniously?
> for instance is it possible to have a class "A" and use aspects "B" and
> "C" to add some methods/variables to it. ( each of A and B add different
> methods and variables).
>
> If the answer to the first part is yes Then is there any way create
> objects of A, B or C independently? Here is an example:
>
> class A{
> A();
> ~A();
> int a;
> void b();
> }
>
> aspect B {
> pointcut add() : "A";
> add (): int y;
> //adding integer y to class A
> };
>
> aspect C {
> pointcut addition() : "A";
> addition (): bool Q;
> //adding bolean Q to class A
> };
>
> Can I compile B and C simuntaniously? if so when I am running the program
> can I have:
> B b;
> b.y=5;
> If not, what alternatives would I have so I can just create B type at
> run-time like above?
>
> Thanks all,
> Jamal
>
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user
More information about the aspectc-user
mailing list