ExecutableType (Java SE 26 & JDK 26)
Description: declaration: module: java.compiler, package: javax.lang.model.type, interface: ExecutableType
Keywords: javax.lang.model.type.ExecutableType interface

# Interface ExecutableType

All Superinterfaces:
  `AnnotatedConstruct, TypeMirror`

public interface ExecutableType extends TypeMirror
Represents the type of an executable. An executable is a method, constructor, or initializer.

The executable is represented as when viewed as a method (or constructor or initializer) of some reference type. If that reference type is parameterized, then its actual type arguments are substituted into any types returned by the methods of this interface.

Since:
  1.6
See Also:
  - `ExecutableElement`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<? extends TypeMirror>`
  `getParameterTypes()`
  Returns the types of this executable's formal parameters.
  `TypeMirror`
  `getReceiverType()`
  Returns the receiver type of this executable, or `NoType` with kind `NONE` if the executable has no receiver type.
  `TypeMirror`
  `getReturnType()`
  Returns the return type of this executable.
  `List<? extends TypeMirror>`
  `getThrownTypes()`
  Returns the exceptions and other throwables listed in this executable's `throws` clause.
  `List<? extends TypeVariable>`
  `getTypeVariables()`
  Returns the type variables declared by the formal type parameters of this executable.

  ### Methods declared in interface TypeMirror

  `accept, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, hashCode, toString`
  Modifier and Type
  Method
  Description
  `<R,P> R`
  `accept(TypeVisitor<R,P> v, P p)`
  Applies a visitor to this type.
  `boolean`
  `equals(Object obj)`
  Obeys the general contract of `Object.equals`.
  `<A extends Annotation>
  A`
  `getAnnotation(Class<A> annotationType)`
  Returns this construct's annotation of the specified type if such an annotation is present, else `null`.
  `List<? extends AnnotationMirror>`
  `getAnnotationMirrors()`
  Returns the annotations that are directly present on this construct.
  `<A extends Annotation>
  A[]`
  `getAnnotationsByType(Class<A> annotationType)`
  Returns annotations of the specified type that are associated with this construct.
  `TypeKind`
  `getKind()`
  Returns the `kind` of this type.
  `int`
  `hashCode()`
  Obeys the general contract of `Object.hashCode`.
  `String`
  `toString()`
  Returns an informative string representation of this type.

- ## Method Details

  - ### getTypeVariables

    List<? extends TypeVariable> getTypeVariables()
    Returns the type variables declared by the formal type parameters of this executable.
    Returns:
      the type variables declared by the formal type parameters, or an empty list if there are none

  - ### getReturnType

    TypeMirror getReturnType()
    Returns the return type of this executable. Returns a `NoType` with kind `VOID` if this executable is not a method, or is a method that does not return a value.
    Returns:
      the return type of this executable

  - ### getParameterTypes

    List<? extends TypeMirror> getParameterTypes()
    Returns the types of this executable's formal parameters.
    Returns:
      the types of this executable's formal parameters, or an empty list if there are none

  - ### getReceiverType

    TypeMirror getReceiverType()
    Returns the receiver type of this executable, or `NoType` with kind `NONE` if the executable has no receiver type. An executable which is an instance method, or a constructor of an inner class, has a receiver type derived from the declaring type. An executable which is a static method, or a constructor of a non-inner class, or an initializer (static or instance), has no receiver type.
    Returns:
      the receiver type of this executable
    See Java Language Specification:
      8.4 Method Declarations
      8.4.1 Formal Parameters
      8.8 Constructor Declarations
    Since:
      1.8

  - ### getThrownTypes

    List<? extends TypeMirror> getThrownTypes()
    Returns the exceptions and other throwables listed in this executable's `throws` clause.
    Returns:
      the exceptions and other throwables listed in this executable's `throws` clause, or an empty list if there are none.