On Fri, Jul 2, 2010 at 11:56 PM, Eric Bodden
<
bodden@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> 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
>>
>>
> _______________________________________________
> aspectj-dev mailing list
>
aspectj-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>
_______________________________________________
aspectj-dev mailing list
aspectj-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-dev