diff options
author | acolyer <acolyer> | 2005-09-08 13:40:33 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-09-08 13:40:33 +0000 |
commit | 2505485766b460041f2648e56f34132982f6428a (patch) | |
tree | 0f3eec6e8fd58dbb652ceffb155873e3b20c54ee /org.aspectj.ajdt.core | |
parent | 9fa1e7af8353a15a5f28f1bb1a4c4684a3c38eae (diff) | |
download | aspectj-2505485766b460041f2648e56f34132982f6428a.tar.gz aspectj-2505485766b460041f2648e56f34132982f6428a.zip |
tests and fix for pr108902 and pr108903
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java index 666335db7..859704441 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java @@ -103,12 +103,21 @@ public class InterTypeMethodDeclaration extends InterTypeDeclaration { if (((declaredModifiers & AccAbstract) != 0)) scope.problemReporter().methodNeedingNoBody(this); } + + // XXX AMC we need to do this, but I'm not 100% comfortable as I don't + // know why the return type is wrong in this case. Also, we don't seem to need + // to do it for args... + if (munger.getSignature().getReturnType().isRawType()) { + if (!binding.returnType.isRawType()) { + EclipseFactory world = EclipseFactory.fromScopeLookupEnvironment(scope); + binding.returnType = world.makeTypeBinding(munger.getSignature().getReturnType()); + } + } // check @Override annotation - based on MethodDeclaration.resolveStatements() @Override processing checkOverride: { if (this.binding == null) break checkOverride; if (this.scope.compilerOptions().sourceLevel < JDK1_5) break checkOverride; - int bindingModifiers = this.binding.modifiers; boolean hasOverrideAnnotation = (this.binding.tagBits & TagBits.AnnotationOverride) != 0; // Need to verify |