aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java
index 05c776a0a..bd3783b0a 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java
@@ -19,6 +19,7 @@ import java.util.Iterator;
import org.aspectj.ajdt.internal.compiler.ast.PointcutDeclaration;
import org.aspectj.ajdt.internal.compiler.ast.Proceed;
import org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory;
+import org.aspectj.ajdt.internal.compiler.lookup.InterTypeMethodBinding;
import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation;
import org.aspectj.org.eclipse.jdt.core.compiler.IProblem;
import org.aspectj.org.eclipse.jdt.internal.compiler.CompilationResult;
@@ -171,6 +172,13 @@ public class AjProblemReporter extends ProblemReporter {
super.inheritedMethodReducesVisibility(type,concreteMethod,abstractMethods);
}
+ // if either of the MethodBinding is an ITD, we have already reported it.
+ public void staticAndInstanceConflict(MethodBinding currentMethod, MethodBinding inheritedMethod) {
+ if (currentMethod instanceof InterTypeMethodBinding) return;
+ if (inheritedMethod instanceof InterTypeMethodBinding) return;
+ super.staticAndInstanceConflict(currentMethod, inheritedMethod);
+ }
+
public void abstractMethodMustBeImplemented(
SourceTypeBinding type,
MethodBinding abstractMethod)