]> source.dussan.org Git - aspectj.git/commitdiff
catching new errors before proceeding to problemreporter
authoraclement <aclement>
Sat, 10 Dec 2011 00:55:27 +0000 (00:55 +0000)
committeraclement <aclement>
Sat, 10 Dec 2011 00:55:27 +0000 (00:55 +0000)
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java

index 93c912a122be3b27cbad6d800cc1cb9394fc7945..6ce4a5ecc9f4f59c5c478b297a43746ec1378fd8 100644 (file)
@@ -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;