From 823947e4fd021bfb1f2cd92aade1f47c8ac982a2 Mon Sep 17 00:00:00 2001 From: avasseur Date: Wed, 28 Sep 2005 12:50:29 +0000 Subject: #107953 @AfterThrowing/Returning checks when extra formal is not bound --- weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'weaver') diff --git a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java index 2896d9dc6..98d9d9632 100644 --- a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java +++ b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java @@ -16,6 +16,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; +import java.util.Arrays; import org.aspectj.apache.bcel.Constants; import org.aspectj.apache.bcel.classfile.Attribute; @@ -717,10 +718,9 @@ public class AtAjAttributes { } else { // check that thrownFormal exists as the last parameter in the advice String[] pNames = owningMethod.getParameterNames(); - if (pNames == null || pNames.length == 0 || !pNames[pNames.length -1].equals(returned)) { - throw new ReturningFormalNotDeclaredInAdviceSignatureException(returned); - } - + if (pNames == null || pNames.length == 0 || !Arrays.asList(pNames).contains(returned)) { + throw new ReturningFormalNotDeclaredInAdviceSignatureException(returned); + } } } @@ -815,7 +815,7 @@ public class AtAjAttributes { } else { // check that thrownFormal exists as the last parameter in the advice String[] pNames = owningMethod.getParameterNames(); - if (pNames == null || pNames.length == 0 || !pNames[pNames.length -1].equals(thrownFormal)) { + if (pNames == null || pNames.length == 0 || !Arrays.asList(pNames).contains(thrownFormal)) { throw new ThrownFormalNotDeclaredInAdviceSignatureException(thrownFormal); } } -- cgit v1.2.3