diff options
author | jhugunin <jhugunin> | 2003-04-22 17:31:00 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2003-04-22 17:31:00 +0000 |
commit | 7dcc9481d1b2715459903e8c36b1c8b22cbbf94d (patch) | |
tree | 0b9d54b58c0797e3bf941bd897db4db752cb015e /org.aspectj.ajdt.core | |
parent | 7facf6b0be071b1267c36114cd0d9af218bdd197 (diff) | |
download | aspectj-7dcc9481d1b2715459903e8c36b1c8b22cbbf94d.tar.gz aspectj-7dcc9481d1b2715459903e8c36b1c8b22cbbf94d.zip |
fix for Bugzilla Bug 36736
compiler error expected for implemented abstract pointcuts
(using declaredModifiers instead of modifiers so interfaces don't cause trouble)
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.java index fc4551ec6..9579cc87e 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.java @@ -13,6 +13,8 @@ package org.aspectj.ajdt.internal.compiler.ast; +import java.lang.reflect.Modifier; + import org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory; import org.aspectj.ajdt.internal.core.builder.EclipseSourceContext; import org.aspectj.weaver.AjAttribute; @@ -77,12 +79,14 @@ public class PointcutDeclaration extends MethodDeclaration { public void resolveStatements() { if (isAbstract()) { this.modifiers |= AccSemicolonBody; - if (pointcutDesignator != null) { - scope.problemReporter().signalError(sourceStart, sourceEnd, "abstract pointcut can't have body"); - } - } + } + if (binding == null || ignoreFurtherInvestigation) return; + + if (Modifier.isAbstract(this.declaredModifiers)&& (pointcutDesignator != null)) { + scope.problemReporter().signalError(sourceStart, sourceEnd, "abstract pointcut can't have body"); + } if (pointcutDesignator != null) { pointcutDesignator.finishResolveTypes(this, this.binding, arguments.length, |