From 744186402d7943602e4681c71a502df3289b4602 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 19 Apr 2016 19:05:43 +0300 Subject: [PATCH] One more case when mapTo can be generated --- .../result/AddToCollectionTransformation.kt | 4 ++++ idea/testData/intentions/loopToCallChain/mapTo2.kt | 7 +++++++ idea/testData/intentions/loopToCallChain/mapTo2.kt.after | 4 ++++ 3 files changed, 15 insertions(+) create mode 100644 idea/testData/intentions/loopToCallChain/mapTo2.kt create mode 100644 idea/testData/intentions/loopToCallChain/mapTo2.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/loopToCallChain/result/AddToCollectionTransformation.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/loopToCallChain/result/AddToCollectionTransformation.kt index d34ed91094f..3653a91662c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/loopToCallChain/result/AddToCollectionTransformation.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/loopToCallChain/result/AddToCollectionTransformation.kt @@ -43,6 +43,10 @@ class AddToCollectionTransformation( FilterToTransformation(loop, inputVariable, targetCollection, previousTransformation.effectiveCondition()) //TODO: use filterNotTo? } + is MapTransformation -> { + MapToTransformation(loop, previousTransformation.inputVariable, targetCollection, previousTransformation.mapping) + } + is FlatMapTransformation -> { FlatMapToTransformation(loop, previousTransformation.inputVariable, targetCollection, previousTransformation.transform) } diff --git a/idea/testData/intentions/loopToCallChain/mapTo2.kt b/idea/testData/intentions/loopToCallChain/mapTo2.kt new file mode 100644 index 00000000000..3cca030a1f2 --- /dev/null +++ b/idea/testData/intentions/loopToCallChain/mapTo2.kt @@ -0,0 +1,7 @@ +// WITH_RUNTIME +fun foo(list: List, target: MutableList) { + for (s in list) { + val l = s.length + target.add(l) + } +} \ No newline at end of file diff --git a/idea/testData/intentions/loopToCallChain/mapTo2.kt.after b/idea/testData/intentions/loopToCallChain/mapTo2.kt.after new file mode 100644 index 00000000000..9c936cb091f --- /dev/null +++ b/idea/testData/intentions/loopToCallChain/mapTo2.kt.after @@ -0,0 +1,4 @@ +// WITH_RUNTIME +fun foo(list: List, target: MutableList) { + list.mapTo(target) { it.length } +} \ No newline at end of file