Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Compilation warnings in eclipse

There are two syntax errors:

  • there must not be a space in call(* .new(..))
  • there is a missing closing parenthesis at the very end so as to close the "... || ..." _expression_
 
This syntax is correct:
  pointcut deprecated() :
    @annotation(Deprecated) && (call(public * *(..)) || call(*.new(..)));

But there are gotchas:
  • In your previous message you said that you cannot weave into the other modules using yours. I.e. "call" pointcuts from there would not even fire if you cannot make sure that LTW is used when running the respective applications.

  • By removing the package names, you are going to capture deprecated calls to 3rd party code (JDK, libraries). Previously you said you did not want that to happen. So I think you need to decide what you want, or we will have an endless discussion thread here, boring the others to death. ;-)

 

Cheers

--
Alexander Kriegisch
https://scrum-master.de

 

Mikael Petterson schrieb am 20.03.2018 19:51:
Hi,

I tried to go from:
 
 pointcut deprecated() :
        @annotation(Deprecated) &&
        (call(public * de.scrum_master..*(..)) || call(public de.scrum_master..new(..)));


to:

pointcut deprecated():@annotation(Deprecated) && (call(public * *.*(..)) || call(* .new(..));

Since I am interested in all calls to public methods or constructors in my app ( since they can be accessed from any other application). No packages needed.
 

 

 


Från: aspectj-users-bounces@xxxxxxxxxxx <aspectj-users-bounces@xxxxxxxxxxx> för Alexander Kriegisch <alexander@xxxxxxxxxxxxxx>
Skickat: den 20 mars 2018 11:28
Till: aspectj-users@xxxxxxxxxxx
Ämne: Re: [aspectj-users] Compilation warnings in eclipse
 
The syntax is correct. Maybe the real problem is above or below the code you show here. The old JDK and AspectJ version should not be a problem unless there was a fixed bug in later versions I am unaware of. But in principle there is no problem whatsoever in using the latest version of AJDT for Eclipse and AspectJ with JDK 7, so I think you should upgrade both and see if the problem goes away. But before you do that maybe you want to share your full aspect file, maybe I can spot another problem.
--
Alexander Kriegisch
https://scrum-master.de


Mikael Petterson schrieb am 20.03.2018 17:00:
>
>
> Hi,
> The below line generates a build error in eclipse. We use jdk7 ( yeah I
> know it is old but we are working on stepping up) and aspectjrt 1.7.4 and
> aspectjtools with same version.
>
> Eclipse says:
>
>
> Multiple markers at this line
>
> - This method requires a body instead of a
>
> semicolon
>
> - pointcut cannot be resolved to a type
>
> on this line:
> pointcut beta():@annotation(com.google.common.annotations.Beta);
>
> Do I lack something in Eclipse?
>
> br,
>
> //mike
>
>

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Back to the top