# Uses of Interface
javax.lang.model.type.TypeMirror

Packages that use TypeMirror
Package | Description
--- | ---
com.sun.source.util | Provides utilities for operations on abstract syntax trees (AST).
javax.lang.model.element | Interfaces used to model elements of the Java programming language.
javax.lang.model.type | Interfaces used to model Java programming language types.
javax.lang.model.util | Utilities to assist in the processing of program elements and types.

## Uses of TypeMirror in com.sun.source.util

Methods in com.sun.source.util that return TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`abstract TypeMirror` | Trees.`getLub​(CatchTree tree)` | Returns the lub of an exception parameter declared in a catch clause.
`abstract TypeMirror` | Trees.`getOriginalType​(ErrorType errorType)` | Returns the original type from the ErrorType object.
`abstract TypeMirror` | JavacTask.`getTypeMirror​(Iterable<? extends Tree> path)` | Returns a type mirror of the tree node determined by the specified path.
`abstract TypeMirror` | Trees.`getTypeMirror​(TreePath path)` | Returns the TypeMirror for the Tree node identified by a given TreePath.

## Uses of TypeMirror in javax.lang.model.element

Methods in javax.lang.model.element that return TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`TypeMirror` | Element.`asType()` | Returns the type defined by this element.
`TypeMirror` | ExecutableElement.`asType()` | Returns the executable type defined by this executable element.
`TypeMirror` | ModuleElement.`asType()` | Returns a pseudo-type for this module.
`TypeMirror` | PackageElement.`asType()` | Returns a pseudo-type for this package.
`TypeMirror` | TypeElement.`asType()` | Returns the type defined by this type element, returning the prototypical type for an element representing a generic type.
`TypeMirror` | TypeParameterElement.`asType()` | Returns the type variable corresponding to this type parameter element.
`TypeMirror` | VariableElement.`asType()` | Returns the type of this variable.
`TypeMirror` | ExecutableElement.`getReceiverType()` | Returns the receiver type of this executable, or `NoType` with kind `NONE` if the executable has no receiver type.
`TypeMirror` | ExecutableElement.`getReturnType()` | Returns the return type of this executable.
`TypeMirror` | TypeElement.`getSuperclass()` | Returns the direct superclass of this type element.

Methods in javax.lang.model.element that return types with arguments of type TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`List<? extends TypeMirror>` | TypeParameterElement.`getBounds()` | Returns the bounds of this type parameter.
`List<? extends TypeMirror>` | TypeElement.`getInterfaces()` | Returns the interface types directly implemented by this class or extended by this interface.
`List<? extends TypeMirror>` | ExecutableElement.`getThrownTypes()` | Returns the exceptions and other throwables listed in this method or constructor's `throws` clause in declaration order.

Methods in javax.lang.model.element with parameters of type TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`R` | AnnotationValueVisitor.`visitType​(TypeMirror t, P p)` | Visits a type value in an annotation.

## Uses of TypeMirror in javax.lang.model.type

Subinterfaces of TypeMirror in javax.lang.model.type
Modifier and Type | Interface | Description
--- | --- | ---
`interface` | `ArrayType` | Represents an array type.
`interface` | `DeclaredType` | Represents a declared type, either a class type or an interface type.
`interface` | `ErrorType` | Represents a class or interface type that cannot be properly modeled.
`interface` | `ExecutableType` | Represents the type of an executable.
`interface` | `IntersectionType` | Represents an intersection type.
`interface` | `NoType` | A pseudo-type used where no actual type is appropriate.
`interface` | `NullType` | Represents the null type.
`interface` | `PrimitiveType` | Represents a primitive type.
`interface` | `ReferenceType` | Represents a reference type.
`interface` | `TypeVariable` | Represents a type variable.
`interface` | `UnionType` | Represents a union type.
`interface` | `WildcardType` | Represents a wildcard type argument.

Methods in javax.lang.model.type that return TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`TypeMirror` | ArrayType.`getComponentType()` | Returns the component type of this array type.
`TypeMirror` | DeclaredType.`getEnclosingType()` | Returns the type of the innermost enclosing instance or a `NoType` of kind `NONE` if there is no enclosing instance.
`TypeMirror` | WildcardType.`getExtendsBound()` | Returns the upper bound of this wildcard.
`TypeMirror` | TypeVariable.`getLowerBound()` | Returns the lower bound of this type variable.
`TypeMirror` | ExecutableType.`getReceiverType()` | Returns the receiver type of this executable, or `NoType` with kind `NONE` if the executable has no receiver type.
`TypeMirror` | ExecutableType.`getReturnType()` | Returns the return type of this executable.
`TypeMirror` | WildcardType.`getSuperBound()` | Returns the lower bound of this wildcard.
`TypeMirror` | MirroredTypeException.`getTypeMirror()` | Returns the type mirror corresponding to the type being accessed.
`TypeMirror` | UnknownTypeException.`getUnknownType()` | Returns the unknown type.
`TypeMirror` | TypeVariable.`getUpperBound()` | Returns the upper bound of this type variable.

