diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java index d3e7ddf59bc..d808ae28fab 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java @@ -483,6 +483,8 @@ public class KtPsiUtil { } if (innerExpression instanceof KtIfExpression) { + if (parentExpression instanceof KtQualifiedExpression) return true; + PsiElement current = parentExpression; while (!(current instanceof KtBlockExpression || current instanceof KtDeclaration || current instanceof KtStatementExpression)) { diff --git a/idea/testData/refactoring/inline/ifInQualifiedExpression.kt b/idea/testData/refactoring/inline/ifInQualifiedExpression.kt new file mode 100644 index 00000000000..356041a7c4d --- /dev/null +++ b/idea/testData/refactoring/inline/ifInQualifiedExpression.kt @@ -0,0 +1,6 @@ +// WITH_RUNTIME +fun boo() : Pair { + val flag = true + val value = if (flag) 0 else 1 + return value.to("value") +} \ No newline at end of file diff --git a/idea/testData/refactoring/inline/ifInQualifiedExpression.kt.after b/idea/testData/refactoring/inline/ifInQualifiedExpression.kt.after new file mode 100644 index 00000000000..d5e5cb0b0e5 --- /dev/null +++ b/idea/testData/refactoring/inline/ifInQualifiedExpression.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME +fun boo() : Pair { + val flag = true + return (if (flag) 0 else 1).to("value") +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/inline/InlineTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/refactoring/inline/InlineTestGenerated.java index dffdba889ee..240445a15ab 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/inline/InlineTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/inline/InlineTestGenerated.java @@ -47,6 +47,12 @@ public class InlineTestGenerated extends AbstractInlineTest { doTest(fileName); } + @TestMetadata("ifInQualifiedExpression.kt") + public void testIfInQualifiedExpression() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/inline/ifInQualifiedExpression.kt"); + doTest(fileName); + } + @TestMetadata("InFunctionLiteral.kt") public void testInFunctionLiteral() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/inline/InFunctionLiteral.kt");