예제 #1
0
 protected boolean shouldAnalyzeRoleReference() {
   if ((this.bits & ASTNode.InsideJavadoc) != 0)
     return false; // don't complain about role encapsulation in java doc
   return this.resolvedType
           .isRole() // no need to check non-role inner of role: either inherited (non-rolish) or
                     // local (cannot be referenced)
       && !TSuperHelper.isMarkerInterface(this.resolvedType);
 }
예제 #2
0
 /**
  * Callout creation might have turned a method into a tsuper version. Update resolvedMethod to the
  * overriding callout method, if we are affected.
  */
 public void updateTSuperMethod(ReferenceBinding type) {
   if (this.resolvedMethod == null) return;
   if (TSuperHelper.isTSuper(this.resolvedMethod)) {
     MethodBinding[] methods = type.methods();
     if (methods != null) {
       for (int i = 0; i < methods.length; i++) {
         if (methods[i].overridesTSuper(this.resolvedMethod)) {
           this.resolvedMethod = methods[i];
           return;
         }
       }
     }
     throw new InternalCompilerError("tsuper method not overridden by any method"); // $NON-NLS-1$
   }
 }