diff options
author | aclement <aclement> | 2007-11-07 11:03:19 +0000 |
---|---|---|
committer | aclement <aclement> | 2007-11-07 11:03:19 +0000 |
commit | 08904ab5e37abd95a50875f36f4ed5ed757b0cc0 (patch) | |
tree | fcd16b435b6a118aba47166e6215cbf2c560fd33 /weaver | |
parent | 60f020069426ff561d89b034d2849d1f07495e02 (diff) | |
download | aspectj-08904ab5e37abd95a50875f36f4ed5ed757b0cc0.tar.gz aspectj-08904ab5e37abd95a50875f36f4ed5ed757b0cc0.zip |
pr202088: test and fix for coping with abstract annotation pointcuts with context
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java index 61ecd9696..c62c07dbe 100644 --- a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java +++ b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java @@ -1176,11 +1176,15 @@ public class AtAjAttributes { // this/target/args binding final IScope binding; try { - binding = new BindingScope( + if (struct.method.isAbstract()) { + binding = null; + } else { + binding = new BindingScope( struct.enclosingType, struct.context, extractBindings(struct) - ); + ); + } } catch (UnreadableDebugInfoException e) { return; } @@ -1226,7 +1230,7 @@ public class AtAjAttributes { argumentTypes, UnresolvedType.forSignature(struct.method.getReturnType().getSignature()), pc,//can be null for abstract pointcut - binding + binding // can be null for abstract pointcut ) ) ); |