Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools



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

research/logicaj/limitations.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2021