diff options
author | jhugunin <jhugunin> | 2003-03-12 23:07:08 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2003-03-12 23:07:08 +0000 |
commit | 7746fcb7e977c7a91bd70081a2197a999ec18ad3 (patch) | |
tree | 4e4e458141708cb69d58b31043883be4f6c2871b /weaver | |
parent | 519aa42cff336a34041df665c4c7e8f738274973 (diff) | |
download | aspectj-7746fcb7e977c7a91bd70081a2197a999ec18ad3.tar.gz aspectj-7746fcb7e977c7a91bd70081a2197a999ec18ad3.zip |
fix and test for Bugzilla Bug 34858
Weaver crash
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java index 68d9a4e88..7345ecffa 100644 --- a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java +++ b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java @@ -167,6 +167,11 @@ public class CflowPointcut extends Pointcut { List slots = new ArrayList(); for (int i=0, len=freeVars.length; i < len; i++) { int freeVar = freeVars[i]; + + // we don't need to keep state that isn't actually exposed to advice + //??? this means that we will store some state that we won't actually use, optimize this later + if (!bindings.hasKey(freeVar)) continue; + int formalIndex = bindings.get(freeVar); ResolvedTypeX formalType = bindings.getAdviceSignature().getParameterTypes()[formalIndex].resolve(world); |