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();
}