diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java index e3236b67f4b..3409f30fc41 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java @@ -803,7 +803,9 @@ public class KtPsiUtil { if (((KtParameter) declaration).hasValOrVar() && parent != null && parent.getParent() instanceof KtPrimaryConstructor) { return getEnclosingElementForLocalDeclaration(((KtPrimaryConstructor) parent.getParent()).getContainingClassOrObject(), skipParameters); } - else if (skipParameters && parent != null && parent.getParent() instanceof KtNamedFunction) { + else if (skipParameters && parent != null && + !(parent instanceof KtForExpression) && + parent.getParent() instanceof KtNamedFunction) { declaration = (KtNamedFunction) parent.getParent(); } } diff --git a/idea/testData/intentions/specifyTypeExplicitly/forAsExpression.kt b/idea/testData/intentions/specifyTypeExplicitly/forAsExpression.kt new file mode 100644 index 00000000000..84eb433ef52 --- /dev/null +++ b/idea/testData/intentions/specifyTypeExplicitly/forAsExpression.kt @@ -0,0 +1,3 @@ +// SKIP_ERRORS_BEFORE +// SKIP_ERRORS_AFTER +fun foo() = for (i in 1..10) {} \ No newline at end of file diff --git a/idea/testData/intentions/specifyTypeExplicitly/forAsExpression.kt.after b/idea/testData/intentions/specifyTypeExplicitly/forAsExpression.kt.after new file mode 100644 index 00000000000..a56a22b8982 --- /dev/null +++ b/idea/testData/intentions/specifyTypeExplicitly/forAsExpression.kt.after @@ -0,0 +1,3 @@ +// SKIP_ERRORS_BEFORE +// SKIP_ERRORS_AFTER +fun foo() = for (i: Int in 1..10) {} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index dbf998e52e2..8db25439860 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -15086,6 +15086,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { doTest(fileName); } + @TestMetadata("forAsExpression.kt") + public void testForAsExpression() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/specifyTypeExplicitly/forAsExpression.kt"); + doTest(fileName); + } + @TestMetadata("functionType.kt") public void testFunctionType() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/specifyTypeExplicitly/functionType.kt");