diff --git a/idea/src/org/jetbrains/kotlin/idea/slicer/Slicer.kt b/idea/src/org/jetbrains/kotlin/idea/slicer/Slicer.kt index bce7f1f3a54..18d1b0efebe 100644 --- a/idea/src/org/jetbrains/kotlin/idea/slicer/Slicer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/slicer/Slicer.kt @@ -113,9 +113,7 @@ private fun KtDeclaration.processVariableAccesses( ) } -private fun KtParameter.canProcess(): Boolean { - return !(isLoopParameter || isVarArg) -} +private fun KtParameter.canProcess() = !isVarArg abstract class Slicer( protected val element: KtExpression, diff --git a/idea/testData/slicer/outflow/forVariable.kt b/idea/testData/slicer/outflow/forVariable.kt new file mode 100644 index 00000000000..58f44de0184 --- /dev/null +++ b/idea/testData/slicer/outflow/forVariable.kt @@ -0,0 +1,9 @@ +// FLOW: OUT + +fun f1(param: String) {} + +fun f4(list: List) { + for (s in list) + if (s.isNotEmpty()) + f1(s) +} \ No newline at end of file diff --git a/idea/testData/slicer/outflow/forVariable.results.txt b/idea/testData/slicer/outflow/forVariable.results.txt new file mode 100644 index 00000000000..12d594736ff --- /dev/null +++ b/idea/testData/slicer/outflow/forVariable.results.txt @@ -0,0 +1,4 @@ +6 for (s in list) +7 if (s.isNotEmpty()) +8 f1(s) +3 fun f1(param: String) {} diff --git a/idea/tests/org/jetbrains/kotlin/idea/slicer/SlicerTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/slicer/SlicerTestGenerated.java index 96456b6524f..6a37a029b6e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/slicer/SlicerTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/slicer/SlicerTestGenerated.java @@ -378,6 +378,12 @@ public class SlicerTestGenerated extends AbstractSlicerTest { doTest(fileName); } + @TestMetadata("outflow/forVariable.kt") + public void testOutflow_ForVariable() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/slicer/outflow/forVariable.kt"); + doTest(fileName); + } + @TestMetadata("outflow/funBodyExpression.kt") public void testOutflow_FunBodyExpression() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/slicer/outflow/funBodyExpression.kt");