From b4f26bde44c58126e0bbc782923c4dc81772da32 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 1 Jul 2014 21:13:11 +0400 Subject: [PATCH] Support forced resolve for lazy flexible types --- .../jetbrains/jet/lang/resolve/lazy/ForceResolveUtil.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ForceResolveUtil.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ForceResolveUtil.java index e6a84014efe..d1907bdddae 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ForceResolveUtil.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ForceResolveUtil.java @@ -24,6 +24,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.jet.lang.descriptors.annotations.Annotations; import org.jetbrains.jet.lang.resolve.scopes.JetScope; +import org.jetbrains.jet.lang.types.FlexibleType; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.TypeConstructor; import org.jetbrains.jet.lang.types.TypeProjection; @@ -85,6 +86,13 @@ public class ForceResolveUtil { public static void forceResolveAllContents(@Nullable JetType type) { if (type == null) return; + if (type instanceof FlexibleType) { + FlexibleType flexibleType = (FlexibleType) type; + forceResolveAllContents(flexibleType.getLowerBound()); + forceResolveAllContents(flexibleType.getUpperBound()); + return; + } + forceResolveAllContents(type.getConstructor()); for (TypeProjection projection : type.getArguments()) { forceResolveAllContents(projection.getType());