aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2003-08-28 21:44:55 +0000
committerjhugunin <jhugunin>2003-08-28 21:44:55 +0000
commit5a07dcee3a3f520e4b5cadc67000673e2d0ca0b7 (patch)
tree771065369cab0955da5791a8648ede9c52216da7 /org.aspectj.ajdt.core
parentd8b86743663c19fd545d8dea89290dccda7a5ed1 (diff)
downloadaspectj-5a07dcee3a3f520e4b5cadc67000673e2d0ca0b7.tar.gz
aspectj-5a07dcee3a3f520e4b5cadc67000673e2d0ca0b7.zip
fix and test for Bugzilla Bug 41359
percflow aspects compiled from jars share one instance for all entry points
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java
index 935b6c3f0..e0967d667 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java
@@ -658,12 +658,14 @@ public class AspectDeclaration extends MemberTypeDeclaration {
private PerClause.Kind lookupPerClauseKind(ReferenceBinding binding) {
- if (binding instanceof SourceTypeBinding && !(binding instanceof BinaryTypeBinding)) {
+ PerClause perClause;
+ if (binding instanceof BinaryTypeBinding) {
+ ResolvedTypeX superTypeX = factory.fromEclipse(binding);
+ perClause = superTypeX.getPerClause();
+ } else if (binding instanceof SourceTypeBinding ) {
SourceTypeBinding sourceSc = (SourceTypeBinding)binding;
if (sourceSc.scope.referenceContext instanceof AspectDeclaration) {
- PerClause perClause = ((AspectDeclaration)sourceSc.scope.referenceContext).perClause;
- if (perClause == null) return lookupPerClauseKind(binding.superclass());
- else return perClause.getKind();
+ perClause = ((AspectDeclaration)sourceSc.scope.referenceContext).perClause;
} else {
return null;
}
@@ -671,7 +673,12 @@ public class AspectDeclaration extends MemberTypeDeclaration {
//XXX need to handle this too
return null;
}
- }
+ if (perClause == null) {
+ return lookupPerClauseKind(binding.superclass());
+ } else {
+ return perClause.getKind();
+ }
+ }
private void buildPerClause(ClassScope scope) {