diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt index 41b7517fc75..a705899e174 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/structureView/KotlinStructureViewElement.kt @@ -126,5 +126,8 @@ private class AssignableLazyProperty(val init: () -> T) : ReadWri } } -fun KtClassOrObject.getStructureDeclarations() = primaryConstructorParameters.filter { it.hasValOrVar() } + declarations +fun KtClassOrObject.getStructureDeclarations() = + (primaryConstructor?.let { listOf(it) } ?: emptyList()) + + primaryConstructorParameters.filter { it.hasValOrVar() } + + declarations diff --git a/idea/testData/structureView/fileStructure/InheritedJavaMembers.after b/idea/testData/structureView/fileStructure/InheritedJavaMembers.after index 661cb72526e..73464768c25 100644 --- a/idea/testData/structureView/fileStructure/InheritedJavaMembers.after +++ b/idea/testData/structureView/fileStructure/InheritedJavaMembers.after @@ -1,6 +1,7 @@ -InheritedJavaMembers.kt -InheritedJavaMembers call(): String! location=→Callable + constructor InheritedJavaMembers() equals(Any?): Boolean location=→Any hashCode(): Int location=→Any test(): Unit diff --git a/idea/testData/structureView/fileStructure/InheritedSynthesizedFromDataClass.after b/idea/testData/structureView/fileStructure/InheritedSynthesizedFromDataClass.after index e6cfa960d3f..194a5c29e41 100644 --- a/idea/testData/structureView/fileStructure/InheritedSynthesizedFromDataClass.after +++ b/idea/testData/structureView/fileStructure/InheritedSynthesizedFromDataClass.after @@ -3,4 +3,5 @@ a: Int location=→TestData field: Int some(): Unit location=→TestData - TestData + -TestData + constructor TestData(Int) diff --git a/idea/testData/structureView/fileStructure/Render.after b/idea/testData/structureView/fileStructure/Render.after index a4bdee4d45f..bbbc28de399 100644 --- a/idea/testData/structureView/fileStructure/Render.after +++ b/idea/testData/structureView/fileStructure/Render.after @@ -3,10 +3,13 @@ -A2 a: Int b: [ERROR : Annotation is absent] + constructor A2(Int, [ERROR : Type annotation was missing for parameter b] = ...) -A3 a: Int b: String + constructor A3(Int) -A4 + constructor A4(T?) t: T? -A5 Inner1 @@ -39,3 +42,4 @@ withDefaulArgs(Int = ..., String = ...): Unit -WithDefaultArgs a: Int + constructor WithDefaultArgs(Int = ..., String = ...) diff --git a/idea/testData/structureView/fileStructure/Simple.after b/idea/testData/structureView/fileStructure/Simple.after index e374ab7eb26..2c710a5e400 100644 --- a/idea/testData/structureView/fileStructure/Simple.after +++ b/idea/testData/structureView/fileStructure/Simple.after @@ -1,5 +1,6 @@ -Simple.kt -Test + constructor Test(String) foo(): Int other(): Unit some: Int