diff --git a/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt b/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt index 130b035591fe2c09c8df6aaea2ef9836d6f84bf9..ba44e5fdabce25db44ddb381d65a3ad4f619ab9e 100644 --- a/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/plugins/kotlin/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -281,6 +281,8 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing after(DOC_COMMENT).lineBreakInCode() // =============== Spacing ================ + aroundInside(AND, INTERSECTION_TYPE).spacesNoLineBreak(1) + between(EOL_COMMENT, COMMA).lineBreakInCode() before(COMMA).spacesNoLineBreak(if (kotlinCommonSettings.SPACE_BEFORE_COMMA) 1 else 0) after(COMMA).spaceIf(kotlinCommonSettings.SPACE_AFTER_COMMA) diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java index 3b81c2c1dfe5e5ff28e0a5293fb8b0fda32a2e2f..6af973933d801671d267fc41a169291c42c52a90 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java @@ -679,6 +679,11 @@ public abstract class FormatterTestGenerated extends AbstractFormatterTest { runTest("testData/formatter/DanglingComments.after.kt"); } + @TestMetadata("DefinitelyNonNullTypes.after.kt") + public void testDefinitelyNonNullTypes() throws Exception { + runTest("testData/formatter/DefinitelyNonNullTypes.after.kt"); + } + @TestMetadata("DelegationList.after.kt") public void testDelegationList() throws Exception { runTest("testData/formatter/DelegationList.after.kt"); diff --git a/plugins/kotlin/idea/tests/testData/formatter/DefinitelyNonNullTypes.after.kt b/plugins/kotlin/idea/tests/testData/formatter/DefinitelyNonNullTypes.after.kt new file mode 100644 index 0000000000000000000000000000000000000000..435ae8cf2d6492f9296651e29e9c2b69139e4923 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/formatter/DefinitelyNonNullTypes.after.kt @@ -0,0 +1,8 @@ +fun <T> formattingA(x: T & Any) = x +fun <T> formattingB(x: T & Any) = x +fun <T> formattingC(x: T & Any) = x +fun <T> formattingD(x: T & Any +) = x + +val f = { i: Int & Any -> } +fun <T : Int & Any> f() = Unit diff --git a/plugins/kotlin/idea/tests/testData/formatter/DefinitelyNonNullTypes.kt b/plugins/kotlin/idea/tests/testData/formatter/DefinitelyNonNullTypes.kt new file mode 100644 index 0000000000000000000000000000000000000000..830049dfbd506f48c3d47fb346e90ff3d95f1fac --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/formatter/DefinitelyNonNullTypes.kt @@ -0,0 +1,11 @@ +fun <T> formattingA(x: T & Any) = x +fun <T> formattingB(x: T&Any) = x +fun <T> formattingC(x: T & Any) = x +fun <T> formattingD(x: T + & + + Any + ) = x + +val f = { i: Int& Any -> } +fun <T : Int &Any> f() = Unit \ No newline at end of file