public interface MethodDescription extends ByteCodeElement
equal(Object)
and hashCode()
implementations.Modifier and Type | Interface and Description |
---|---|
static class |
MethodDescription.AbstractMethodDescription
An abstract base implementation of a method description.
|
static class |
MethodDescription.ForLoadedConstructor
An implementation of a method description for a loaded constructor.
|
static class |
MethodDescription.ForLoadedMethod
An implementation of a method description for a loaded method.
|
static class |
MethodDescription.Latent
A latent method description describes a method that is not attached to a declaring
TypeDescription . |
ModifierReviewable.AbstractModifierReviewable
Modifier and Type | Field and Description |
---|---|
static String |
CONSTRUCTOR_INTERNAL_NAME
The internal name of a Java constructor.
|
static String |
TYPE_INITIALIZER_INTERNAL_NAME
The internal name of a Java static initializer.
|
static int |
TYPE_INITIALIZER_MODIFIER
The type initializer of any representation of a type initializer.
|
EMPTY_NAME
EMPTY_MASK
Modifier and Type | Method and Description |
---|---|
int |
getAdjustedModifiers(boolean nonAbstract)
Returns this method modifier but adjusts its state of being abstract.
|
Object |
getDefaultValue()
Returns the default value of this method or
null if no such value exists. |
<T> T |
getDefaultValue(Class<T> type)
Returns the default value but casts it to the given type.
|
TypeList |
getExceptionTypes()
Returns a description of the exception types of the method described by this instance.
|
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.
|
int |
getStackSize()
Returns the size of the local variable array that is required for this method, i.e.
|
String |
getUniqueSignature()
Returns the unique signature of a byte code method.
|
boolean |
isBootstrap()
Checks if the method is a bootstrap method.
|
boolean |
isBootstrap(List<?> arguments)
Checks if the method is a bootstrap method that accepts the given arguments.
|
boolean |
isConstructor()
Checks if this method description represents a constructor.
|
boolean |
isDefaultMethod()
Checks if this method represents a Java 8+ default method.
|
boolean |
isDefaultValue()
Checks if this method is capable of defining a default annotation value.
|
boolean |
isDefaultValue(Object value)
Checks if the given value can describe a default annotation value for this method.
|
boolean |
isInvokableOn(TypeDescription typeDescription)
Asserts if this method is invokable on an instance of the given type, i.e.
|
boolean |
isMethod()
Checks if this method description represents a method, i.e.
|
boolean |
isOverridable()
Verifies if this method description represents an overridable method.
|
boolean |
isSpecializableFor(TypeDescription typeDescription)
Checks if this method can be called using the
INVOKESPECIAL for a given type. |
boolean |
isTypeInitializer()
Checks if this method is a type initializer.
|
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.
|
getDescriptor, getGenericSignature, isVisibleTo
getInternalName, getName, getSourceCodeName
getModifiers, isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSuper, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatile
getDeclaringType
getDeclaredAnnotations
static final String CONSTRUCTOR_INTERNAL_NAME
static final String TYPE_INITIALIZER_INTERNAL_NAME
static final int TYPE_INITIALIZER_MODIFIER
TypeDescription getReturnType()
ParameterList getParameters()
TypeList getExceptionTypes()
int getAdjustedModifiers(boolean nonAbstract)
nonAbstract
- true
if the method should be treated as non-abstract.boolean isConstructor()
true
if this method description represents a constructor.boolean isMethod()
true
if this method description represents a method.boolean isTypeInitializer()
true
if this method description represents a type initializer.boolean represents(Method method)
method
- The method to be checked.true
if this method description represents the given loaded method.boolean represents(Constructor<?> constructor)
constructor
- The constructor to be checked.true
if this method description represents the given loaded constructor.boolean isOverridable()
true
if this method description represents an overridable method.int getStackSize()
this
if this method represented a non-static
method.boolean isDefaultMethod()
true
if this method is a default method.boolean isSpecializableFor(TypeDescription typeDescription)
INVOKESPECIAL
for a given type.typeDescription
- The type otrue
if this method can be called using the INVOKESPECIAL
instruction
using the given type.String getUniqueSignature()
Object getDefaultValue()
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
EnumerationDescription
s.null
.<T> T getDefaultValue(Class<T> type)
ClassCastException
is thrown.T
- The type to cast the default value to.type
- The type to cast the default value to.boolean isInvokableOn(TypeDescription typeDescription)
typeDescription
- The type to check.true
if this method is invokable on an instance of the given type.boolean isBootstrap()
true
if the method is a bootstrap method.boolean isBootstrap(List<?> arguments)
arguments
- The arguments that the bootstrap method is expected to accept where primitive values
are to be represented as their wrapper types, loaded types by TypeDescription
,
method handles by JavaInstance.MethodHandle
instances and
method types by JavaInstance.MethodType
instances.true
if the method is a bootstrap method that accepts the given arguments.boolean isDefaultValue()
true
if it is possible to define a default annotation value for this method.boolean isDefaultValue(Object value)
value
- The value that describes the default annotation value for this method.true
if the given value can describe a default annotation value for this method.Copyright © 2014–2015. All rights reserved.