Class Overrides.ExplicitOverrides

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.lang.model.util.Types typeUtils  
    • Constructor Summary

      Constructors 
      Constructor Description
      ExplicitOverrides​(javax.lang.model.util.Types typeUtils)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private javax.lang.model.element.TypeElement asTypeElement​(javax.lang.model.type.TypeMirror typeMirror)  
      (package private) com.google.common.collect.ImmutableList<javax.lang.model.type.TypeMirror> erasedParameterTypes​(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.TypeElement in)
      Returns the list of erased parameter types of the given method as they appear in the given type.
      private boolean isSubsignature​(javax.lang.model.element.ExecutableElement overrider, javax.lang.model.element.ExecutableElement overridden, javax.lang.model.element.TypeElement in)  
      (package private) javax.lang.model.element.ExecutableElement methodFromSuperclasses​(javax.lang.model.element.TypeElement in, javax.lang.model.element.ExecutableElement method)
      Returns the given method as it appears in the given type.
      (package private) javax.lang.model.element.ExecutableElement methodFromSuperinterfaces​(javax.lang.model.element.TypeElement in, javax.lang.model.element.ExecutableElement method)
      Returns the given interface method as it appears in the given type.
      private javax.lang.model.element.ExecutableElement methodInType​(javax.lang.model.element.TypeElement type, javax.lang.model.element.ExecutableElement method)
      Returns the method from within the given type that has the same erased signature as the given method, or null if there is no such method.
      boolean overrides​(javax.lang.model.element.ExecutableElement overrider, javax.lang.model.element.ExecutableElement overridden, javax.lang.model.element.TypeElement in)  
      private javax.lang.model.element.TypeElement superclass​(javax.lang.model.element.TypeElement type)  
      private com.google.common.collect.ImmutableList<javax.lang.model.element.TypeElement> superinterfaces​(javax.lang.model.element.TypeElement type)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • typeUtils

        private final javax.lang.model.util.Types typeUtils
    • Constructor Detail

      • ExplicitOverrides

        ExplicitOverrides​(javax.lang.model.util.Types typeUtils)
    • Method Detail

      • overrides

        public boolean overrides​(javax.lang.model.element.ExecutableElement overrider,
                                 javax.lang.model.element.ExecutableElement overridden,
                                 javax.lang.model.element.TypeElement in)
        Specified by:
        overrides in class Overrides
      • isSubsignature

        private boolean isSubsignature​(javax.lang.model.element.ExecutableElement overrider,
                                       javax.lang.model.element.ExecutableElement overridden,
                                       javax.lang.model.element.TypeElement in)
      • erasedParameterTypes

        com.google.common.collect.ImmutableList<javax.lang.model.type.TypeMirror> erasedParameterTypes​(javax.lang.model.element.ExecutableElement method,
                                                                                                       javax.lang.model.element.TypeElement in)
        Returns the list of erased parameter types of the given method as they appear in the given type. For example, if the method is add(E) from List<E> and we ask how it appears in class NumberList implements List<Number>, the answer will be Number. That will also be the answer for class NumberList<E extends Number> implements List<E>. The parameter types are erased since the purpose of this method is to determine whether two methods are candidates for one to override the other.
      • methodFromSuperclasses

        javax.lang.model.element.ExecutableElement methodFromSuperclasses​(javax.lang.model.element.TypeElement in,
                                                                          javax.lang.model.element.ExecutableElement method)
        Returns the given method as it appears in the given type. This is the method itself, or the nearest override in a superclass of the given type, or null if the method is not found in the given type or any of its superclasses.
      • methodFromSuperinterfaces

        javax.lang.model.element.ExecutableElement methodFromSuperinterfaces​(javax.lang.model.element.TypeElement in,
                                                                             javax.lang.model.element.ExecutableElement method)
        Returns the given interface method as it appears in the given type. This is the method itself, or the nearest override in a superinterface of the given type, or null if the method is not found in the given type or any of its transitive superinterfaces.
      • methodInType

        private javax.lang.model.element.ExecutableElement methodInType​(javax.lang.model.element.TypeElement type,
                                                                        javax.lang.model.element.ExecutableElement method)
        Returns the method from within the given type that has the same erased signature as the given method, or null if there is no such method.
      • superclass

        private javax.lang.model.element.TypeElement superclass​(javax.lang.model.element.TypeElement type)
      • superinterfaces

        private com.google.common.collect.ImmutableList<javax.lang.model.element.TypeElement> superinterfaces​(javax.lang.model.element.TypeElement type)
      • asTypeElement

        private javax.lang.model.element.TypeElement asTypeElement​(javax.lang.model.type.TypeMirror typeMirror)