diff --git a/plugins/kotlin/code-insight/postfix-templates/src/org/jetbrains/kotlin/idea/codeInsight/postfix/KotlinPostfixTemplatePsiInfo.kt b/plugins/kotlin/code-insight/postfix-templates/src/org/jetbrains/kotlin/idea/codeInsight/postfix/KotlinPostfixTemplatePsiInfo.kt index e864b618e416..a1365ea7298e 100644 --- a/plugins/kotlin/code-insight/postfix-templates/src/org/jetbrains/kotlin/idea/codeInsight/postfix/KotlinPostfixTemplatePsiInfo.kt +++ b/plugins/kotlin/code-insight/postfix-templates/src/org/jetbrains/kotlin/idea/codeInsight/postfix/KotlinPostfixTemplatePsiInfo.kt @@ -147,6 +147,7 @@ internal object KotlinPostfixTemplatePsiInfo : PostfixTemplatePsiInfo() { is KtLambdaExpression, is KtCallExpression, is KtConstantExpression, + is KtDotQualifiedExpression, is KtStringTemplateExpression -> false else -> true } diff --git a/plugins/kotlin/code-insight/postfix-templates/test/org/jetbrains/kotlin/idea/k2/codeInsight/postfix/test/K2PostfixTemplateTestGenerated.java b/plugins/kotlin/code-insight/postfix-templates/test/org/jetbrains/kotlin/idea/k2/codeInsight/postfix/test/K2PostfixTemplateTestGenerated.java index 11435426f022..8ead064dc7ad 100644 --- a/plugins/kotlin/code-insight/postfix-templates/test/org/jetbrains/kotlin/idea/k2/codeInsight/postfix/test/K2PostfixTemplateTestGenerated.java +++ b/plugins/kotlin/code-insight/postfix-templates/test/org/jetbrains/kotlin/idea/k2/codeInsight/postfix/test/K2PostfixTemplateTestGenerated.java @@ -510,6 +510,21 @@ public abstract class K2PostfixTemplateTestGenerated extends AbstractK2PostfixTe performTest(); } + @TestMetadata("qualifiedCallInsideWithCall.kt") + public void testQualifiedCallInsideWithCall() throws Exception { + performTest(); + } + + @TestMetadata("qualifiedCallInsideWithProperty.kt") + public void testQualifiedCallInsideWithProperty() throws Exception { + performTest(); + } + + @TestMetadata("qualifiedCallWithLambda.kt") + public void testQualifiedCallWithLambda() throws Exception { + performTest(); + } + @TestMetadata("simple.kt") public void testSimple() throws Exception { performTest(); diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCall.after.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCall.after.kt index d7c17f17eb99..96bfda85f585 100644 --- a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCall.after.kt +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCall.after.kt @@ -1,5 +1,5 @@ fun test() { - !(Foo().condition()) + !Foo().condition() } class Foo { diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithCall.after.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithCall.after.kt new file mode 100644 index 000000000000..21763d3e4498 --- /dev/null +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithCall.after.kt @@ -0,0 +1,9 @@ +fun test() { + (!Foo().foo()).condition() +} + +fun Boolean.condition(): Boolean = true + +class Foo { + fun foo(): Boolean = true +} \ No newline at end of file diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithCall.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithCall.kt new file mode 100644 index 000000000000..3da8c5dce55c --- /dev/null +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithCall.kt @@ -0,0 +1,9 @@ +fun test() { + Foo().foo().condition() +} + +fun Boolean.condition(): Boolean = true + +class Foo { + fun foo(): Boolean = true +} \ No newline at end of file diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithProperty.after.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithProperty.after.kt new file mode 100644 index 000000000000..bbc05ef9472b --- /dev/null +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithProperty.after.kt @@ -0,0 +1,9 @@ +fun test() { + (!Foo().foo).condition() +} + +fun Boolean.condition(): Boolean = true + +class Foo { + val foo: Boolean = true +} \ No newline at end of file diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithProperty.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithProperty.kt new file mode 100644 index 000000000000..c36cc0b29f6d --- /dev/null +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallInsideWithProperty.kt @@ -0,0 +1,9 @@ +fun test() { + Foo().foo.condition() +} + +fun Boolean.condition(): Boolean = true + +class Foo { + val foo: Boolean = true +} \ No newline at end of file diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallWithLambda.after.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallWithLambda.after.kt new file mode 100644 index 000000000000..50ad7d42beb0 --- /dev/null +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallWithLambda.after.kt @@ -0,0 +1,7 @@ +fun test() { + !Foo().condition { } +} + +class Foo { + fun condition(f: () -> Unit): Boolean = true +} \ No newline at end of file diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallWithLambda.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallWithLambda.kt new file mode 100644 index 000000000000..53a2254d6846 --- /dev/null +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/not/qualifiedCallWithLambda.kt @@ -0,0 +1,7 @@ +fun test() { + Foo().condition { } +} + +class Foo { + fun condition(f: () -> Unit): Boolean = true +} \ No newline at end of file diff --git a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/unless/call.after.kt b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/unless/call.after.kt index e1a567ee7432..e0a4985e1374 100644 --- a/plugins/kotlin/code-insight/postfix-templates/testData/expansion/unless/call.after.kt +++ b/plugins/kotlin/code-insight/postfix-templates/testData/expansion/unless/call.after.kt @@ -1,6 +1,6 @@ fun test() { - if (!(Foo().check(1, 2))) { - + if (!Foo().check(1, 2)) { + } }