Okay, so you had the same thoughts ('if' pointcut and stacktrace check) as I 
and also the same results. We would need something like a sneek peek towards 
method resolution which happens just an instant later, but not quite at the 
call site.

BTW, this was one of my experimental pointcuts:

pointcut jdkType() : 
if(thisJoinPointStaticPart.getSignature().getDeclaringTypeName().startsWith("java."));

But for the reasons I mentioned on StackOverflow this does not (and cannot) 
work reliably for two out of four cases.

Thank you anyway :-)
-- 
Alexander Kriegisch
http://scrum-master.de


Andy Clement schrieb am 23.05.2014 00:48:

> I can't immediately think of a way to do that. Even if using an if() clause 
> on the point cut to insert a runtime test, that test can't tell whose method 
> is running on the object you have (whether it is a local one or an inherited 
> one). You can't even inspect the stack trace in the advice (which would be 
> crude anyway) because the advice invocation is made at the call site before 
> you enter the method in question.
> 
> Incidentally I am probably going to be hanging around on stack overflow more 
> these days so anyone posting questions here, feel free to start posting 
> there, I will see them :)
> 
> 
> On 22 May 2014 00:59, Alexander Kriegisch <[email protected] 
> <mailto:[email protected]> > wrote:
>> On StackOverflow I saw an interesting question. Even though I (user
>> kriegaex) have answered it as good as I could at
>> http://stackoverflow.com/questions/23791760/aspectj-separating-native-library-calls-from-application-calls/23799457#23799457
>>  
>> <http://stackoverflow.com/questions/23791760/aspectj-separating-native-library-calls-from-application-calls/23799457#23799457>
>>  ,
>> I am still wondering if there might be a way to find out which method a
>> call really resolves to later in all of the four cases mentioned there,
>> because in general a call joinpoint's signature is not necessarily equal
>> to what gets executed later.
>> 
>> I don't know if anyone can answer that, but my best guess would be Andy
>> Clement (as usual). ;-)
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to