SE & SDA Wiki

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

User Tools

Site Tools


Sidebar

 /*    *[[newsandtodos|News & TODOs]] */
 /*    *[[faq]] */
 /*    *[[glossary]] */
 /*    *[[classesandinterfaces|Classes & Interfaces]] */
 /*    *[[astelements|AST Elements]]  */
 /*    *[[feature implementation]] */
 /*    *[[diagrams]] */
 /*    *[[papers]]  */
 /*    *[[http://roots.iai.uni-bonn.de/research/logicaj/javadoc|JavaDoc]] */
 /*    *[[limitations]]  */
    * <label internal>[[.:internal:start|INTERNAL]]</label>

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

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

SEWiki, © 2018