diff options
author | jhugunin <jhugunin> | 2002-12-20 22:49:11 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2002-12-20 22:49:11 +0000 |
commit | 2c8295af23b94a7eaff57abf206f52abdc1dd02e (patch) | |
tree | f7030f3b5e06a565d67024546778e34e65b96c9b /org.aspectj.ajdt.core | |
parent | 9081949c3aca2636eab2598b57ddbda16563dcee (diff) | |
download | aspectj-2c8295af23b94a7eaff57abf206f52abdc1dd02e.tar.gz aspectj-2c8295af23b94a7eaff57abf206f52abdc1dd02e.zip |
fixed rules for overriding/inheriting pointcuts
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseObjectType.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseObjectType.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseObjectType.java index f0c37813b..40d3448cc 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseObjectType.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseObjectType.java @@ -17,8 +17,10 @@ import java.util.*; import org.aspectj.ajdt.internal.compiler.ast.*; import org.aspectj.ajdt.internal.compiler.ast.PointcutDeclaration; +import org.aspectj.bridge.*; import org.aspectj.bridge.MessageUtil; import org.aspectj.weaver.*; +import org.eclipse.jdt.internal.compiler.ast.*; import org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration; import org.eclipse.jdt.internal.compiler.lookup.*; @@ -152,10 +154,20 @@ public class EclipseObjectType extends ResolvedTypeX.Name { //now check all inherited pointcuts to be sure that they're handled reasonably if (!isAspect()) return; -// for (Iterator i = getSuperclass().getFields(); ) -// XXX - + + // find all pointcuts that override ones from super and check override is legal + // i.e. same signatures and greater or equal visibility + // find all inherited abstract pointcuts and make sure they're concretized if I'm concrete + // find all inherited pointcuts and make sure they don't conflict + getExposedPointcuts(); + } + public ISourceLocation getSourceLocation() { + if (!(binding instanceof SourceTypeBinding)) return null; + SourceTypeBinding sourceType = (SourceTypeBinding)binding; + TypeDeclaration dec = sourceType.scope.referenceContext; + return new EclipseSourceLocation(dec.compilationResult, dec.sourceStart, dec.sourceEnd); + } } |