diff options
author | acolyer <acolyer> | 2005-09-29 10:01:47 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-09-29 10:01:47 +0000 |
commit | c5171f738fcfa0cc947b2be45e00af8b78d7ac7d (patch) | |
tree | ca5f59935bf27c543c1119f7358609c1d091e506 | |
parent | 85a4b0afb2c4b69cb467484d9ed18b21e414a868 (diff) | |
download | aspectj-c5171f738fcfa0cc947b2be45e00af8b78d7ac7d.tar.gz aspectj-c5171f738fcfa0cc947b2be45e00af8b78d7ac7d.zip |
perclause resolving
-rw-r--r-- | tests/java5/ataspectj/ataspectj/aop-perclausetest.xml | 1 | ||||
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/tests/java5/ataspectj/ataspectj/aop-perclausetest.xml b/tests/java5/ataspectj/ataspectj/aop-perclausetest.xml index 236a6a856..3116c04a8 100644 --- a/tests/java5/ataspectj/ataspectj/aop-perclausetest.xml +++ b/tests/java5/ataspectj/ataspectj/aop-perclausetest.xml @@ -6,5 +6,6 @@ <aspect name="ataspectj.PerClauseTestAspects.TestAspectPerTarget"/> <aspect name="ataspectj.PerClauseTestAspects.TestAspectPerCflow"/> <aspect name="ataspectj.PerClauseTestAspects.TestAspectPTW"/> + <aspect name="ataspectj.PerClauseTestAspects.TestAspectPerThis"/> </aspects> </aspectj> diff --git a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java index 98d9d9632..87fcbf22e 100644 --- a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java +++ b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java @@ -483,6 +483,14 @@ public class AtAjAttributes { // FIXME asc see related comment way about about the version... struct.ajAttributes.add(new AjAttribute.WeaverVersionInfo()); struct.ajAttributes.add(new AjAttribute.Aspect(perClause)); + FormalBinding[] bindings = new org.aspectj.weaver.patterns.FormalBinding[0]; + final IScope binding; + binding = new BindingScope( + struct.enclosingType, + struct.context, + bindings + ); + perClause.resolve(binding); return true; } } @@ -599,7 +607,7 @@ public class AtAjAttributes { } else { pc = parsePointcut(beforeAdvice.getValue().stringifyValue(), struct, false); if (pc == null) return false;//parse error - pc.resolve(binding); + pc = pc.resolve(binding); } setIgnoreUnboundBindingNames(pc, bindings); |