diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt
index 7afb667f81c..335c224d58b 100644
--- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt
+++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt
@@ -357,6 +357,10 @@ class KtPsiFactory @JvmOverloads constructor(private val project: Project, val m
return createClass("class A($text)").primaryConstructorParameters.first()
}
+ fun createLoopParameter(text: String): KtParameter {
+ return (createExpression("for ($text in list) {}") as KtForExpression).loopParameter!!
+ }
+
fun createParameterList(text: String): KtParameterList {
return createFunction("fun foo$text{}").valueParameterList!!
}
diff --git a/idea/resources/META-INF/plugin-common.xml b/idea/resources/META-INF/plugin-common.xml
index ed8db941037..6e1af4e3f38 100644
--- a/idea/resources/META-INF/plugin-common.xml
+++ b/idea/resources/META-INF/plugin-common.xml
@@ -1820,6 +1820,15 @@
language="kotlin"
/>
+
+
+
+This inspection reports until and .. operator usages that are replaceable with Collection.indices
+or iteration over collection inside for loop.
+