diff --git a/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt index 32231aec21a..17d8a231407 100644 --- a/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt +++ b/idea/src/org/jetbrains/kotlin/idea/KotlinFoldingBuilder.kt @@ -82,7 +82,7 @@ class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware { return type == KtNodeTypes.FUNCTION_LITERAL || (type == KtNodeTypes.BLOCK && parentType != KtNodeTypes.FUNCTION_LITERAL) || type == KtNodeTypes.CLASS_BODY || type == KtTokens.BLOCK_COMMENT || type == KDocTokens.KDOC || - type == KtNodeTypes.STRING_TEMPLATE + type == KtNodeTypes.STRING_TEMPLATE || type == KtNodeTypes.PRIMARY_CONSTRUCTOR } private fun getRangeToFold(node: ASTNode): TextRange { @@ -101,6 +101,7 @@ class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware { node.elementType == KtTokens.BLOCK_COMMENT -> "/${getFirstLineOfComment(node)}.../" node.elementType == KDocTokens.KDOC -> "/**${getFirstLineOfComment(node)}...*/" node.elementType == KtNodeTypes.STRING_TEMPLATE -> "\"\"\"${getTrimmedFirstLineOfString(node).addSpaceIfNeeded()}...\"\"\"" + node.elementType == KtNodeTypes.PRIMARY_CONSTRUCTOR -> "(...)" node.psi is KtImportList -> "..." else -> "{...}" } diff --git a/idea/testData/folding/checkCollapse/primaryConstructor.kt b/idea/testData/folding/checkCollapse/primaryConstructor.kt new file mode 100644 index 00000000000..19e801a62d1 --- /dev/null +++ b/idea/testData/folding/checkCollapse/primaryConstructor.kt @@ -0,0 +1,5 @@ +data class Test( + val foo: Int, + val bar: Int, + val baz: Int +) \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/folding/KotlinFoldingTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/folding/KotlinFoldingTestGenerated.java index 95af4a91f4e..1b5927fa78a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/folding/KotlinFoldingTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/folding/KotlinFoldingTestGenerated.java @@ -136,5 +136,11 @@ public class KotlinFoldingTestGenerated extends AbstractKotlinFoldingTest { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/folding/checkCollapse/multilineStrings.kt"); doSettingsFoldingTest(fileName); } + + @TestMetadata("primaryConstructor.kt") + public void testPrimaryConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/folding/checkCollapse/primaryConstructor.kt"); + doSettingsFoldingTest(fileName); + } } }