aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2003-04-24 21:05:44 +0000
committerjhugunin <jhugunin>2003-04-24 21:05:44 +0000
commit598c72655e13bc4f65d2e357ab645b05b69821ca (patch)
treefb411c9493c52877a5d2480a0e668f3aec8242b8 /weaver
parent2b231e9fb3e1c1edbca2c28865e7e0901c98c0de (diff)
downloadaspectj-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.java17
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());