All Downloads are FREE. Search and download functionalities are using the official Maven repository.

framework.src.org.checkerframework.qualframework.util.ExtendedExecutableType Maven / Gradle / Ivy

package org.checkerframework.qualframework.util;

import java.util.List;
import javax.lang.model.element.ExecutableElement;

/** {@link ExtendedTypeMirror} variant for {@link javax.lang.model.type.ExecutableType}. */
public interface ExtendedExecutableType extends ExtendedTypeMirror {
    /** Returns the element corresponding to this type. */
    ExecutableElement asElement();

    /** Returns the types of this executable's formal parameters. */
    List getParameterTypes();

    /**
     * Returns the receiver type of this executable, or {@link ExtendedNoType}
     * with kind NONE if the executable has no receiver type. An
     * executable which is an instance method, or a constructor of an inner
     * class, has a receiver type derived from the declaring type. An
     * executable which is a static method, or a constructor of a non-inner
     * class, or an initializer (static or instance), has no receiver type.
     */
    ExtendedTypeMirror getReceiverType();

    /**
     * Returns the return type of this executable. Returns an {@link
     * ExtendedNoType} with kind VOID if this executable is a
     * method that does not return a value.  Unlike
     * ExecutableType.getReturnType, calling this method on the
     * type of a constructor returns the type of the object to be constructed.
     */
    ExtendedTypeMirror getReturnType();

    /** Returns the exceptions and other throwables listed in this executable's
     * throws clause. */
    List getThrownTypes();

    /** Returns the type variables declared by the formal type parameters of
     * this executable. */
    List getTypeParameters();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy