Re: [aspectj-users] How to trace method calls generated from a method

2014-01-06 Thread samantha joseph
Hello... how to get the methods calling a particular methods i.e. i want to know which methods are calling method xyz() Thanx. On Tue, Dec 31, 2013 at 1:19 PM, samantha joseph wrote: > one more situation is arising. What if method1 is calling methods from > another class. How to trace these

[aspectj-users] pointcut to match "return" statements

2014-01-06 Thread Sean Patrick Floyd
Hi, is there any way for me to match "return null" statements statically? I would like to create a policy enforcement aspect that forbids null returns unless the method is marked as @Nullable. I'm aware this check wouldn't be perfect because it could always be tricked with a variable: String res

Re: [aspectj-users] pointcut to match "return" statements

2014-01-06 Thread Alexander Kriegisch
You can neither match "return null" nor assignments to local variables, only assignments to member variables. What you can do is match returning calls or executions and check their results dynamically like this: after() returning(Object result) : execution(!void *(..)) { if (result

Re: [aspectj-users] pointcut to match "return" statements

2014-01-06 Thread Sean Patrick Floyd
On 06.01.2014 15:26, Alexander Kriegisch wrote: You can neither match "return null" nor assignments to local variables, only assignments to member variables. What you can do is match returning calls or executions and check their results dynamically like this: after() returning(Object res

Re: [aspectj-users] pointcut to match "return" statements

2014-01-06 Thread Alexander Kriegisch
A) Returning null is not necessarily a programming error. Not handling null results gracefully might be though. B) How should it be possible to statically determine a non-trivial (dynamically created) return value during compile time? If you want to catch typical, statically determinable bugs u

Re: [aspectj-users] pointcut to match "return" statements

2014-01-06 Thread Sean Patrick Floyd
On 06.01.2014 15:59, Alexander Kriegisch wrote: A) Returning null is not necessarily a programming error. Not handling null results gracefully might be though. I'm aware of that, that's why we allow the @Nullable annotation for such cases. B) How should it be possible to statically determi

[aspectj-users] lock() and unlock() pointcuts with Object.wait()

2014-01-06 Thread Jonathan Mace
Do the lock and unlock synchronization pointcuts get triggered when a thread calls wait inside a synchronized block? ie. synchronized(this) { // blah wait(); // blah } Would this trigger the following? lock() unlock() lock() unlock() Cheers, Jon _

Re: [aspectj-users] parameterized generic abstract aspect in annotation style

2014-01-06 Thread Andy Clement
I don't think we have any regression tests for parameterized aspects using annotation style syntax but it isn't actively policed that you don't do it (IIRC), so you've probably just hit a bug. cheers, Andy On 30 December 2013 01:53, Arata Yamamoto wrote: > Dear group, > > I would like to know

Re: [aspectj-users] Unable to continue ..weaver version 3.0 but the class .. is version 6.0

2014-01-06 Thread Andy Clement
You are using an old AspectJ to process aspects built by a later AspectJ. In your case the spring library is built with AspectJ 1.6 (or later) producing files tagged with weaver version 6, but the AspectJ you are using to weave them is AspectJ ~1.5 (weaver version 3). As the language evolves the l

Re: [aspectj-users] How to compile .aj file with aspectj compiler and with older version

2014-01-06 Thread Andy Clement
Yep, just download the older AspectJ and use the ajc included in it. You cannot use the latest version to target an old AspectJ though. Andy On 30 December 2013 20:45, Krishna Jasty wrote: > Hi, > Will it be possible to compile .aj file with aspectj compiler and with > older version > > Thank

Re: [aspectj-users] Method Tracing

2014-01-06 Thread Andy Clement
For all methods called from the foo() method: pointcut interestingMethods(): call(* *(..)) && withincode(public void foo(..)); before(): interestingMethods() { System.out.println("About to call "+thisJoinPoint); } Compile with -showWeaveInfo to see all the joinpoints being hit by that. cheers

Re: [aspectj-users] Using aspect of a project in another project

2014-01-06 Thread Andy Clement
A standard project dependency is only used to resolve types. You need to use aspectpath. For project B add an aspectpath dependency on A, this will ensure that when B is compiled the AspectJ compiler will look for aspects in A and apply them to B. cheers, Andy On 1 January 2014 19:43, samantha

Re: [aspectj-users] How to trace method calls generated from a method

2014-01-06 Thread Andy Clement
Methods calling foo(), as Krishna mentioned further up, use thisEnclosingJoinPointStaticPart: before(): call(* foo(..)) { System.out.println(thisEnclosingJoinPointStaticPart); } Or use declare warning to see them without running the code: declare warning: call(* foo(..)): "foo() called from {joi

Re: [aspectj-users] pointcut to match "return" statements

2014-01-06 Thread Andy Clement
Have you tried the support for null/notnull checks that are supported in the Eclipse Java compiler? http://wiki.eclipse.org/JDT_Core/Null_Analysis - this compiler can be used outside of eclipse. I don't know if it precisely checks the kind of thing you are describing though. As already discussed h

Re: [aspectj-users] lock() and unlock() pointcuts with Object.wait()

2014-01-06 Thread Andy Clement
I don't *think* so. AspectJ is simply looking for the monitorenter/monitorexit bytecodes and inserting advice calls. Calling Object.wait() isn't recognized as related to synchronization. cheers Andy On 6 January 2014 11:49, Jonathan Mace wrote: > Do the lock and unlock synchronization pointcut

[aspectj-users] Reg:AspectJ joinpoint specification

2014-01-06 Thread Shanmuga Priya R
Hi, I created web services using java in Netbeans IDE. In that i invoke another web service using using following method call. SOAPMessage reply=connection.call(message,destination1); Now i want to apply aspect for this instruction. I tried with the following instruction using AspectJ