diff options
author | jhugunin <jhugunin> | 2003-04-24 21:05:44 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2003-04-24 21:05:44 +0000 |
commit | 598c72655e13bc4f65d2e357ab645b05b69821ca (patch) | |
tree | fb411c9493c52877a5d2480a0e668f3aec8242b8 /weaver | |
parent | 2b231e9fb3e1c1edbca2c28865e7e0901c98c0de (diff) | |
download | aspectj-598c72655e13bc4f65d2e357ab645b05b69821ca.tar.gz aspectj-598c72655e13bc4f65d2e357ab645b05b69821ca.zip |
expanded tests and fix for
Bugzilla Bug 36778
ClassFormatError due to empty interface supertype
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/Advice.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/weaver/src/org/aspectj/weaver/Advice.java b/weaver/src/org/aspectj/weaver/Advice.java index 4b90c9d35..b25df052c 100644 --- a/weaver/src/org/aspectj/weaver/Advice.java +++ b/weaver/src/org/aspectj/weaver/Advice.java @@ -109,10 +109,19 @@ public abstract class Advice extends ShadowMunger { "around on pre-initialization not supported (compiler limitation)", getSourceLocation(), shadow.getSourceLocation()); return false; - } else if (shadow.getKind() == Shadow.Initialization) { - world.showMessage(IMessage.ERROR, - "around on initialization not supported (compiler limitation)", - getSourceLocation(), shadow.getSourceLocation()); + } else if (shadow.getKind() == Shadow.Initialization) { + world.showMessage(IMessage.ERROR, + "around on initialization not supported (compiler limitation)", + getSourceLocation(), shadow.getSourceLocation()); + return false; + } else if (shadow.getKind() == Shadow.StaticInitialization && + shadow.getEnclosingType().isInterface(world)) + { + world.showMessage(IMessage.ERROR, + "around on staticinitialization of interface \'" + + shadow.getEnclosingType().getName() + + "\' not supported (compiler limitation)", + getSourceLocation(), shadow.getSourceLocation()); return false; } else { //System.err.println(getSignature().getReturnType() + " from " + shadow.getReturnType()); |