Fix check in JetQuickDocumentationProvider#isKotlinDeclaration
Always return true if we navigated to JetElement
This commit is contained in:
committed by
Pavel V. Talanov
parent
1072b1943f
commit
e29c593c58
@@ -19,7 +19,6 @@ package org.jetbrains.jet.plugin;
|
||||
import com.google.common.base.Predicate;
|
||||
import com.intellij.lang.documentation.AbstractDocumentationProvider;
|
||||
import com.intellij.lang.java.JavaDocumentationProvider;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -87,7 +86,7 @@ public class JetQuickDocumentationProvider extends AbstractDocumentationProvider
|
||||
@NotNull DeclarationDescriptor declarationDescriptor, @NotNull BindingContext bindingContext,
|
||||
PsiElement element, PsiElement originalElement, boolean mergeKotlinAndJava) {
|
||||
String renderedDecl = DescriptorRenderer.HTML.render(declarationDescriptor);
|
||||
if (isKotlinDeclaration(declarationDescriptor, bindingContext, originalElement.getProject())) {
|
||||
if (isKotlinDeclaration(declarationDescriptor, bindingContext, element)) {
|
||||
KDoc comment = findElementKDoc(element);
|
||||
if (comment != null) {
|
||||
renderedDecl = renderedDecl + "<br/>" + kDocToHtml(comment);
|
||||
@@ -105,16 +104,19 @@ public class JetQuickDocumentationProvider extends AbstractDocumentationProvider
|
||||
return null;
|
||||
}
|
||||
|
||||
private static boolean isKotlinDeclaration(DeclarationDescriptor descriptor, BindingContext bindingContext, Project project) {
|
||||
private static boolean isKotlinDeclaration(
|
||||
DeclarationDescriptor descriptor,
|
||||
BindingContext bindingContext,
|
||||
PsiElement element
|
||||
) {
|
||||
if (JetLanguage.INSTANCE == element.getLanguage()) return true;
|
||||
PsiElement declaration = BindingContextUtils.descriptorToDeclaration(bindingContext, descriptor);
|
||||
if (declaration == null) {
|
||||
BuiltInsReferenceResolver libraryReferenceResolver = project
|
||||
.getComponent(BuiltInsReferenceResolver.class);
|
||||
BuiltInsReferenceResolver libraryReferenceResolver = element.getProject().getComponent(BuiltInsReferenceResolver.class);
|
||||
Collection<PsiElement> elements = libraryReferenceResolver.resolveBuiltInSymbol(descriptor);
|
||||
return !elements.isEmpty();
|
||||
}
|
||||
|
||||
if (JetLanguage.INSTANCE == declaration.getLanguage()) return true;
|
||||
ClsClassImpl clsClass = PsiTreeUtil.getParentOfType(declaration, ClsClassImpl.class);
|
||||
if (clsClass == null) return false;
|
||||
VirtualFile file = clsClass.getContainingFile().getVirtualFile();
|
||||
|
||||
Reference in New Issue
Block a user