Package net.bytebuddy.utility
Class JavaConstant.MethodType
java.lang.Object
net.bytebuddy.utility.JavaConstant.MethodType
- All Implemented Interfaces:
ConstantValue
,JavaConstant
- Enclosing interface:
JavaConstant
Represents a
java.lang.invoke.MethodType
object.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interface
A dispatcher for extracting information from ajava.lang.invoke.MethodType
instance.Nested classes/interfaces inherited from interface net.bytebuddy.utility.JavaConstant
JavaConstant.Dynamic, JavaConstant.MethodHandle, JavaConstant.MethodType, JavaConstant.Simple<T>, JavaConstant.Visitor<T>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final JavaConstant.MethodType.Dispatcher
A dispatcher for extracting information from ajava.lang.invoke.MethodType
instance.private final List
<? extends TypeDescription> The parameter types of this method type.private final TypeDescription
The return type of this method type. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
MethodType
(TypeDescription returnType, List<? extends TypeDescription> parameterTypes) Creates a method type for the given types. -
Method Summary
Modifier and TypeMethodDescription<T> T
accept
(JavaConstant.Visitor<T> visitor) Applies the supplied visitor to this constant type with its respective callback.private static <T> T
doPrivileged
(PrivilegedAction<T> action) A proxy forjava.security.AccessController#doPrivileged
that is activated if available.boolean
Returns the method descriptor of this method type representation.Returns the parameter types of this method type.Returns the return type of this method type.Returns a description of the type of this constant.int
hashCode()
static JavaConstant.MethodType
Returns a method type description of the given return type and parameter types.static JavaConstant.MethodType
of
(Constructor<?> constructor) Returns a method type description of the given constructor.static JavaConstant.MethodType
Returns a method type description of the given method.static JavaConstant.MethodType
of
(MethodDescription methodDescription) Returns a method type description of the given method.static JavaConstant.MethodType
of
(TypeDescription returnType, List<? extends TypeDescription> parameterTypes) Returns a method type description of the given return type and parameter types.static JavaConstant.MethodType
of
(TypeDescription returnType, TypeDescription... parameterType) Returns a method type description of the given return type and parameter types.static JavaConstant.MethodType
Resolves an ASMType
of sortType.METHOD
.static JavaConstant.MethodType
ofConstant
(Class<?> type) Returns a method type for the given constant type.static JavaConstant.MethodType
ofConstant
(Object instance) Returns a method type for the given constant.static JavaConstant.MethodType
ofConstant
(TypeDescription typeDescription) Returns a method type for the given constant type.static JavaConstant.MethodType
Returns a method type for a getter of the given field.static JavaConstant.MethodType
ofGetter
(FieldDescription fieldDescription) Returns a method type for a getter of the given field.static JavaConstant.MethodType
Returns a method type representation of a loadedMethodType
object.static JavaConstant.MethodType
Returns a method type for a setter of the given field.static JavaConstant.MethodType
ofSetter
(FieldDescription fieldDescription) Returns a method type for a setter of the given field.static JavaConstant.MethodType
ofSignature
(Constructor<?> constructor) Returns a method type description of the given constructor's signature without considering the constructor's actual stack consumption and production.static JavaConstant.MethodType
ofSignature
(Method method) Returns a method type description of the given method's signature without considering the method's actual stack consumption and production.static JavaConstant.MethodType
ofSignature
(MethodDescription methodDescription) Returns a method type description of the given method's signature without considering the method's actual stack consumption and production.Returns this constant as a Javajava.lang.constant.ConstantDesc
if the current VM is of at least version 12.Returns a stack manipulation loading this value.toString()
-
Field Details
-
DISPATCHER
A dispatcher for extracting information from ajava.lang.invoke.MethodType
instance. -
returnType
The return type of this method type. -
parameterTypes
The parameter types of this method type.
-
-
Constructor Details
-
MethodType
Creates a method type for the given types.- Parameters:
returnType
- The return type of the method type.parameterTypes
- The parameter types of the method type.
-
-
Method Details
-
doPrivileged
A proxy forjava.security.AccessController#doPrivileged
that is activated if available.- Type Parameters:
T
- The type of the action's resolved value.- Parameters:
action
- The action to execute from a privileged context.- Returns:
- The action's resolved value.
-
ofAsm
Resolves an ASMType
of sortType.METHOD
.- Parameters:
typePool
- The type pool to resolve type descriptions with.methodType
- The ASM methodType
to resolve.- Returns:
- An appropriate
JavaConstant.MethodType
.
-
ofLoaded
Returns a method type representation of a loadedMethodType
object.- Parameters:
methodType
- A method type object to represent as aJavaConstant
.- Returns:
- The method type represented as a
JavaConstant.MethodType
.
-
of
Returns a method type description of the given return type and parameter types.- Parameters:
returnType
- The return type to represent.parameterType
- The parameter types to represent.- Returns:
- A method type of the given return type and parameter types.
-
of
public static JavaConstant.MethodType of(TypeDescription returnType, TypeDescription... parameterType) Returns a method type description of the given return type and parameter types.- Parameters:
returnType
- The return type to represent.parameterType
- The parameter types to represent.- Returns:
- A method type of the given return type and parameter types.
-
of
public static JavaConstant.MethodType of(TypeDescription returnType, List<? extends TypeDescription> parameterTypes) Returns a method type description of the given return type and parameter types.- Parameters:
returnType
- The return type to represent.parameterTypes
- The parameter types to represent.- Returns:
- A method type of the given return type and parameter types.
-
of
Returns a method type description of the given method.- Parameters:
method
- The method to extract the method type from.- Returns:
- The method type of the given method.
-
of
Returns a method type description of the given constructor.- Parameters:
constructor
- The constructor to extract the method type from.- Returns:
- The method type of the given constructor.
-
of
Returns a method type description of the given method.- Parameters:
methodDescription
- The method to extract the method type from.- Returns:
- The method type of the given method.
-
ofSignature
Returns a method type description of the given method's signature without considering the method's actual stack consumption and production.- Parameters:
method
- The method to extract the method type from.- Returns:
- The method type of the given method's signature.
-
ofSignature
Returns a method type description of the given constructor's signature without considering the constructor's actual stack consumption and production.- Parameters:
constructor
- The constructor to extract the method type from.- Returns:
- The method type of the given method's signature.
-
ofSignature
Returns a method type description of the given method's signature without considering the method's actual stack consumption and production.- Parameters:
methodDescription
- The method to extract the method type from.- Returns:
- The method type of the given method's signature.
-
ofSetter
Returns a method type for a setter of the given field.- Parameters:
field
- The field to extract a setter type for.- Returns:
- The type of a setter for the given field.
-
ofSetter
Returns a method type for a setter of the given field.- Parameters:
fieldDescription
- The field to extract a setter type for.- Returns:
- The type of a setter for the given field.
-
ofGetter
Returns a method type for a getter of the given field.- Parameters:
field
- The field to extract a getter type for.- Returns:
- The type of a getter for the given field.
-
ofGetter
Returns a method type for a getter of the given field.- Parameters:
fieldDescription
- The field to extract a getter type for.- Returns:
- The type of a getter for the given field.
-
ofConstant
Returns a method type for the given constant.- Parameters:
instance
- The constant for which a constant method type should be created.- Returns:
- A method type for the given constant.
-
ofConstant
Returns a method type for the given constant type.- Parameters:
type
- The constant type for which a constant method type should be created.- Returns:
- A method type for the given constant type.
-
ofConstant
Returns a method type for the given constant type.- Parameters:
typeDescription
- The constant type for which a constant method type should be created.- Returns:
- A method type for the given constant type.
-
getReturnType
Returns the return type of this method type.- Returns:
- The return type of this method type.
-
getParameterTypes
Returns the parameter types of this method type.- Returns:
- The parameter types of this method type.
-
getDescriptor
Returns the method descriptor of this method type representation.- Returns:
- The method descriptor of this method type representation.
-
toDescription
Returns this constant as a Javajava.lang.constant.ConstantDesc
if the current VM is of at least version 12. If the current VM is of an older version and does not support the type, an exception is thrown.- Specified by:
toDescription
in interfaceJavaConstant
- Returns:
- This constant as a Java
java.lang.constant.ConstantDesc
.
-
accept
Applies the supplied visitor to this constant type with its respective callback.- Specified by:
accept
in interfaceJavaConstant
- Type Parameters:
T
- The type of the value that is returned by the visitor.- Parameters:
visitor
- The visitor to dispatch.- Returns:
- The value that is returned by the supplied visitor.
-
getTypeDescription
Returns a description of the type of this constant.- Specified by:
getTypeDescription
in interfaceConstantValue
- Returns:
- A description of the type of this constant.
-
toStackManipulation
Returns a stack manipulation loading this value.- Specified by:
toStackManipulation
in interfaceConstantValue
- Returns:
- A stack manipulation loading this value.
-
hashCode
public int hashCode() -
equals
-
toString
-