Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] How may I match join points in these patterns?

Hello,

I think it's could be an application of the dataflow pointcut (see papers by Hidehiko Masuhara and Kazunori Kawauchi), for example, using something like this:
  dflow[a,b](call(* B.new()) && returns(b)) &&
     call(* *.m(..)) && args(a,..)


Any plans to integrate such a pointcut in AspectJ?


Bruno.


Matthew Webster wrote:

Sunny,

Semantically (and in the byte-code which is what AspectJ uses) there is no difference between what you have and the following:

{
        ClassA a = new ClassA()
         return ( a );
}

{
        B b = new B();
        objectA.m( b, arg1, arg2, ... );
}

What difference do you perceive?

Matthew Webster
AOSD Project
Java Technology Centre, MP146
IBM Hursley Park, Winchester,  SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal)
Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx
http://w3.hursley.ibm.com/~websterm/

Please respond to aspectj-users@xxxxxxxxxxx

Sent by:        aspectj-users-bounces@xxxxxxxxxxx

To:        aspectj-users@xxxxxxxxxxx
cc: Subject: [aspectj-users] How may I match join points in these patterns?


Dear All,
How may I match join points in the following two patterns? 1. when an object is created and immediately returned to the caller: public ClassA m1()
{
         return ( new ClassA() );
}
2. when an object is created and immediately passed to another context through a method call: objectA.m( new B(), arg1, arg2, ... ); Thanks very much! Sunny


Back to the top