diff options
author | aclement <aclement> | 2008-06-11 22:30:12 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-06-11 22:30:12 +0000 |
commit | bc04401627101ce037a5e90852e36baacdab2873 (patch) | |
tree | b84e41a4f7cea3e7e6cc0491b424d66441b15906 /weaver | |
parent | 704e1ad70b52b1733627a200d7f181eb16023d79 (diff) | |
download | aspectj-bc04401627101ce037a5e90852e36baacdab2873.tar.gz aspectj-bc04401627101ce037a5e90852e36baacdab2873.zip |
test and fix for 168982: message on ataspectj nonabstract generic aspect
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java b/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java index 6008b8e93..eade0721b 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java @@ -14,6 +14,7 @@ package org.aspectj.weaver.bcel; import java.io.PrintStream; +import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -33,6 +34,7 @@ import org.aspectj.apache.bcel.classfile.annotation.ElementNameValuePairGen; import org.aspectj.apache.bcel.classfile.annotation.ElementValueGen; import org.aspectj.apache.bcel.classfile.annotation.EnumElementValueGen; import org.aspectj.bridge.IMessageHandler; +import org.aspectj.bridge.MessageUtil; import org.aspectj.weaver.AbstractReferenceTypeDelegate; import org.aspectj.weaver.AjAttribute; import org.aspectj.weaver.AjcMemberMaker; @@ -338,6 +340,9 @@ public class BcelObjectType extends AbstractReferenceTypeDelegate { // we can finally process the aspect and its associated perclause... perClause = deferredAspectAttribute.reifyFromAtAspectJ(this.getResolvedTypeX()); } + if (isAspect() && !Modifier.isAbstract(getModifiers()) && isGeneric()) { + msgHandler.handleMessage(MessageUtil.error("The generic aspect '"+getResolvedTypeX().getName()+"' must be declared abstract",getResolvedTypeX().getSourceLocation())); + } } |