summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-09-08 13:40:33 +0000
committeracolyer <acolyer>2005-09-08 13:40:33 +0000
commit2505485766b460041f2648e56f34132982f6428a (patch)
tree0f3eec6e8fd58dbb652ceffb155873e3b20c54ee /org.aspectj.ajdt.core
parent9fa1e7af8353a15a5f28f1bb1a4c4684a3c38eae (diff)
downloadaspectj-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.java11
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