diff --git a/idea/src/org/jetbrains/jet/plugin/structureView/KotlinInheritedMembersNodeProvider.kt b/idea/src/org/jetbrains/jet/plugin/structureView/KotlinInheritedMembersNodeProvider.kt
index 55bffc226ec..435c6c4d505 100644
--- a/idea/src/org/jetbrains/jet/plugin/structureView/KotlinInheritedMembersNodeProvider.kt
+++ b/idea/src/org/jetbrains/jet/plugin/structureView/KotlinInheritedMembersNodeProvider.kt
@@ -20,6 +20,7 @@ import com.intellij.ide.util.treeView.smartTree.TreeElement
import com.intellij.ide.util.InheritedMembersNodeProvider
import org.jetbrains.jet.lang.descriptors.ClassifierDescriptor
import org.jetbrains.jet.plugin.codeInsight.DescriptorToDeclarationUtil
+import org.jetbrains.jet.lang.psi.JetDeclaration
import org.jetbrains.jet.lang.resolve.BindingContext
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache
import java.util.ArrayList
@@ -47,11 +48,15 @@ public class KotlinInheritedMembersNodeProvider: InheritedMembersNodeProvider
{
+ val superTypeMember = DescriptorToDeclarationUtil.getDeclaration(project, memberDescriptor, context)
+ if (superTypeMember is NavigatablePsiElement) {
+ children.add(JetStructureViewElement(superTypeMember, memberDescriptor, true))
+ }
+ }
}
}
diff --git a/idea/testData/structureView/fileStructure/InheritedDelegationMethods.Data.kt b/idea/testData/structureView/fileStructure/InheritedDelegationMethods.Data.kt
new file mode 100644
index 00000000000..375d9192cd1
--- /dev/null
+++ b/idea/testData/structureView/fileStructure/InheritedDelegationMethods.Data.kt
@@ -0,0 +1,9 @@
+trait Some {
+ fun first()
+ fun second()
+}
+
+class ClassSome: Some {
+ override fun first() {}
+ override fun second() {}
+}
\ No newline at end of file
diff --git a/idea/testData/structureView/fileStructure/InheritedDelegationMethods.after b/idea/testData/structureView/fileStructure/InheritedDelegationMethods.after
new file mode 100644
index 00000000000..aef7e2c4265
--- /dev/null
+++ b/idea/testData/structureView/fileStructure/InheritedDelegationMethods.after
@@ -0,0 +1,7 @@
+-InheritedDelegationMethods.kt
+ -Test
+ equals(Any?): Boolean location=→Any
+ first(): Unit location=→Some
+ hashCode(): Int location=→Any
+ second(): Unit location=→Some
+ toString(): String location=→Any
diff --git a/idea/testData/structureView/fileStructure/InheritedDelegationMethods.kt b/idea/testData/structureView/fileStructure/InheritedDelegationMethods.kt
new file mode 100644
index 00000000000..a48ef3f43f9
--- /dev/null
+++ b/idea/testData/structureView/fileStructure/InheritedDelegationMethods.kt
@@ -0,0 +1,3 @@
+class Test: Some by ClassSome()
+
+// WITH_INHERITED
\ No newline at end of file
diff --git a/idea/tests/org/jetbrains/jet/plugin/structureView/KotlinFileStructureTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/structureView/KotlinFileStructureTestGenerated.java
index de73ade3f5c..ef791bcd5f2 100644
--- a/idea/tests/org/jetbrains/jet/plugin/structureView/KotlinFileStructureTestGenerated.java
+++ b/idea/tests/org/jetbrains/jet/plugin/structureView/KotlinFileStructureTestGenerated.java
@@ -56,6 +56,11 @@ public class KotlinFileStructureTestGenerated extends AbstractKotlinFileStructur
doTest("idea/testData/structureView/fileStructure/EmptyFile.kt");
}
+ @TestMetadata("InheritedDelegationMethods.kt")
+ public void testInheritedDelegationMethods() throws Exception {
+ doTest("idea/testData/structureView/fileStructure/InheritedDelegationMethods.kt");
+ }
+
@TestMetadata("InheritedInnerClasses.kt")
public void testInheritedInnerClasses() throws Exception {
doTest("idea/testData/structureView/fileStructure/InheritedInnerClasses.kt");