diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-06-25 12:17:48 +0200 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-06-26 13:48:27 +0700 |
commit | c0a48634088f7f894ab998dfcc5b7ccf7df88b42 (patch) | |
tree | dcec90a3ce29634d34491c55d589713cecbb82ff /weaver | |
parent | 1e2d9683b4b0d75dfd9830ebeb482e56cf40fd8d (diff) | |
download | aspectj-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.java | 8 |
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; } |