Methods in javax.lang.model.type that return types with arguments of type TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`List<? extends TypeMirror>` | UnionType.`getAlternatives()` | Return the alternatives comprising this union type.
`List<? extends TypeMirror>` | IntersectionType.`getBounds()` | Return the bounds comprising this intersection type.
`List<? extends TypeMirror>` | ExecutableType.`getParameterTypes()` | Returns the types of this executable's formal parameters.
`List<? extends TypeMirror>` | ExecutableType.`getThrownTypes()` | Returns the exceptions and other throwables listed in this executable's `throws` clause.
`List<? extends TypeMirror>` | DeclaredType.`getTypeArguments()` | Returns the actual type arguments of this type.
`List<? extends TypeMirror>` | MirroredTypesException.`getTypeMirrors()` | Returns the type mirrors corresponding to the types being accessed.

Methods in javax.lang.model.type with parameters of type TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`default R` | TypeVisitor.`visit​(TypeMirror t)` | A convenience method equivalent to `visit(t, null)`.
`R` | TypeVisitor.`visit​(TypeMirror t, P p)` | Visits a type.
`R` | TypeVisitor.`visitUnknown​(TypeMirror t, P p)` | Visits an unknown kind of type.

Constructors in javax.lang.model.type with parameters of type TypeMirror
Constructor | Description
--- | ---
`MirroredTypeException​(TypeMirror type)` | Constructs a new MirroredTypeException for the specified type.
`UnknownTypeException​(TypeMirror t, Object p)` | Creates a new `UnknownTypeException`.The `p` parameter may be used to pass in an additional argument with information about the context in which the unknown type was encountered; for example, the visit methods of `TypeVisitor` may pass in their additional parameter.

Constructor parameters in javax.lang.model.type with type arguments of type TypeMirror
Constructor | Description
--- | ---
`MirroredTypesException​(List<? extends TypeMirror> types)` | Constructs a new MirroredTypesException for the specified types.

## Uses of TypeMirror in javax.lang.model.util

Methods in javax.lang.model.util that return TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`TypeMirror` | Types.`asMemberOf​(DeclaredType containing, Element element)` | Returns the type of an element when that element is viewed as a member of, or otherwise directly contained by, a given type.
`TypeMirror` | Types.`capture​(TypeMirror t)` | Applies capture conversion to a type.
`TypeMirror` | Types.`erasure​(TypeMirror t)` | Returns the erasure of a type.

Methods in javax.lang.model.util that return types with arguments of type TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`List<? extends TypeMirror>` | Types.`directSupertypes​(TypeMirror t)` | Returns the direct supertypes of a type.

Methods in javax.lang.model.util with parameters of type TypeMirror
Modifier and Type | Method | Description
--- | --- | ---
`Element` | Types.`asElement​(TypeMirror t)` | Returns the element corresponding to a type.
`TypeMirror` | Types.`capture​(TypeMirror t)` | Applies capture conversion to a type.
`boolean` | Types.`contains​(TypeMirror t1, TypeMirror t2)` | Tests whether one type argument contains another.
`protected R` | SimpleTypeVisitor6.`defaultAction​(TypeMirror e, P p)` | The default action for visit methods.
`List<? extends TypeMirror>` | Types.`directSupertypes​(TypeMirror t)` | Returns the direct supertypes of a type.
`TypeMirror` | Types.`erasure​(TypeMirror t)` | Returns the erasure of a type.
`ArrayType` | Types.`getArrayType​(TypeMirror componentType)` | Returns an array type with the specified component type.
`DeclaredType` | Types.`getDeclaredType​(TypeElement typeElem, TypeMirror... typeArgs)` | Returns the type corresponding to a type element and actual type arguments.
`DeclaredType` | Types.`getDeclaredType​(DeclaredType containing, TypeElement typeElem, TypeMirror... typeArgs)` | Returns the type corresponding to a type element and actual type arguments, given a containing type of which it is a member.
`WildcardType` | Types.`getWildcardType​(TypeMirror extendsBound, TypeMirror superBound)` | Returns a new wildcard type argument.
`boolean` | Types.`isAssignable​(TypeMirror t1, TypeMirror t2)` | Tests whether one type is assignable to another.
`boolean` | Types.`isSameType​(TypeMirror t1, TypeMirror t2)` | Tests whether two `TypeMirror` objects represent the same type.
`boolean` | Types.`isSubtype​(TypeMirror t1, TypeMirror t2)` | Tests whether one type is a subtype of another.
`PrimitiveType` | Types.`unboxedType​(TypeMirror t)` | Returns the type (a primitive type) of unboxed values of a given type.
`R` | AbstractTypeVisitor6.`visit​(TypeMirror t)` | Visits any type mirror as if by passing itself to that type mirror's `accept` method and passing `null` for the additional parameter.
`R` | AbstractTypeVisitor6.`visit​(TypeMirror t, P p)` | Visits any type mirror as if by passing itself to that type mirror's `accept` method.
`R` | SimpleAnnotationValueVisitor6.`visitType​(TypeMirror t, P p)` | Visits a type value in an annotation.
`R` | AbstractTypeVisitor6.`visitUnknown​(TypeMirror t, P p)` | Visits an unknown kind of type.