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_NAMEEMPTY_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, isVisibleTogetInternalName, getName, getSourceCodeNamegetModifiers, isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSuper, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatilegetDeclaringTypegetDeclaredAnnotationsstatic 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
TypeDescriptions.Annotation values are represented as
AnnotationDescriptionsEnum values are represented as
EnumerationDescriptions.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.