public final class TypeBindings
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private int |
_hashCode |
private java.lang.String[] |
_names
Array of type (type variable) names.
|
private ResolvedType[] |
_types
Types matching names
|
private java.lang.String[] |
_unboundVariables
Names of potentially unresolved type variables.
|
private static TypeBindings |
EMPTY |
private static java.lang.String[] |
NO_STRINGS |
private static ResolvedType[] |
NO_TYPES |
| Modifier | Constructor and Description |
|---|---|
private |
TypeBindings(java.lang.String[] names,
ResolvedType[] types,
java.lang.String[] uvars) |
| Modifier and Type | Method and Description |
|---|---|
static TypeBindings |
create(java.lang.Class<?> erasedType,
java.util.List<ResolvedType> typeList)
Factory method for constructing bindings for given class using specified type
parameters.
|
static TypeBindings |
create(java.lang.Class<?> erasedType,
ResolvedType[] types) |
static TypeBindings |
emptyBindings() |
boolean |
equals(java.lang.Object o) |
ResolvedType |
findBoundType(java.lang.String name)
Find type bound to specified name, if there is one; returns bound type if so, null if not.
|
java.lang.String |
getBoundName(int index) |
ResolvedType |
getBoundType(int index) |
java.util.List<ResolvedType> |
getTypeParameters()
Accessor for getting bound types in declaration order
|
int |
hashCode() |
boolean |
hasUnbound(java.lang.String name) |
boolean |
isEmpty() |
int |
size()
Returns number of bindings contained
|
java.lang.String |
toString() |
protected ResolvedType[] |
typeParameterArray() |
TypeBindings |
withUnboundVariable(java.lang.String name)
Method for creating an instance that has same bindings as this object,
plus an indicator for additional type variable that may be unbound within
this context; this is needed to resolve recursive self-references.
|
private static final java.lang.String[] NO_STRINGS
private static final ResolvedType[] NO_TYPES
private static final TypeBindings EMPTY
private final java.lang.String[] _names
private final ResolvedType[] _types
private final java.lang.String[] _unboundVariables
private final int _hashCode
private TypeBindings(java.lang.String[] names,
ResolvedType[] types,
java.lang.String[] uvars)
public static TypeBindings emptyBindings()
public static TypeBindings create(java.lang.Class<?> erasedType, java.util.List<ResolvedType> typeList)
public static TypeBindings create(java.lang.Class<?> erasedType, ResolvedType[] types)
public TypeBindings withUnboundVariable(java.lang.String name)
public ResolvedType findBoundType(java.lang.String name)
public boolean isEmpty()
public int size()
public java.lang.String getBoundName(int index)
public ResolvedType getBoundType(int index)
public java.util.List<ResolvedType> getTypeParameters()
public boolean hasUnbound(java.lang.String name)
public java.lang.String toString()
toString in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectprotected ResolvedType[] typeParameterArray()