org.jetbrains.kotlin.types
Class TypeSubstitutor

java.lang.Object
  extended by org.jetbrains.kotlin.types.TypeSubstitutor

public class TypeSubstitutor
extends java.lang.Object


Field Summary
static TypeSubstitutor EMPTY
           
 
Constructor Summary
protected TypeSubstitutor(TypeSubstitution substitution)
           
 
Method Summary
static Variance combine(Variance typeParameterVariance, Variance projectionKind)
           
static TypeSubstitutor create(TypeSubstitution substitution)
           
static TypeSubstitutor createChainedSubstitutor(TypeSubstitution first, TypeSubstitution second)
           
 TypeSubstitution getSubstitution()
           
 boolean isEmpty()
           
 JetType safeSubstitute(JetType type, Variance howThisTypeIsUsed)
           
 JetType substitute(JetType type, Variance howThisTypeIsUsed)
           
 TypeProjection substitute(TypeProjection typeProjection)
           
 TypeProjection substituteWithoutApproximation(TypeProjection typeProjection)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY

public static final TypeSubstitutor EMPTY
Constructor Detail

TypeSubstitutor

protected TypeSubstitutor(@NotNull
                          TypeSubstitution substitution)
Method Detail

create

@NotNull
public static TypeSubstitutor create(@NotNull
                                             TypeSubstitution substitution)

createChainedSubstitutor

@NotNull
public static TypeSubstitutor createChainedSubstitutor(@NotNull
                                                               TypeSubstitution first,
                                                               @NotNull
                                                               TypeSubstitution second)

isEmpty

public boolean isEmpty()

getSubstitution

@NotNull
public TypeSubstitution getSubstitution()

safeSubstitute

@NotNull
public JetType safeSubstitute(@NotNull
                                      JetType type,
                                      @NotNull
                                      Variance howThisTypeIsUsed)

substitute

@Nullable
public JetType substitute(@NotNull
                                   JetType type,
                                   @NotNull
                                   Variance howThisTypeIsUsed)

substitute

@Nullable
public TypeProjection substitute(@NotNull
                                          TypeProjection typeProjection)

substituteWithoutApproximation

@Nullable
public TypeProjection substituteWithoutApproximation(@NotNull
                                                              TypeProjection typeProjection)

combine

@NotNull
public static Variance combine(@NotNull
                                       Variance typeParameterVariance,
                                       @NotNull
                                       Variance projectionKind)