# 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.
jdk.jshell
Provides interfaces for creating tools, such as a Read-Eval-Print Loop (REPL), which interactively evaluate "snippets" of Java programming language code.

- ## 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`
  DocTrees.`getType(DocTreePath path)`
  Returns the language model type referred to by the leaf node of the given `DocTreePath`, or `null` if unknown.
  `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`
  RecordComponentElement.`asType()`
  Returns the type of this record component.
  `TypeMirror`
  TypeElement.`asType()`
  Returns the type defined by this class or interface 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 class or interface 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.
  `default List<? extends TypeMirror>`
  TypeElement.`getPermittedSubclasses()`
  Returns the permitted classes of this class or interface element in declaration order.
  `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()`
  Returns the alternatives comprising this union type.
  `List<? extends TypeMirror>`
  IntersectionType.`getBounds()`
  Returns 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
  Modifier
  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
  Modifier
  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 with type parameters of type TypeMirror
  Modifier and Type
  Method
  Description
  `default <T extends TypeMirror>
  T`
  Types.`stripAnnotations(T t)`
  Returns a type mirror equivalent to the argument, but with no annotations.
  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 t, 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.
  `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.
  `final 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.
  `final 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.

- ## Uses of TypeMirror in jdk.jshell

  Methods in jdk.jshell that return TypeMirror
  Modifier and Type
  Method
  Description
  `TypeMirror`
  SourceCodeAnalysis.CompletionState.`selectorType()`
  Returns if the context is a qualified expression (i.e. `SourceCodeAnalysis.CompletionContext.QUALIFIED` is set), the type of the selector expression; `null` otherwise..