org.jetbrains.kotlin.types
Class TypeIntersector

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

public class TypeIntersector
extends java.lang.Object


Constructor Summary
TypeIntersector()
           
 
Method Summary
static KotlinType getUpperBoundsAsType(TypeParameterDescriptor descriptor)
          Note: this method was used in overload and override bindings to approximate type parameters with several bounds, but as it turned out at some point, that logic was inconsistent with Java rules, so it was simplified.
static KotlinType intersectTypes(KotlinTypeChecker typeChecker, java.util.Collection<KotlinType> types)
           
static boolean isIntersectionEmpty(KotlinType typeA, KotlinType typeB)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeIntersector

public TypeIntersector()
Method Detail

isIntersectionEmpty

public static boolean isIntersectionEmpty(@NotNull
                                          KotlinType typeA,
                                          @NotNull
                                          KotlinType typeB)

intersectTypes

@Nullable
public static KotlinType intersectTypes(@NotNull
                                                 KotlinTypeChecker typeChecker,
                                                 @NotNull
                                                 java.util.Collection<KotlinType> types)

getUpperBoundsAsType

@NotNull
public static KotlinType getUpperBoundsAsType(@NotNull
                                                      TypeParameterDescriptor descriptor)
Note: this method was used in overload and override bindings to approximate type parameters with several bounds, but as it turned out at some point, that logic was inconsistent with Java rules, so it was simplified. Most of the other usages of this method are left untouched but probably should be investigated closely if they're still valid.