Limitations

Overloading

Overloading of aspect constructs is not possible (right now).

Type Patterns

You are not allowed to use more than two meta variables or constants in type patterns.

call(?_ ?package.?type.?m(..)) && concat("org.cs3.",?internal,?package)

is allowed

call(?_ org.cs3.?internal.?type.?m(..)) 

is not allowed.

Dynamic pointcuts

Currently dynamic pointcuts are limited the statically resolvable signatures. E.g. consider the class hierarchy SubType < SuperType.

The advice

after(SubType t): target(t) && call(* *.*()) ..

will only be woven to method calls where the target is statically known to be SubType. If only SubType is known it will fail:

Subtype sub ..;
st.m();  // <- advice is woven
SuperType sup = sub;
sup.m(); // <- advice is not woven

This limitation will removed in the future.

… to be completed

Last modified: 2017/08/30 03:30
*