From 687fdce30af489a68840eb3d495365664f57bd70 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 24 Jun 2014 17:54:43 +0400 Subject: [PATCH] Support flexible types in TypeCheckingProcedure --- .../jet/lang/types/checker/TypeCheckingProcedure.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/descriptors/src/org/jetbrains/jet/lang/types/checker/TypeCheckingProcedure.java b/core/descriptors/src/org/jetbrains/jet/lang/types/checker/TypeCheckingProcedure.java index cacaf3edd7b..02d9206e3dc 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/types/checker/TypeCheckingProcedure.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/types/checker/TypeCheckingProcedure.java @@ -163,6 +163,12 @@ public class TypeCheckingProcedure { } public boolean isSubtypeOf(@NotNull JetType subtype, @NotNull JetType supertype) { + if (subtype instanceof FlexibleType) { + return isSubtypeOf(((FlexibleType) subtype).getLowerBound(), supertype); + } + if (supertype instanceof FlexibleType) { + return isSubtypeOf(subtype, ((FlexibleType) supertype).getUpperBound()); + } if (subtype.isError() || supertype.isError()) { return true; }