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.LatentModifierReviewable.AbstractModifierReviewableCONSTRUCTOR_INTERNAL_NAME, TYPE_INITIALIZER_INTERNAL_NAME, TYPE_INITIALIZER_MODIFIER| Modifier | Constructor and Description |
|---|---|
protected |
ConflictingInterfaceMethod(TypeDescription virtualHost,
List<MethodDescription> methodDescriptions)
Creates a new conflicting interface method.
|
| Modifier and Type | Method and Description |
|---|---|
AnnotationList |
getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.
|
TypeDescription |
getDeclaringType()
Returns the declaring type of this instance.
|
Object |
getDefaultValue()
Returns the default value of this method or
null if no such value exists. |
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.
|
List<AnnotationList> |
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 |
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.
|
equals, getAdjustedModifiers, getDefaultValue, getDescriptor, getGenericSignature, getParameterOffset, getSourceCodeName, getStackSize, getUniqueSignature, hashCode, isDefaultMethod, isMethod, isOverridable, isVisibleTo, toStringisAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSuper, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatileclone, finalize, getClass, notify, notifyAll, wait, wait, waitisAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSuper, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatileprotected 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()
MethodDescriptionpublic TypeList getParameterTypes()
MethodDescriptionpublic TypeList getExceptionTypes()
MethodDescriptionpublic boolean isConstructor()
MethodDescriptiontrue if this method description represents a constructor.public boolean isTypeInitializer()
MethodDescriptiontrue if this method description represents a type initializer.public boolean represents(Method method)
MethodDescriptionmethod - The method to be checked.true if this method description represents the given loaded method.public boolean represents(Constructor<?> constructor)
MethodDescriptionconstructor - The constructor to be checked.true if this method description represents the given loaded constructor.public List<AnnotationList> getParameterAnnotations()
MethodDescriptionpublic AnnotationList getDeclaredAnnotations()
AnnotatedElementpublic String getName()
NamedElementgetName in interface NamedElementgetName in class MethodDescription.AbstractMethodDescriptionpublic String getInternalName()
ByteCodeElementpublic TypeDescription getDeclaringType()
DeclaredInTypenull if no such type exists.public int getModifiers()
ModifierReviewablepublic boolean isSpecializableFor(TypeDescription targetType)
MethodDescriptionINVOKESPECIAL for a given type.isSpecializableFor in interface MethodDescriptionisSpecializableFor in class MethodDescription.AbstractMethodDescriptiontargetType - The type otrue if this method can be called using the INVOKESPECIAL instruction
using the given type.public Object getDefaultValue()
MethodDescriptionnull if no such value exists. The returned values might be
of a different type than usual:
Class values are represented as
TypeDescriptions.Annotation values are represented as
AnnotationDescriptionsEnum values are represented as
AnnotationDescription.EnumerationValues.null.Copyright © 2014. All rights reserved.