From 455a1c0f53591ea77235ff5efc5735ea297110be Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 11 Dec 2017 16:41:51 +0300 Subject: [PATCH] Intrinsics for 'reversed': downTo #KT-21323 In Progress --- .../range/DownToProgressionRangeValue.kt | 7 ++++- .../forInReversed/forInReversedDownTo.kt | 24 +++++++++++++++++ .../forInReversed/forInReversedDownTo.kt | 26 +++++++++++++++++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 6 +++++ .../codegen/BlackBoxCodegenTestGenerated.java | 6 +++++ .../codegen/BytecodeTextTestGenerated.java | 6 +++++ .../LightAnalysisModeTestGenerated.java | 6 +++++ .../semantics/JsCodegenBoxTestGenerated.java | 6 +++++ 8 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/codegen/box/ranges/forInReversed/forInReversedDownTo.kt create mode 100644 compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedDownTo.kt diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt index 56eb8c44479..0414e0b8eb2 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt @@ -24,7 +24,9 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.psi.KtForExpression import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall -class DownToProgressionRangeValue(rangeCall: ResolvedCall): PrimitiveNumberRangeIntrinsicRangeValue(rangeCall) { +class DownToProgressionRangeValue(rangeCall: ResolvedCall) : + PrimitiveNumberRangeIntrinsicRangeValue(rangeCall), ReversableRangeValue { + override fun getBoundedValue(codegen: ExpressionCodegen) = SimpleBoundedValue( codegen, rangeCall, @@ -34,4 +36,7 @@ class DownToProgressionRangeValue(rangeCall: ResolvedCall