Class MethodDescription.Latent

All Implemented Interfaces:
AnnotationSource, ByteCodeElement, ByteCodeElement.Member, ByteCodeElement.TypeDependant<MethodDescription.InDefinedShape,MethodDescription.Token>, DeclaredByType, DeclaredByType.WithMandatoryDeclaration, MethodDescription, MethodDescription.InDefinedShape, ModifierReviewable, ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration, NamedElement, NamedElement.WithDescriptor, NamedElement.WithGenericName, NamedElement.WithRuntimeName, TypeVariableSource
Enclosing interface:
MethodDescription

public static class MethodDescription.Latent extends MethodDescription.InDefinedShape.AbstractBase
A latent method description describes a method that is not attached to a declaring TypeDescription.
  • Field Details

    • declaringType

      private final TypeDescription declaringType
      The type that is declaring this method.
    • internalName

      private final String internalName
      The internal name of this method.
    • modifiers

      private final int modifiers
      The modifiers of this method.
    • typeVariables

      private final List<? extends TypeVariableToken> typeVariables
      A tokenized list representing the method's type variables.
    • returnType

      private final TypeDescription.Generic returnType
      The return type of this method.
    • parameterTokens

      private final List<? extends ParameterDescription.Token> parameterTokens
      The parameter tokens describing this method.
    • exceptionTypes

      private final List<? extends TypeDescription.Generic> exceptionTypes
      This method's exception types.
    • declaredAnnotations

      private final List<? extends AnnotationDescription> declaredAnnotations
      The annotations of this method.
    • defaultValue

      @MaybeNull private final AnnotationValue<?,?> defaultValue
      The default value of this method or null if no default annotation value is defined.
    • receiverType

      @MaybeNull private final TypeDescription.Generic receiverType
      The receiver type of this method or null if the receiver type is defined implicitly.
  • Constructor Details

    • Latent

      public Latent(TypeDescription declaringType, MethodDescription.Token token)
      Creates a new latent method description. All provided types are attached to this instance before they are returned.
      Parameters:
      declaringType - The declaring type of the method.
      token - A token representing the method's shape.
    • Latent

      public Latent(TypeDescription declaringType, String internalName, int modifiers, List<? extends TypeVariableToken> typeVariables, TypeDescription.Generic returnType, List<? extends ParameterDescription.Token> parameterTokens, List<? extends TypeDescription.Generic> exceptionTypes, List<? extends AnnotationDescription> declaredAnnotations, @MaybeNull AnnotationValue<?,?> defaultValue, @MaybeNull TypeDescription.Generic receiverType)
      Creates a new latent method description. All provided types are attached to this instance before they are returned.
      Parameters:
      declaringType - The type that is declaring this method.
      internalName - The internal name of this method.
      modifiers - The modifiers of this method.
      typeVariables - The type variables of the described method.
      returnType - The return type of this method.
      parameterTokens - The parameter tokens describing this method.
      exceptionTypes - This method's exception types.
      declaredAnnotations - The annotations of this method.
      defaultValue - The default value of this method or null if no default annotation value is defined.
      receiverType - The receiver type of this method or null if the receiver type is defined implicitly.
  • Method Details

    • getTypeVariables

      public TypeList.Generic getTypeVariables()
      Returns the type variables that are declared by this element.
      Returns:
      The type variables that are declared by this element.
    • getReturnType

      public TypeDescription.Generic getReturnType()
      Returns the return type of the described method.
      Returns:
      The return type of the described method.
    • getParameters

      Returns a list of this method's parameters.
      Returns:
      A list of this method's parameters.
    • getExceptionTypes

      public TypeList.Generic getExceptionTypes()
      Returns the exception types of the described method.
      Returns:
      The exception types of the described method.
    • getDeclaredAnnotations

      public AnnotationList getDeclaredAnnotations()
      Returns a list of annotations that are declared by this instance.
      Returns:
      A list of declared annotations.
    • getInternalName

      public String getInternalName()
      Returns the internal name of this byte code element. If no well-defined internal name is known for this element, the actual name is returned.
      Returns:
      The internal name of this byte code element as used within the Java class file format.
    • getDeclaringType

      @Nonnull public TypeDescription getDeclaringType()
      Returns the declaring type of this instance.
      Returns:
      The declaring type or null if no such type exists.
    • getModifiers

      public int getModifiers()
      Returns the modifier that is described by this object.
      Returns:
      The modifier that is described by this object.
    • getDefaultValue

      @MaybeNull public AnnotationValue<?,?> getDefaultValue()
      Returns the method's default annotation value or null if no default value is defined for this method.
      Returns:
      The method's default annotation value or null if no default value is defined for this method.
    • getReceiverType

      @MaybeNull public TypeDescription.Generic getReceiverType()
      Returns this methods receiver type. A receiver type is undefined for static methods where null is returned. Other than a receiver type that is provided by the Java reflection API, Byte Buddy is capable of extracting annotations on type parameters of receiver types when directly accessing a class file. Therefore, a receiver type might be parameterized.
      Specified by:
      getReceiverType in interface MethodDescription
      Overrides:
      getReceiverType in class MethodDescription.InDefinedShape.AbstractBase
      Returns:
      This method's (annotated) receiver type.