NoType.java revision 3940:23f90afa1006
14Srgrimes/*
24Srgrimes * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
34Srgrimes * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44Srgrimes *
54Srgrimes * This code is free software; you can redistribute it and/or modify it
64Srgrimes * under the terms of the GNU General Public License version 2 only, as
74Srgrimes * published by the Free Software Foundation.  Oracle designates this
84Srgrimes * particular file as subject to the "Classpath" exception as provided
94Srgrimes * by Oracle in the LICENSE file that accompanied this code.
104Srgrimes *
114Srgrimes * This code is distributed in the hope that it will be useful, but WITHOUT
124Srgrimes * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
134Srgrimes * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
144Srgrimes * version 2 for more details (a copy is included in the LICENSE file that
154Srgrimes * accompanied this code).
164Srgrimes *
174Srgrimes * You should have received a copy of the GNU General Public License version
184Srgrimes * 2 along with this work; if not, write to the Free Software Foundation,
194Srgrimes * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
204Srgrimes *
214Srgrimes * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
224Srgrimes * or visit www.oracle.com if you need additional information or have any
234Srgrimes * questions.
244Srgrimes */
254Srgrimes
264Srgrimespackage javax.lang.model.type;
274Srgrimes
284Srgrimesimport javax.lang.model.element.ExecutableElement;
294Srgrimes
304Srgrimes
314Srgrimes/**
32557Srgrimes * A pseudo-type used where no actual type is appropriate.
3350477Speter * The kinds of {@code NoType} are:
344Srgrimes * <ul>
354Srgrimes * <li>{@link TypeKind#VOID VOID} - corresponds to the keyword {@code void}.
36719Swollman * <li>{@link TypeKind#PACKAGE PACKAGE} - the pseudo-type of a package element.
372866Sbde * <li>{@link TypeKind#MODULE MODULE} - the pseudo-type of a module element.
38719Swollman * <li>{@link TypeKind#NONE NONE} - used in other cases
394Srgrimes *   where no actual type is appropriate; for example, the superclass
404Srgrimes *   of {@code java.lang.Object}.
414Srgrimes * </ul>
4227993Sdyson *
432056Swollman * @author Joseph D. Darcy
442056Swollman * @author Scott Seligman
454Srgrimes * @author Peter von der Ah&eacute;
464Srgrimes * @see ExecutableElement#getReturnType()
47133084Smux * @since 1.6
4883366Sjulian */
49133084Smux
50133084Smuxpublic interface NoType extends TypeMirror {
514Srgrimes}
5272276Sjhb