public class TypeUtil extends Object
| Constructor and Description | 
|---|
TypeUtil()  | 
| Modifier and Type | Method and Description | 
|---|---|
static boolean | 
canConvert(int ordinal,
          Type fromType,
          int to,
          List<Resolver.Conversion> conversions)
Returns whether we can convert an argument of a given category to a
 given parameter category. 
 | 
static boolean | 
canEvaluate(Type type)
Returns whether a value of a given type can be evaluated to a scalar
 value. 
 | 
static Type | 
computeCommonType(boolean allowConversions,
                 Type... types)
Returns a type sufficiently broad to hold any value of several types,
 but as narrow as possible. 
 | 
static boolean | 
couldBeMember(Type type)  | 
static List<Hierarchy> | 
getHierarchies(Type type)
Returns the hierarchies in a set, member, or tuple type. 
 | 
static boolean | 
isSet(Type type)
Returns whether a type is a set type. 
 | 
static boolean | 
isUnionCompatible(Type type1,
                 Type type2)
Returns whether this type is union-compatible with another. 
 | 
(package private) static <T> T | 
neq(T t1,
   T t2)  | 
static Type | 
stripSetType(Type type)
Given a set type, returns the element type. 
 | 
static Type | 
toMemberOrTupleType(Type type)
Converts a type to a member or tuple type. 
 | 
static MemberType | 
toMemberType(Type type)
Converts a type to a member type. 
 | 
static int | 
typeToCategory(Type type)
 | 
public static Type stripSetType(Type type)
type - Typepublic static Type toMemberOrTupleType(Type type)
type - Typepublic static MemberType toMemberType(Type type)
type - Typepublic static boolean isUnionCompatible(Type type1, Type type2)
type1 - First typetype2 - Second typepublic static boolean canEvaluate(Type type)
The rules are as follows:
type - Typepublic static boolean isSet(Type type)
type - Typepublic static boolean couldBeMember(Type type)
public static int typeToCategory(Type type)
type - Typepublic static Type computeCommonType(boolean allowConversions, Type... types)
The result is equivalent to calling
 Type.computeCommonType(Type, int[]) pairwise.
allowConversions - Whether to allow implicit conversionstypes - Array of typespublic static boolean canConvert(int ordinal,
                                 Type fromType,
                                 int to,
                                 List<Resolver.Conversion> conversions)
ordinal - argument ordinalfromType - actual argument typeto - formal parameter categoryconversions - list of implicit conversions required (out)static <T> T neq(T t1,
                 T t2)