public static class MethodLookupEngine.ConflictingInterfaceMethod extends MethodDescription.AbstractMethodDescription
MethodDescription
represents methods that are defined
ambiguously on several interfaces of a common type.MethodDescription.AbstractMethodDescription, MethodDescription.ForLoadedConstructor, MethodDescription.ForLoadedMethod, MethodDescription.Latent
ModifierReviewable.AbstractModifierReviewable
CONSTRUCTOR_INTERNAL_NAME, TYPE_INITIALIZER_INTERNAL_NAME
Modifier | Constructor and Description |
---|---|
protected |
ConflictingInterfaceMethod(TypeDescription virtualHost,
List<MethodDescription> methodDescriptions)
Creates a new conflicting interface method.
|
Modifier and Type | Method and Description |
---|---|
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) |
Annotation[] |
getAnnotations() |
Annotation[] |
getDeclaredAnnotations() |
TypeDescription |
getDeclaringType()
Returns the declaring type of this instance.
|
TypeList |
getExceptionTypes()
Returns a description of the exception types of the method described by this instance.
|
String |
getInternalName()
Returns the internal internalName of this byte code element.
|
int |
getModifiers()
Returns the modifier that is described by this object.
|
String |
getName()
Returns the internalName of this byte code element.
|
Annotation[][] |
getParameterAnnotations()
Returns the parameter annotations of the method described by this instance.
|
TypeList |
getParameterTypes()
Returns a list of type descriptions of the method described by this instance.
|
TypeDescription |
getReturnType()
Returns a description of the return type of the method described by this instance.
|
boolean |
isAnnotationPresent(Class<? extends Annotation> annotationClass) |
boolean |
isConstructor()
Checks if this method description represents a constructor.
|
boolean |
isSpecializableFor(TypeDescription targetType)
Checks if this method can be called using the
INVOKESPECIAL for a given type. |
boolean |
isTypeInitializer()
Checks if this method is a type initializer.
|
protected static MethodDescription |
of(TypeDescription virtualHost,
MethodDescription conflictingMethod,
MethodDescription discoveredMethod)
Creates a new method description for at least two conflicting interface methods.
|
boolean |
represents(Constructor<?> constructor)
Verifies if a method description represents a given loaded constructor.
|
boolean |
represents(Method method)
Verifies if a method description represents a given loaded method.
|
String |
toString() |
equals, getDescriptor, getParameterOffset, getStackSize, getUniqueSignature, hashCode, isDefaultMethod, isMethod, isOverridable, isVisibleTo
isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSuper, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatile
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSuper, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatile
getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotationsByType
protected ConflictingInterfaceMethod(TypeDescription virtualHost, List<MethodDescription> methodDescriptions)
virtualHost
- The virtual host of the methods that are not really declared by any type.methodDescriptions
- The methods that are in conflict to another. All of these methods must be
methods that are declared in an interface and none of these methods must
override another.protected static MethodDescription of(TypeDescription virtualHost, MethodDescription conflictingMethod, MethodDescription discoveredMethod)
MethodLookupEngine.Default
and assumes
similar properties to the latter classes resolution algorithm:
MethodLookupEngine.ConflictingInterfaceMethod
and is resolved
accordingly. The second argument is however not considered to be a conflicting interface method.virtualHost
- The virtual host which should be used as a declaring class for this virtual method.conflictingMethod
- The method which was already registered when a new method of identical signature
was discovered. This method might itself be a conflicting interface method and is
then resolved for the methods it represents method when processing.discoveredMethod
- The new discovered method. This method must not be a conflicting interface method.public TypeDescription getReturnType()
MethodDescription
public TypeList getParameterTypes()
MethodDescription
public Annotation[][] getParameterAnnotations()
MethodDescription
public TypeList getExceptionTypes()
MethodDescription
public boolean isConstructor()
MethodDescription
true
if this method description represents a constructor.public boolean isTypeInitializer()
MethodDescription
true
if this method description represents a type initializer.public boolean represents(Method method)
MethodDescription
method
- The method to be checked.true
if this method description represents the given loaded method.public boolean represents(Constructor<?> constructor)
MethodDescription
constructor
- The constructor to be checked.true
if this method description represents the given loaded constructor.public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
public Annotation[] getAnnotations()
public Annotation[] getDeclaredAnnotations()
public String getName()
ByteCodeElement
public String getInternalName()
ByteCodeElement
public TypeDescription getDeclaringType()
DeclaredInType
null
if no such type exists.public int getModifiers()
ModifierReviewable
public boolean isSpecializableFor(TypeDescription targetType)
MethodDescription
INVOKESPECIAL
for a given type.isSpecializableFor
in interface MethodDescription
isSpecializableFor
in class MethodDescription.AbstractMethodDescription
targetType
- The type otrue
if this method can be called using the INVOKESPECIAL
instruction
using the given type.Copyright © 2014. All rights reserved.