private static class TypeResolver.TypeTable
extends java.lang.Object
TypeVariable
to types.Modifier and Type | Field and Description |
---|---|
private ImmutableMap<TypeResolver.TypeVariableKey,java.lang.reflect.Type> |
map |
Modifier | Constructor and Description |
---|---|
(package private) |
TypeTable() |
private |
TypeTable(ImmutableMap<TypeResolver.TypeVariableKey,java.lang.reflect.Type> map) |
Modifier and Type | Method and Description |
---|---|
(package private) java.lang.reflect.Type |
resolve(java.lang.reflect.TypeVariable<?> var) |
(package private) java.lang.reflect.Type |
resolveInternal(java.lang.reflect.TypeVariable<?> var,
TypeResolver.TypeTable forDependants)
Resolves
var using the encapsulated type mapping. |
(package private) TypeResolver.TypeTable |
where(java.util.Map<TypeResolver.TypeVariableKey,? extends java.lang.reflect.Type> mappings)
Returns a new
TypeResolver with variable mapping to type . |
private final ImmutableMap<TypeResolver.TypeVariableKey,java.lang.reflect.Type> map
TypeTable()
private TypeTable(ImmutableMap<TypeResolver.TypeVariableKey,java.lang.reflect.Type> map)
final TypeResolver.TypeTable where(java.util.Map<TypeResolver.TypeVariableKey,? extends java.lang.reflect.Type> mappings)
TypeResolver
with variable
mapping to type
.final java.lang.reflect.Type resolve(java.lang.reflect.TypeVariable<?> var)
java.lang.reflect.Type resolveInternal(java.lang.reflect.TypeVariable<?> var, TypeResolver.TypeTable forDependants)
var
using the encapsulated type mapping. If it maps to yet another
non-reified type or has bounds, forDependants
is used to do further resolution, which
doesn't try to resolve any type variable on generic declarations that are already being
resolved.
Should only be called and overridden by resolve(TypeVariable)
.