summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2005-09-13 14:24:48 +0000
committeraclement <aclement>2005-09-13 14:24:48 +0000
commita058bd9ae17ca3570ca53ff7d0feaaa2daf1102a (patch)
treefdf3b0af18db0c3a5bf0d598ffef0830d67dd5d1 /weaver
parent056db42f1697ed27a47e04759bfb8162acd92590 (diff)
downloadaspectj-a058bd9ae17ca3570ca53ff7d0feaaa2daf1102a.tar.gz
aspectj-a058bd9ae17ca3570ca53ff7d0feaaa2daf1102a.zip
test and fix for pr106554: staticinitialization and PTW
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerTypeWithin.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerTypeWithin.java b/weaver/src/org/aspectj/weaver/patterns/PerTypeWithin.java
index 60f4faf65..f952f1461 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerTypeWithin.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerTypeWithin.java
@@ -84,6 +84,12 @@ public class PerTypeWithin extends PerClause {
shadow.getSourceLocation(),true,new ISourceLocation[]{getSourceLocation()});
shadow.getIWorld().getMessageHandler().handleMessage(msg);
}
+
+ // See pr106554 - we can't put advice calls in an interface when the advice is defined
+ // in a pertypewithin aspect - the JPs only exist in the static initializer and can't
+ // call the localAspectOf() method.
+ if (enclosingType.isInterface()) return FuzzyBoolean.NO;
+
typePattern.resolve(shadow.getIWorld());
return isWithinType(enclosingType);
}