From 68bcdaa6c36392079a03ca0335e56410acda3172 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Thu, 12 Sep 2019 12:26:08 +0300 Subject: [PATCH] Don't ask for member scope for ILT in `IterableTypesDetection` EA-206183 fixed --- .../org/jetbrains/kotlin/idea/core/IterableTypesDetection.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/IterableTypesDetection.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/IterableTypesDetection.kt index 01a1f1c017c..2a8449cb719 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/IterableTypesDetection.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/IterableTypesDetection.kt @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.resolve.BindingTraceContext import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValueFactory +import org.jetbrains.kotlin.resolve.constants.IntegerLiteralTypeConstructor import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver import org.jetbrains.kotlin.resolve.scopes.utils.collectFunctions @@ -87,6 +88,7 @@ class IterableTypesDetection( } private fun canBeIterable(type: FuzzyType): Boolean { + if (type.type.constructor is IntegerLiteralTypeConstructor) return false return type.type.memberScope.getContributedFunctions(iteratorName, NoLookupLocation.FROM_IDE).isNotEmpty() || typesWithExtensionIterator.any { val freeParams = it.arguments.mapNotNull { it.type.constructor.declarationDescriptor as? TypeParameterDescriptor }