public final class TypeMatching extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static boolean |
argumentsMatch(java.lang.reflect.Constructor<?> constructor,
java.lang.Object[] arguments) |
static boolean |
argumentsMatch(java.lang.reflect.Method method,
java.lang.Object[] arguments) |
static boolean |
argumentsMatch(java.lang.reflect.Method method,
java.lang.Object[] arguments,
boolean varargs) |
static boolean |
argumentsNumberMatches(int paramsNumber,
int argsNumber,
boolean isVarArgs) |
static boolean |
argumentsNumberMatches(java.lang.reflect.Method method,
int argsNumber) |
static java.lang.Class<?> |
boxed(java.lang.Class<?> t) |
static boolean |
canAssign(java.lang.Class<?>[] types,
java.lang.Object[] arguments,
boolean varArgs) |
static int |
compareSubstituable(java.lang.Class<?> type1,
java.lang.Class<?> type2)
Compare two type with a substituability relation (subtyping).
|
static int |
compareTypes(java.lang.Class<?>[] types1,
java.lang.Class<?>[] types2)
Compare two types arrays for type compatibility, using lexicographic order.
|
static boolean |
functionalInterfaceAssignment(java.lang.Class<?> type,
java.lang.Object value) |
static boolean |
isFunctionalInterface(java.lang.Class<?> type) |
static boolean |
isLastArgumentAnArray(int index,
java.lang.Object[] args) |
static boolean |
isSAM(java.lang.Class<?> type) |
static boolean |
returnsValue(java.lang.reflect.Method m) |
static boolean |
samAssignment(java.lang.Class<?> type,
java.lang.Object value) |
public static boolean canAssign(java.lang.Class<?>[] types, java.lang.Object[] arguments, boolean varArgs)
public static boolean functionalInterfaceAssignment(java.lang.Class<?> type, java.lang.Object value)
public static boolean samAssignment(java.lang.Class<?> type, java.lang.Object value)
public static boolean isSAM(java.lang.Class<?> type)
public static boolean isFunctionalInterface(java.lang.Class<?> type)
public static int compareTypes(java.lang.Class<?>[] types1, java.lang.Class<?>[] types2)
public static int compareSubstituable(java.lang.Class<?> type1, java.lang.Class<?> type2)
If the two type are not comparable, 0
is returned so that the order is not changed in a stable sort.
public static java.lang.Class<?> boxed(java.lang.Class<?> t)
public static boolean isLastArgumentAnArray(int index, java.lang.Object[] args)
public static boolean argumentsNumberMatches(int paramsNumber, int argsNumber, boolean isVarArgs)
public static boolean argumentsNumberMatches(java.lang.reflect.Method method, int argsNumber)
public static boolean argumentsMatch(java.lang.reflect.Method method, java.lang.Object[] arguments)
public static boolean argumentsMatch(java.lang.reflect.Method method, java.lang.Object[] arguments, boolean varargs)
public static boolean argumentsMatch(java.lang.reflect.Constructor<?> constructor, java.lang.Object[] arguments)
public static boolean returnsValue(java.lang.reflect.Method m)