Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] is there a algorithm to compute whether two different pointcut expressions can share a join point?

Hi.

Have you looked at pointcut doctor? If I remember correcty, it does
what you propose:
http://pointcutdoctor.sourceforge.net/

Eric

--
Dr. Eric Bodden
Software Technology Group, Technische Universität Darmstadt, Germany
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt



On 2 July 2010 20:05, Sandy Zhang <nudt.zhangxian@xxxxxxxxx> wrote:
> Hi guys, is there a algorithm to compute whether two different pointcut
> expressions can share a join point ?
>
> For example, we know these following two pointcut expressions may share a
> join point.
>
> call( Object java.util.Iterator.*(..) );
>
> call( * java.util.Iterator.next(..) );
>
>
>
> While these two pointcut expressions definitely won’t share a join point
>
> call( boolean java.util.Iterator.hasNext(..) )
>
> call(Object java.util.Iterator.next())
>
>
>
> It first seems that the unification algorithm used in prolog can resolve
> this problem. But the cflow operator changes this as the cflow( call(boolean
> java.util.Iterator.hasNext(..)) ) and cflow( call( boolean
> java.util.Iterator.hasNext(..) ) ) maybe share a join point. If we drop the
> cflow operator, can the unification solve this issue?
>
>
>
> Maybe this thing seems meaningless to aspectj as the compiler only compiles
> concrete code. And it is easy to find a shared join point in concrete code.
> But it maybe a good hint to notify that the user writes a wrong pointcut as
> it does not select any join point no matter what the code is. For example,
> the pointcut:
>
> call( boolean java.util.Iterator.hasNext(..) ) && call(Object
> java.util.Iterator.next()).
>
>
>
> If we cannot find an algorithm to resolve this problem given the complexity
> of pointcut, is there a subset of pointcut operators which we can handle?
>
> --
> Best regards,
>
> Xian Zhang
>
> _______________________________________________
> aspectj-dev mailing list
> aspectj-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>
>


Back to the top