aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2003-04-22 17:31:00 +0000
committerjhugunin <jhugunin>2003-04-22 17:31:00 +0000
commit7dcc9481d1b2715459903e8c36b1c8b22cbbf94d (patch)
tree0b9d54b58c0797e3bf941bd897db4db752cb015e /org.aspectj.ajdt.core
parent7facf6b0be071b1267c36114cd0d9af218bdd197 (diff)
downloadaspectj-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.java12
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,