From: aclement Date: Sat, 10 Dec 2011 00:55:27 +0000 (+0000) Subject: catching new errors before proceeding to problemreporter X-Git-Tag: V1_7_0RC1~74 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b72204bd4f5775380bef3c5dc268fa854ad04376;p=aspectj.git catching new errors before proceeding to problemreporter --- 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 93c912a12..6ce4a5ecc 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 @@ -359,7 +359,7 @@ public class AjProblemReporter extends ProblemReporter { * Overrides the implementation in ProblemReporter and is ITD aware. To report a *real* problem with an ITD marked @override, * the other methodMustOverride() method is used. */ - public void methodMustOverride(AbstractMethodDeclaration method, int complianceLevel) { + public void methodMustOverride(AbstractMethodDeclaration method, long complianceLevel) { // ignore ajc$ methods if (new String(method.selector).startsWith("ajc$")) @@ -447,10 +447,18 @@ public class AjProblemReporter extends ProblemReporter { } super.unusedPrivateType(typeDecl); } + + public void abstractMethodInConcreteClass(SourceTypeBinding type) { + if (type.scope!=null && type.scope.referenceContext instanceof AspectDeclaration) { + // TODO could put out an Aspect specific message here + return; + } + super.abstractMethodInConcreteClass(type); + } // Don't warn if there is an ITD method/ctor from a privileged aspect public void unusedPrivateField(FieldDeclaration fieldDecl) { - if (fieldDecl.binding != null && fieldDecl.binding.declaringClass != null) { + if (fieldDecl!=null && fieldDecl.binding != null && fieldDecl.binding.declaringClass != null) { ReferenceBinding type = fieldDecl.binding.declaringClass; ResolvedType weaverType = null;