org.jetbrains.jet.lang.types
Class SubstitutionUtils

java.lang.Object
  extended by org.jetbrains.jet.lang.types.SubstitutionUtils

public class SubstitutionUtils
extends java.lang.Object


Constructor Summary
SubstitutionUtils()
           
 
Method Summary
static void assertNotImmediatelyRecursive(java.util.Map<TypeConstructor,TypeProjection> context)
           
static com.google.common.collect.Multimap<TypeConstructor,TypeProjection> buildDeepSubstitutionMultimap(JetType type)
           
static TypeSubstitutor buildDeepSubstitutor(JetType type)
          Builds a context with all the supertypes' parameters substituted
static java.util.Map<TypeConstructor,TypeProjection> buildSubstitutionContext(JetType context)
           
static java.util.Map<TypeConstructor,TypeProjection> buildSubstitutionContext(java.util.List<TypeParameterDescriptor> parameters, java.util.List<TypeProjection> contextArguments)
           
static boolean hasUnsubstitutedTypeParameters(JetType type)
           
static TypeProjection makeStarProjection(TypeParameterDescriptor parameterDescriptor)
           
static java.util.Map<TypeConstructor,TypeProjection> removeTrivialSubstitutions(java.util.Map<TypeConstructor,TypeProjection> context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubstitutionUtils

public SubstitutionUtils()
Method Detail

buildSubstitutionContext

@NotNull
public static java.util.Map<TypeConstructor,TypeProjection> buildSubstitutionContext(@NotNull
                                                                                             JetType context)

buildDeepSubstitutor

@NotNull
public static TypeSubstitutor buildDeepSubstitutor(@NotNull
                                                           JetType type)
Builds a context with all the supertypes' parameters substituted


buildDeepSubstitutionMultimap

@NotNull
public static com.google.common.collect.Multimap<TypeConstructor,TypeProjection> buildDeepSubstitutionMultimap(@NotNull
                                                                                                                       JetType type)

buildSubstitutionContext

@NotNull
public static java.util.Map<TypeConstructor,TypeProjection> buildSubstitutionContext(@NotNull
                                                                                             java.util.List<TypeParameterDescriptor> parameters,
                                                                                             @NotNull
                                                                                             java.util.List<TypeProjection> contextArguments)

makeStarProjection

@NotNull
public static TypeProjection makeStarProjection(@NotNull
                                                        TypeParameterDescriptor parameterDescriptor)

hasUnsubstitutedTypeParameters

public static boolean hasUnsubstitutedTypeParameters(JetType type)

removeTrivialSubstitutions

public static java.util.Map<TypeConstructor,TypeProjection> removeTrivialSubstitutions(java.util.Map<TypeConstructor,TypeProjection> context)

assertNotImmediatelyRecursive

public static void assertNotImmediatelyRecursive(java.util.Map<TypeConstructor,TypeProjection> context)