diff options
author | acolyer <acolyer> | 2005-09-06 13:08:19 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-09-06 13:08:19 +0000 |
commit | 71771abbb2d2bac4cd832323c08d9dcad81db2a0 (patch) | |
tree | 4c40bb41dfcd35076a97015549a95eb6382841b1 /weaver | |
parent | 8459fc93a9f455b2669ed2a758b10bdc6cd3903a (diff) | |
download | aspectj-71771abbb2d2bac4cd832323c08d9dcad81db2a0.tar.gz aspectj-71771abbb2d2bac4cd832323c08d9dcad81db2a0.zip |
tests and fix for pr108816, args with binding with .. at join point with synthetic arguments
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java index e66dd4452..0dcc59630 100644 --- a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java +++ b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java @@ -350,7 +350,8 @@ public class ArgsPointcut extends NameBindingPointcut { } protected Test findResidueInternal(Shadow shadow, ExposedState state) { - if (arguments.matches(getArgumentsToMatchAgainst(shadow), TypePattern.DYNAMIC).alwaysFalse()) { + ResolvedType[] argsToMatch = getArgumentsToMatchAgainst(shadow); + if (arguments.matches(argsToMatch, TypePattern.DYNAMIC).alwaysFalse()) { return Literal.FALSE; } int ellipsisCount = arguments.ellipsisCount; @@ -358,7 +359,7 @@ public class ArgsPointcut extends NameBindingPointcut { return findResidueNoEllipsis(shadow, state, arguments.getTypePatterns()); } else if (ellipsisCount == 1) { TypePattern[] patternsWithEllipsis = arguments.getTypePatterns(); - TypePattern[] patternsWithoutEllipsis = new TypePattern[shadow.getArgCount()]; + TypePattern[] patternsWithoutEllipsis = new TypePattern[argsToMatch.length]; int lenWithEllipsis = patternsWithEllipsis.length; int lenWithoutEllipsis = patternsWithoutEllipsis.length; // l1+1 >= l0 |