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, TYPE_INITIALIZER_MODIFIER
EMPTY_NAME
EMPTY_MASK
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.
|
ParameterList |
getParameters()
Returns a list of this method's parameters.
|
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, getSourceCodeName, getStackSize, getUniqueSignature, hashCode, isBootstrap, isBootstrap, isDefaultMethod, isInvokableOn, isMethod, isOverridable, isVisibleTo, toString
isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, 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, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSuper, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatile
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 ParameterList getParameters()
MethodDescription
public TypeList getExceptionTypes()
MethodDescription
public boolean isConstructor()
MethodDescription
isConstructor
in interface MethodDescription
isConstructor
in class MethodDescription.AbstractMethodDescription
true
if this method description represents a constructor.public boolean isTypeInitializer()
MethodDescription
isTypeInitializer
in interface MethodDescription
isTypeInitializer
in class MethodDescription.AbstractMethodDescription
true
if this method description represents a type initializer.public boolean represents(Method method)
MethodDescription
represents
in interface MethodDescription
represents
in class MethodDescription.AbstractMethodDescription
method
- The method to be checked.true
if this method description represents the given loaded method.public boolean represents(Constructor<?> constructor)
MethodDescription
represents
in interface MethodDescription
represents
in class MethodDescription.AbstractMethodDescription
constructor
- The constructor to be checked.true
if this method description represents the given loaded constructor.public AnnotationList getDeclaredAnnotations()
AnnotatedElement
public String getName()
NamedElement
getName
in interface NamedElement
getName
in class MethodDescription.AbstractMethodDescription
public String getInternalName()
NamedElement
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.public Object getDefaultValue()
MethodDescription
null
if no such value exists. The returned values might be
of a different type than usual:
Class
values are represented as
TypeDescription
s.Annotation
values are represented as
AnnotationDescription
sEnum
values are represented as
AnnotationDescription.EnumerationValue
s.null
.Copyright © 2014–2015. All rights reserved.