org.jetbrains.kotlin.types.checker
Class TypeCheckingProcedure

java.lang.Object
  extended by org.jetbrains.kotlin.types.checker.TypeCheckingProcedure

public class TypeCheckingProcedure
extends java.lang.Object


Nested Class Summary
static class TypeCheckingProcedure.EnrichedProjectionKind
           
 
Constructor Summary
TypeCheckingProcedure(TypeCheckingProcedureCallbacks constraints)
           
 
Method Summary
 boolean equalTypes(JetType type1, JetType type2)
           
static JetType findCorrespondingSupertype(JetType subtype, JetType supertype)
           
static JetType findCorrespondingSupertype(JetType subtype, JetType supertype, TypeCheckingProcedureCallbacks typeCheckingProcedureCallbacks)
           
static TypeCheckingProcedure.EnrichedProjectionKind getEffectiveProjectionKind(TypeParameterDescriptor typeParameter, TypeProjection typeArgument)
           
static JetType getInType(TypeParameterDescriptor parameter, TypeProjection argument)
           
static JetType getOutType(TypeParameterDescriptor parameter, TypeProjection argument)
           
protected  boolean heterogeneousEquivalence(JetType inflexibleType, JetType flexibleType)
           
 boolean isSubtypeOf(JetType subtype, JetType supertype)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeCheckingProcedure

public TypeCheckingProcedure(TypeCheckingProcedureCallbacks constraints)
Method Detail

findCorrespondingSupertype

@Nullable
public static JetType findCorrespondingSupertype(@NotNull
                                                          JetType subtype,
                                                          @NotNull
                                                          JetType supertype)

findCorrespondingSupertype

@Nullable
public static JetType findCorrespondingSupertype(@NotNull
                                                          JetType subtype,
                                                          @NotNull
                                                          JetType supertype,
                                                          @NotNull
                                                          TypeCheckingProcedureCallbacks typeCheckingProcedureCallbacks)

getOutType

public static JetType getOutType(TypeParameterDescriptor parameter,
                                 TypeProjection argument)

getInType

public static JetType getInType(@NotNull
                                TypeParameterDescriptor parameter,
                                @NotNull
                                TypeProjection argument)

equalTypes

public boolean equalTypes(@NotNull
                          JetType type1,
                          @NotNull
                          JetType type2)

heterogeneousEquivalence

protected boolean heterogeneousEquivalence(JetType inflexibleType,
                                           JetType flexibleType)

getEffectiveProjectionKind

public static TypeCheckingProcedure.EnrichedProjectionKind getEffectiveProjectionKind(@NotNull
                                                                                      TypeParameterDescriptor typeParameter,
                                                                                      @NotNull
                                                                                      TypeProjection typeArgument)

isSubtypeOf

public boolean isSubtypeOf(@NotNull
                           JetType subtype,
                           @NotNull
                           JetType supertype)