--- old/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java 2019-05-28 13:22:30.924597999 -0700 +++ new/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java 2019-05-28 13:22:30.612753999 -0700 @@ -60,6 +60,25 @@ */ public interface TypeElement extends Element, Parameterizable, QualifiedNameable { /** + * Returns the type defined by this type element, returning the + * prototypical type for an element representing a generic type. + * + *

A generic element defines a family of types, not just one. + * If this is a generic element, a prototypical type is + * returned which has the element's invocation on the + * type variables corresponding to its own formal type parameters. + * For example, + * for the generic class element {@code C}, + * the parameterized type {@code C} is returned. + * The {@link Types} utility interface has more general methods + * for obtaining the full range of types defined by an element. + * + * @return the type defined by this type element + */ + @Override + TypeMirror asType(); + + /** * Returns the fields, methods, constructors, and member types * that are directly declared in this class or interface. *