# Uses of Interface
java.lang.invoke.TypeDescriptor

Packages that use TypeDescriptor
Package
Description
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.constant
Classes and interfaces to represent nominal descriptors for run-time entities such as classes or method handles, and classfile entities such as constant pool entries or `invokedynamic` call sites.
java.lang.invoke
The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.
java.lang.runtime
The `java.lang.runtime` package provides low-level runtime support for the Java language.

## Uses of TypeDescriptor in java.lang

Classes in java.lang that implement TypeDescriptor
Modifier and Type
Class
Description
`final class`
`Class<T>`
Instances of the class `Class` represent classes and interfaces in a running Java application.

## Uses of TypeDescriptor in java.lang.constant

Subinterfaces of TypeDescriptor in java.lang.constant
Modifier and Type
Interface
Description
`interface`
`ClassDesc`
A nominal descriptor for a `Class` constant.
`interface`
`MethodTypeDesc`
A nominal descriptor for a MethodType constant.

## Uses of TypeDescriptor in java.lang.invoke

Subinterfaces of TypeDescriptor in java.lang.invoke
Modifier and Type
Interface
Description
`static interface`
`TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>`
An entity that has a field type descriptor.
`static interface`
`TypeDescriptor.OfMethod<F extends TypeDescriptor.OfField<F>, M extends TypeDescriptor.OfMethod<F,M>>`
An entity that has a method type descriptor Method descriptors conforming to JVMS 4.3.3 can be described nominally via `MethodType::describeConstable`; otherwise they cannot be described nominally.
Classes in java.lang.invoke that implement TypeDescriptor
Modifier and Type
Class
Description
`final class`
`MethodType`
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.

## Uses of TypeDescriptor in java.lang.runtime

Methods in java.lang.runtime with parameters of type TypeDescriptor
Modifier and Type
Method
Description
`static Object`
ObjectMethods.`bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type, Class<?> recordClass, String names, MethodHandle... getters)`
Bootstrap method to generate the `Object.equals(Object)`, `Object.hashCode()`, and `Object.toString()` methods, based on a description of the component names and accessor methods, for either `invokedynamic` call sites or dynamic constant pool entries.