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(KotlinType type1, KotlinType type2)
           
static KotlinType findCorrespondingSupertype(KotlinType subtype, KotlinType supertype)
           
static KotlinType findCorrespondingSupertype(KotlinType subtype, KotlinType supertype, TypeCheckingProcedureCallbacks typeCheckingProcedureCallbacks)
           
static TypeCheckingProcedure.EnrichedProjectionKind getEffectiveProjectionKind(TypeParameterDescriptor typeParameter, TypeProjection typeArgument)
           
static KotlinType getInType(TypeParameterDescriptor parameter, TypeProjection argument)
           
static KotlinType getOutType(TypeParameterDescriptor parameter, TypeProjection argument)
           
protected  boolean heterogeneousEquivalence(KotlinType inflexibleType, KotlinType flexibleType)
           
 boolean isSubtypeOf(KotlinType subtype, KotlinType 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 KotlinType findCorrespondingSupertype(@NotNull
                                                             KotlinType subtype,
                                                             @NotNull
                                                             KotlinType supertype)

findCorrespondingSupertype

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

getOutType

public static KotlinType getOutType(TypeParameterDescriptor parameter,
                                    TypeProjection argument)

getInType

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

equalTypes

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

heterogeneousEquivalence

protected boolean heterogeneousEquivalence(KotlinType inflexibleType,
                                           KotlinType flexibleType)

getEffectiveProjectionKind

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

isSubtypeOf

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