public class TypeSubstitutor extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
TypeSubstitutor.MapToTypeSubstitutionAdapter |
| Modifier and Type | Field and Description |
|---|---|
static TypeSubstitutor |
EMPTY |
| Modifier | Constructor and Description |
|---|---|
protected |
TypeSubstitutor(TypeSubstitution substitution) |
| Modifier and Type | Method and Description |
|---|---|
static TypeSubstitutor |
create(JetType context) |
static TypeSubstitutor |
create(java.util.Map<TypeConstructor,TypeProjection> substitutionContext) |
static TypeSubstitutor |
create(TypeSubstitution... substitutions) |
static TypeSubstitutor |
create(TypeSubstitution substitution) |
static TypeSubstitutor |
createUnsafe(java.util.Map<TypeConstructor,TypeProjection> substitutionContext)
No assertion for immediate recursion
|
TypeSubstitution |
getSubstitution() |
boolean |
inRange(TypeConstructor typeConstructor) |
boolean |
isEmpty() |
JetType |
safeSubstitute(JetType type,
Variance howThisTypeIsUsed) |
JetType |
substitute(JetType type,
Variance howThisTypeIsUsed) |
TypeProjection |
substitute(TypeProjection typeProjection) |
public static final TypeSubstitutor EMPTY
protected TypeSubstitutor(@NotNull TypeSubstitution substitution)
public static TypeSubstitutor create(@NotNull TypeSubstitution substitution)
public static TypeSubstitutor create(@NotNull TypeSubstitution... substitutions)
public static TypeSubstitutor createUnsafe(@NotNull java.util.Map<TypeConstructor,TypeProjection> substitutionContext)
public static TypeSubstitutor create(@NotNull java.util.Map<TypeConstructor,TypeProjection> substitutionContext)
public static TypeSubstitutor create(@NotNull JetType context)
public boolean inRange(@NotNull TypeConstructor typeConstructor)
public boolean isEmpty()
@NotNull public TypeSubstitution getSubstitution()
@NotNull public JetType safeSubstitute(@NotNull JetType type, @NotNull Variance howThisTypeIsUsed)
@Nullable public JetType substitute(@NotNull JetType type, @NotNull Variance howThisTypeIsUsed)
@Nullable public TypeProjection substitute(@NotNull TypeProjection typeProjection)