diff options
author | aclement <aclement> | 2004-03-19 09:28:14 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-03-19 09:28:14 +0000 |
commit | 0a017593dcbeab409c1634da87b3f500b848e903 (patch) | |
tree | d9bd4b1fe70e8816853fcd994cbc3dd81ed9f1f2 /weaver | |
parent | 5795b4afc617d5ed3ce9f9338ff59fe275bd56b0 (diff) | |
download | aspectj-0a017593dcbeab409c1634da87b3f500b848e903.tar.gz aspectj-0a017593dcbeab409c1634da87b3f500b848e903.zip |
Fix for Bugzilla Bug 53012
declare precedence on a class should be a compile-time error
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java b/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java index 4106abbc4..d7e190357 100644 --- a/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java +++ b/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java @@ -82,6 +82,14 @@ public class DeclarePrecedence extends Declare { } ResolvedTypeX exactType = pi.getExactType().resolve(scope.getWorld()); if (exactType == ResolvedTypeX.MISSING) continue; + + // Cannot do a dec prec specifying a non-aspect types unless suffixed with a '+' + if (!exactType.isAspect() && !pi.isIncludeSubtypes()) { + scope.getWorld().showMessage(IMessage.ERROR, + "Non-aspect types can only be specified in a declare precedence statement when subtypes are included. Non-aspect type is : "+exactType.getName(), + pi.getSourceLocation(),null); + } + for (int j=0; j < patterns.size(); j++) { if (j == i) continue; TypePattern pj = patterns.get(j); |