summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2007-11-07 11:03:19 +0000
committeraclement <aclement>2007-11-07 11:03:19 +0000
commit08904ab5e37abd95a50875f36f4ed5ed757b0cc0 (patch)
treefcd16b435b6a118aba47166e6215cbf2c560fd33 /weaver
parent60f020069426ff561d89b034d2849d1f07495e02 (diff)
downloadaspectj-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.java10
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
)
)
);