Package com.google.auto.common
Class Overrides.ExplicitOverrides
- java.lang.Object
-
- com.google.auto.common.Overrides
-
- com.google.auto.common.Overrides.ExplicitOverrides
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
Overrides.ExplicitOverrides.TypeSubstVisitor
Visitor that replaces type variables with their values in the types it sees.-
Nested classes/interfaces inherited from class com.google.auto.common.Overrides
Overrides.ExplicitOverrides, Overrides.NativeOverrides
-
-
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)
-
-
-
Method Detail
-
overrides
public boolean overrides(javax.lang.model.element.ExecutableElement overrider, javax.lang.model.element.ExecutableElement overridden, javax.lang.model.element.TypeElement in)
-
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 isadd(E)
fromList<E>
and we ask how it appears inclass NumberList implements List<Number>
, the answer will beNumber
. That will also be the answer forclass 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)
-
-