aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2023-06-25 12:17:48 +0200
committerAlexander Kriegisch <Alexander@Kriegisch.name>2023-06-26 13:48:27 +0700
commitc0a48634088f7f894ab998dfcc5b7ccf7df88b42 (patch)
treedcec90a3ce29634d34491c55d589713cecbb82ff /weaver
parent1e2d9683b4b0d75dfd9830ebeb482e56cf40fd8d (diff)
downloadaspectj-c0a48634088f7f894ab998dfcc5b7ccf7df88b42.tar.gz
aspectj-c0a48634088f7f894ab998dfcc5b7ccf7df88b42.zip
Correctly identify ITD method signatures in weaver
by removing faulty condition 'if (isCtorRelated)' from BcelTypeMunger.getRealMemberForITDFromAspect, see comment https://github.com/eclipse-aspectj/aspectj/issues/246#issuecomment-1605999896. Fixes #246. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/main/java/org/aspectj/weaver/bcel/BcelTypeMunger.java8
1 files changed, 1 insertions, 7 deletions
diff --git a/weaver/src/main/java/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/main/java/org/aspectj/weaver/bcel/BcelTypeMunger.java
index 3463d444a..64e9ce42f 100644
--- a/weaver/src/main/java/org/aspectj/weaver/bcel/BcelTypeMunger.java
+++ b/weaver/src/main/java/org/aspectj/weaver/bcel/BcelTypeMunger.java
@@ -1606,12 +1606,7 @@ public class BcelTypeMunger extends ConcreteTypeMunger {
System.err.println("Reviewing potential candidates: " + member);
}
boolean matchOK = true;
- // If not related to a ctor ITD then the name is enough to
- // confirm we have the
- // right one. If it is ctor related we need to check the
- // params all match, although
- // only the erasure.
- if (isCtorRelated) {
+ // Check that all method/ctor params all match, although only the erasure
for (int j = 0; j < memberParams.length && matchOK; j++) {
ResolvedType pMember = memberParams[j].resolve(world);
ResolvedType pLookingFor = lookingForParams[j].resolve(world);
@@ -1639,7 +1634,6 @@ public class BcelTypeMunger extends ConcreteTypeMunger {
matchOK = false;
}
}
- }
if (matchOK) {
realMember = member;
}