From cc7284c67ec9e6f72861b298ac479295fdfa5a38 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 24 Apr 2012 17:50:57 +0400 Subject: [PATCH] Fixed failed assertions on navigating to 'Assertions' class of Kotlin runtime --- .../src/org/jetbrains/jet/resolve/DescriptorRenderer.java | 6 +++++- .../jet/plugin/libraries/JetClsNavigationPolicy.java | 7 ++----- .../jet/plugin/libraries/JetSourceNavigationHelper.java | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java index 783499a34d0..98283823254 100644 --- a/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java +++ b/compiler/frontend/src/org/jetbrains/jet/resolve/DescriptorRenderer.java @@ -336,7 +336,11 @@ public class DescriptorRenderer implements Renderer { } private void renderVisibility(Visibility visibility, StringBuilder builder) { - builder.append(renderKeyword(visibility.toString())).append(" "); + if ("package".equals(visibility.toString())) { + builder.append("public/*package*/ "); + } else { + builder.append(renderKeyword(visibility.toString())).append(" "); + } } private void renderModality(Modality modality, StringBuilder builder) { diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java b/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java index b510306b353..4c1b3181fa7 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java +++ b/idea/src/org/jetbrains/jet/plugin/libraries/JetClsNavigationPolicy.java @@ -21,10 +21,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.impl.compiled.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.lang.psi.JetClass; -import org.jetbrains.jet.lang.psi.JetDeclaration; -import org.jetbrains.jet.lang.psi.JetFunction; -import org.jetbrains.jet.lang.psi.JetProperty; +import org.jetbrains.jet.lang.psi.*; /** * @author Evgeny Gerashchenko @@ -39,7 +36,7 @@ public class JetClsNavigationPolicy implements ClsCustomNavigationPolicy { } JetClass jetClass = (JetClass) getJetDeclarationByClsElement(clsClass); if (jetClass != null) { - JetClass sourceClass = JetSourceNavigationHelper.getSourceClass(jetClass); + JetClassOrObject sourceClass = JetSourceNavigationHelper.getSourceClass(jetClass); if (sourceClass != null) { return sourceClass; } diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java b/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java index 9ad91f710d9..ac8b9b55ed2 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java +++ b/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java @@ -93,7 +93,7 @@ public class JetSourceNavigationHelper { } @Nullable - public static JetClass getSourceClass(@NotNull JetClass decompiledClass) { + public static JetClassOrObject getSourceClass(@NotNull JetClass decompiledClass) { Tuple2 bindingContextAndClassDescriptor = getBindingContextAndClassDescriptor(decompiledClass); if (bindingContextAndClassDescriptor == null) return null; PsiElement declaration = BindingContextUtils.classDescriptorToDeclaration( @@ -101,7 +101,7 @@ public class JetSourceNavigationHelper { if (declaration == null) { throw new IllegalStateException("class not found by " + bindingContextAndClassDescriptor._2); } - return (JetClass) declaration; + return (JetClassOrObject) declaration; } @NotNull