From 6ebad9589a2c3e8405af3ccc501164a9efdc2cde Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Fri, 11 Sep 2020 13:49:45 -0700 Subject: [PATCH] FIR2IR: set proper IR origin for iterator in ranges --- .../src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt | 2 +- compiler/testData/ir/irText/expressions/for.fir.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt index 5baf4bbc40b..50ffc4a98b4 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt @@ -275,7 +275,7 @@ fun CallableId.isIteratorHasNext(): Boolean = && packageName.asString() == "kotlin.collections" fun CallableId.isIterator(): Boolean = - callableName.asString() == "iterator" && packageName.asString() == "kotlin.collections" + callableName.asString() == "iterator" && packageName.asString() in arrayOf("kotlin.collections", "kotlin.ranges") fun FirAnnotationCall.fqName(session: FirSession): FqName? { val symbol = session.firSymbolProvider.getSymbolByTypeRef(annotationTypeRef) ?: return null diff --git a/compiler/testData/ir/irText/expressions/for.fir.txt b/compiler/testData/ir/irText/expressions/for.fir.txt index 34323ca52a1..9807389f31d 100644 --- a/compiler/testData/ir/irText/expressions/for.fir.txt +++ b/compiler/testData/ir/irText/expressions/for.fir.txt @@ -57,7 +57,7 @@ FILE fqName: fileName:/for.kt BLOCK_BODY BLOCK type=kotlin.Unit origin=FOR_LOOP VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.IntIterator [val] - CALL 'public open fun iterator (): kotlin.collections.IntIterator [operator] declared in kotlin.ranges.IntProgression' type=kotlin.collections.IntIterator origin=null + CALL 'public open fun iterator (): kotlin.collections.IntIterator [operator] declared in kotlin.ranges.IntProgression' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR $this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange [operator] declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE $this: CONST Int type=kotlin.Int value=1 other: CONST Int type=kotlin.Int value=10