-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regression: execution(!void get*())
no longer works in AspectJ 1.9.20
#257
Comments
Thank you, @sbrannen. This is indeed a regression, and it affects all negated type patterns, not just |
Relates to #257. Signed-off-by: Alexander Kriegisch <[email protected]>
Relates to #257. Signed-off-by: Alexander Kriegisch <[email protected]>
The implementation for boolean matchesArray(UnresolvedType type) was buggy. '!String' should match anything but String, no matter if it is an array or not, e.g. int, void, int[], String[]. '!String[]' should match anything but String[], no matter if it is an array or not, e.g. int, void, int[], String. Fixes #257. Signed-off-by: Alexander Kriegisch <[email protected]>
Relates to #257. Signed-off-by: Alexander Kriegisch <[email protected]>
The implementation for boolean matchesArray(UnresolvedType type) was buggy. '!String' should match anything but String, no matter if it is an array or not, e.g. int, void, int[], String[], String[][]. '!String[]' should match anything but String[], no matter if it is an array or not, e.g. int, void, int[], String, String[][]. Fixes #257. Signed-off-by: Alexander Kriegisch <[email protected]>
Relates to #257. Signed-off-by: Alexander Kriegisch <[email protected]>
The implementation for boolean matchesArray(UnresolvedType type) was buggy. '!String' should match anything but String, no matter if it is an array or not, e.g. int, void, int[], String[], String[][]. '!String[]' should match anything but String[], no matter if it is an array or not, e.g. int, void, int[], String, String[][]. Fixes #257. Signed-off-by: Alexander Kriegisch <[email protected]>
A change made to ajc162.xml in commit 43cb1e2 has been reverted and improved after the recent negated type pattern fix. Relates to #257. The pointcut 'call(!void *.*(..)) && this(src) && target(dst)' actually does match method call 'payloadClass.getPayload()' within the around-advice in GenericClassInAdvice itself. Improvement: Activate '-showWeaveInfo' and verify weaving message. Signed-off-by: Alexander Kriegisch <[email protected]>
Relates to #257. Signed-off-by: Alexander Kriegisch <[email protected]>
The implementation for boolean matchesArray(UnresolvedType type) was buggy. '!String' should match anything but String, no matter if it is an array or not, e.g. int, void, int[], String[], String[][]. '!String[]' should match anything but String[], no matter if it is an array or not, e.g. int, void, int[], String, String[][]. Fixes #257. Signed-off-by: Alexander Kriegisch <[email protected]>
A change made to ajc162.xml in commit 43cb1e2 has been reverted and improved after the recent negated type pattern fix. Relates to #257. The pointcut 'call(!void *.*(..)) && this(src) && target(dst)' actually does match method call 'payloadClass.getPayload()' within the around-advice in GenericClassInAdvice itself. Improvement: Activate '-showWeaveInfo' and verify weaving message. Signed-off-by: Alexander Kriegisch <[email protected]>
@sbrannen, the problem should be fixed. Please try the latest <repositories>
<repository>
<id>ossrh-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories> |
I am disappointed that there was no re-testing feedback. That lack of feedback kept me withholding the AspectJ 1.9.20.1 bugfix release for longer than necessary. Anyway, today I released the new version. Enjoy. |
In the test suite for the Spring Framework, we have had the following pointcut for several years.
However, once we upgraded from AspectJ 1.9.19 to 1.9.20, our test using that pointcut began to fail.
Specifically, the above pointcut no longer matches a method such as
int getAge();
.To get our test to pass again, we changed the pointcut to
@Pointcut("execution(int get*())")
in spring-projects/spring-framework@c72dd1f.The text was updated successfully, but these errors were encountered: