Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Cross References missing

Navigation from the advised 'thing' back to the advising aspect should always work.  If you don't see that in the xrefs or the markers, that is a bug and we need to know about it and fix it.  (We have had a long standing bug report open though as to whether, in the case of an abstract aspect and concrete subaspect, should navigation take you to the aspect where the advice originated or to the aspect which caused the advice to be applied to you (by concretizing some pointcut)...)

Navigation back the other way, well I've never really liked the solution we had before.  It felt odd to me that some project A points to a *downstream* project B just because A was on Bs aspectpath.  However, I cannot think of a better solution for helping the user understand the weaving that is going on across their projects.  As Andrew said, we can look to reactivate this.  The gain we had in build times by temporarily losing this feature was definetly worth it.

I also consider aspectpath and inpath differently.  Using inpath to couple projects together is creating, in my mind, a tighter coupling than if it were an aspectpath dependency.  In the inpath case (and this is something I've been talking with Neale about) using linked source folders could help with navigation.  The 'pure java' or whatever it is project would remain quite standalone and have no markers but the view of it I have through the linked source folder in a depending project that applies aspects to it could show markers.  (I'm just brainstorming out loud here).  Or maybe I'm just saying this as I think you'd get better incremental build performance with linked source folder than with inpath :)

We need some enhancement requests open (if we don't have them already) to sort out the marker/navigation story going forward - but I would probably like to treat aspectpath and inpath as separate scenarios.

Andy.

2009/3/26 Thomas M. Hofmann <email@xxxxxxxxxxxxxxxxx>
It works from B to A.

-----Ursprüngliche Nachricht-----
Von: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] Im Auftrag von Thomas M. Hofmann
Gesendet: Donnerstag, 26. März 2009 16:18
An: andrew@xxxxxxxxxxxx; aspectj-users@xxxxxxxxxxx
Betreff: AW: [aspectj-users] Cross References missing

Hi,

A is on the aspect path of B and other projects. I was looking at B to see if there would be an advised by shown somewhere but I couldn't find a cross reference to A.

I will rebuild the workspace from scratch an see if this changes things. Other than that it would be nice to bring this feature back :)


-----Ursprüngliche Nachricht-----
Von: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] Im Auftrag von Andrew Eisenberg
Gesendet: Donnerstag, 26. März 2009 16:14
An: aspectj-users@xxxxxxxxxxx
Betreff: Re: [aspectj-users] Cross References missing

Are these other projects on the in path of A, or is A on the aspect
path of the other projects?

When rewriting the crosscutting model in 1.6.1, we had to remove some
functionality in order to improve build times.

For project A on the aspect path of project B, B will have xrefs to
project A, but not the reverse.  And, if A is on the in path of B,
then there will be no xrefs displayed for relationships between the
projects.

Removing this functionality was the only way we could improve build
times as much as we did.  It is our intention to reimplement this
behavior for the 1.6 stream, but as yet, there has not been much
demand for this.

I do not believe that there is an enhancement request for this.  I
will open one and you can vote on it.


On Thu, Mar 26, 2009 at 6:30 AM, Thomas M. Hofmann
<email@xxxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> I just noticed that there seem to be some cross- references missing from
> the cross references view and the markers.
>
> I have the following pointcuts in project A:
>
> public pointcut repositoryMethodsThatNeedConnectionCustomization() :
>    publicRepositoryMethod()
>    && !repositoryMethodsToExclude();
>
> public pointcut repositoryMethodsToExclude() :
>    execution(public * Repository+.set*(..));
>
> public pointcut publicRepositoryMethod() :
>    execution(public * Repository+.*(..));
>
> In the cross references I only see the places where the pointcuts match
> in project A. Other projects also contain implementers of the Repository
> interface and methods that would match the pointcut but they are not
> visible. This was different with AJDT 1.4.x.
>
> Am I missing a configuration setting maybe?
>
> Thank you,
>
> Thomas
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top