diff --git a/idea/src/org/jetbrains/jet/plugin/hierarchy/KotlinTypeHierarchyProvider.java b/idea/src/org/jetbrains/jet/plugin/hierarchy/KotlinTypeHierarchyProvider.java index 11f3550b460..de7c5605383 100644 --- a/idea/src/org/jetbrains/jet/plugin/hierarchy/KotlinTypeHierarchyProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/hierarchy/KotlinTypeHierarchyProvider.java @@ -32,7 +32,6 @@ import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; import org.jetbrains.jet.lang.psi.JetClassOrObject; -import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetNamedFunction; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.types.JetType; @@ -45,7 +44,6 @@ import org.jetbrains.jet.renderer.DescriptorRenderer; import java.util.Collection; public class KotlinTypeHierarchyProvider extends JavaTypeHierarchyProvider { - @Override public PsiElement getTarget(@NotNull DataContext dataContext) { Project project = PlatformDataKeys.PROJECT.getData(dataContext); @@ -54,7 +52,7 @@ public class KotlinTypeHierarchyProvider extends JavaTypeHierarchyProvider { Editor editor = PlatformDataKeys.EDITOR.getData(dataContext); if (editor != null) { PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument()); - if (!(file instanceof JetFile)) return null; + if (file == null) return null; if (!JetPluginUtil.isInSource(file)) return null; if (JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file)) return null; diff --git a/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/1_MyClass.java b/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/1_MyClass.java new file mode 100644 index 00000000000..17a902135f2 --- /dev/null +++ b/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/1_MyClass.java @@ -0,0 +1,3 @@ +public class MyClass extends KotlinClass { + +} \ No newline at end of file diff --git a/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/2_main.kt b/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/2_main.kt new file mode 100644 index 00000000000..d035c7b5e63 --- /dev/null +++ b/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/2_main.kt @@ -0,0 +1 @@ +public open class KotlinClass \ No newline at end of file diff --git a/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/JavaFromKotlinByRef_verification.xml b/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/JavaFromKotlinByRef_verification.xml new file mode 100644 index 00000000000..c42ea3ba029 --- /dev/null +++ b/idea/testData/hierarchy/class/type/JavaFromKotlinByRef/JavaFromKotlinByRef_verification.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/1_JavaClass.java b/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/1_JavaClass.java new file mode 100644 index 00000000000..871149005c7 --- /dev/null +++ b/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/1_JavaClass.java @@ -0,0 +1,3 @@ +public class JavaClass { + +} \ No newline at end of file diff --git a/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/2_main.kt b/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/2_main.kt new file mode 100644 index 00000000000..c2ae4e426d9 --- /dev/null +++ b/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/2_main.kt @@ -0,0 +1 @@ +public open class KotlinClass: JavaClass() \ No newline at end of file diff --git a/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/KotlinFromJavaByRef_verification.xml b/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/KotlinFromJavaByRef_verification.xml new file mode 100644 index 00000000000..933b0a52348 --- /dev/null +++ b/idea/testData/hierarchy/class/type/KotlinFromJavaByRef/KotlinFromJavaByRef_verification.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/1_main.kt b/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/1_main.kt new file mode 100644 index 00000000000..e62683d0b1d --- /dev/null +++ b/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/1_main.kt @@ -0,0 +1 @@ +public open class BaseClass \ No newline at end of file diff --git a/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/2_main.kt b/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/2_main.kt new file mode 100644 index 00000000000..ac5eb7fcba7 --- /dev/null +++ b/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/2_main.kt @@ -0,0 +1 @@ +public open class DerivedClass: BaseClass() \ No newline at end of file diff --git a/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/KotlinFromKotlinByRef_verification.xml b/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/KotlinFromKotlinByRef_verification.xml new file mode 100644 index 00000000000..ed451d86040 --- /dev/null +++ b/idea/testData/hierarchy/class/type/KotlinFromKotlinByRef/KotlinFromKotlinByRef_verification.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/idea/tests/org/jetbrains/jet/plugin/hierarchy/HierarchyTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/hierarchy/HierarchyTestGenerated.java index fb5022717b5..438309dfbc2 100644 --- a/idea/tests/org/jetbrains/jet/plugin/hierarchy/HierarchyTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/hierarchy/HierarchyTestGenerated.java @@ -128,6 +128,11 @@ public class HierarchyTestGenerated extends AbstractHierarchyTest { doTypeClassHierarchyTest("idea/testData/hierarchy/class/type/JavaFromKotlin"); } + @TestMetadata("JavaFromKotlinByRef") + public void testJavaFromKotlinByRef() throws Exception { + doTypeClassHierarchyTest("idea/testData/hierarchy/class/type/JavaFromKotlinByRef"); + } + @TestMetadata("JavaFromKotlinForKotlinClass") public void testJavaFromKotlinForKotlinClass() throws Exception { doTypeClassHierarchyTest("idea/testData/hierarchy/class/type/JavaFromKotlinForKotlinClass"); @@ -148,6 +153,16 @@ public class HierarchyTestGenerated extends AbstractHierarchyTest { doTypeClassHierarchyTest("idea/testData/hierarchy/class/type/KotlinFromJava"); } + @TestMetadata("KotlinFromJavaByRef") + public void testKotlinFromJavaByRef() throws Exception { + doTypeClassHierarchyTest("idea/testData/hierarchy/class/type/KotlinFromJavaByRef"); + } + + @TestMetadata("KotlinFromKotlinByRef") + public void testKotlinFromKotlinByRef() throws Exception { + doTypeClassHierarchyTest("idea/testData/hierarchy/class/type/KotlinFromKotlinByRef"); + } + @TestMetadata("Object") public void testObject() throws Exception { doTypeClassHierarchyTest("idea/testData/hierarchy/class/type/Object");