diff --git a/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java b/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java
index b21954ba6088..4f172ea20ec2 100644
--- a/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java
+++ b/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java
@@ -236,7 +236,7 @@ public class JavaDocumentationProvider extends DocumentationProviderEx implement
private static void writeTypeRefs(PsiClass aClass, StringBuilder buffer, PsiClassType[] refs) {
for (int i = 0; i < refs.length; i++) {
- JavaDocInfoGenerator.generateType(buffer, refs[i], aClass, false);
+ JavaDocInfoGenerator.generateType(buffer, refs[i], aClass, false, true);
if (i < refs.length - 1) {
buffer.append(", ");
@@ -260,7 +260,7 @@ public class JavaDocumentationProvider extends DocumentationProviderEx implement
buffer.append(" extends ");
for (int j = 0; j < refs.length; j++) {
- JavaDocInfoGenerator.generateType(buffer, refs[j], typeParameterOwner, false);
+ JavaDocInfoGenerator.generateType(buffer, refs[j], typeParameterOwner, false, true);
if (j < refs.length - 1) {
buffer.append(" & ");
@@ -297,7 +297,7 @@ public class JavaDocumentationProvider extends DocumentationProviderEx implement
generateTypeParameters(method, buffer);
if (method.getReturnType() != null) {
- JavaDocInfoGenerator.generateType(buffer, substitutor.substitute(method.getReturnType()), method, false);
+ JavaDocInfoGenerator.generateType(buffer, substitutor.substitute(method.getReturnType()), method, false, true);
buffer.append(" ");
}
@@ -307,7 +307,7 @@ public class JavaDocumentationProvider extends DocumentationProviderEx implement
PsiParameter[] params = method.getParameterList().getParameters();
for (int i = 0; i < params.length; i++) {
PsiParameter param = params[i];
- JavaDocInfoGenerator.generateType(buffer, substitutor.substitute(param.getType()), method, false);
+ JavaDocInfoGenerator.generateType(buffer, substitutor.substitute(param.getType()), method, false, true);
buffer.append(" ");
if (param.getName() != null) {
buffer.append(param.getName());
@@ -353,7 +353,7 @@ public class JavaDocumentationProvider extends DocumentationProviderEx implement
generateModifiers(buffer, field);
- JavaDocInfoGenerator.generateType(buffer, substitutor.substitute(field.getType()), field, false);
+ JavaDocInfoGenerator.generateType(buffer, substitutor.substitute(field.getType()), field, false, true);
buffer.append(" ");
buffer.append(field.getName());
@@ -368,7 +368,7 @@ public class JavaDocumentationProvider extends DocumentationProviderEx implement
generateModifiers(buffer, variable);
- JavaDocInfoGenerator.generateType(buffer, variable.getType(), variable, false);
+ JavaDocInfoGenerator.generateType(buffer, variable.getType(), variable, false, true);
buffer.append(" ");
diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/JavaDocumentationTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/JavaDocumentationTest.groovy
index 9d0002dd8a03..8ad6792cbfc5 100644
--- a/java/java-tests/testSrc/com/intellij/codeInsight/JavaDocumentationTest.groovy
+++ b/java/java-tests/testSrc/com/intellij/codeInsight/JavaDocumentationTest.groovy
@@ -116,7 +116,7 @@ class JavaDocumentationTest extends LightCodeInsightFixtureTestCase {
def ref = myFixture.file.findReferenceAt(myFixture.editor.caretModel.offset)
def doc = CtrlMouseHandler.getInfo(ref.resolve(), ref.element)
- assert doc == "Bar\n java.util.List<java.lang.String> foo(java.lang.String param)"
+ assert doc == "Bar\n List<String> foo(String param)"
}
void testGenericField() {
@@ -130,7 +130,7 @@ class JavaDocumentationTest extends LightCodeInsightFixtureTestCase {
def ref = myFixture.file.findReferenceAt(myFixture.editor.caretModel.offset)
def doc = CtrlMouseHandler.getInfo(ref.resolve(), ref.element)
- assert doc == "Bar\n java.lang.Integer field"
+ assert doc == "Bar\n Integer field"
}
void testMethodInAnonymousClass() {
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/DocPreviewUtil.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/DocPreviewUtil.java
index 94f03e849e0b..41af1721831b 100644
--- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/DocPreviewUtil.java
+++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/DocPreviewUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -136,12 +136,7 @@ public class DocPreviewUtil {
StringBuilder buffer = new StringBuilder(header);
replace(buffer, "\n", "
", modifiedRanges);
for (String replaceFrom : sortedReplacements) {
- String visibleName = replaceFrom;
- int i = visibleName.lastIndexOf('.');
- if (i > 0 && i < visibleName.length() - 1) {
- visibleName = visibleName.substring(i + 1);
- }
- replace(buffer, replaceFrom, String.format("%s", links.get(replaceFrom), visibleName), modifiedRanges);
+ replace(buffer, replaceFrom, String.format("%s", links.get(replaceFrom), replaceFrom), modifiedRanges);
}
return buffer.toString();
}
diff --git a/platform/lang-impl/testSources/com/intellij/codeInsight/navigation/DocPreviewUtilTest.groovy b/platform/lang-impl/testSources/com/intellij/codeInsight/navigation/DocPreviewUtilTest.groovy
index 34592ecfd0cb..d2d45722dcf9 100644
--- a/platform/lang-impl/testSources/com/intellij/codeInsight/navigation/DocPreviewUtilTest.groovy
+++ b/platform/lang-impl/testSources/com/intellij/codeInsight/navigation/DocPreviewUtilTest.groovy
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2016 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,8 +32,8 @@ class DocPreviewUtilTest {
def header = '''\
[< 1.7 >] java.lang
- public final class java.lang.String extends Object
- implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence\
+ public final class String extends Object
+ implements Serializable, Comparable<String>, CharSequence\
'''
def fullText = '''\
@@ -111,29 +111,11 @@ java.lang
public final class Strin
assertTrue(actual.endsWith(expected)) // Can't check for equals() because jdk name might differ on different machines.
}
- @Test
- void fieldTypeSubstitution() {
- def header = '''\
-Bar
- java.util.List<java.lang.String> foo (java.lang.String param)\
-'''
-
- def fullText = '''\
- Bar
\
-'''
-
- def expected = '''\
-Barjava.util.List<T> foo(T param)
List<String> foo (String param)\
-'''
- def actual = DocPreviewUtil.buildPreview(header, "java.lang.String", fullText)
- assertEquals(expected, actual)
- }
-
@Test
void crossingLinks() {
def header = '''\
OCCompletionPriority
-com.jetbrains.objc.lang.completion.OCCompletionPriority SMART_COMPLETION_PRIORITY'''
+OCCompletionPriority SMART_COMPLETION_PRIORITY'''
def fullText = '''\
com.jetbrains.objc.lang.completion.OCCompletionPriorityOCCompletionPriority SMART_COMPLETION_PRIORITY
@@ -150,7 +132,7 @@ Qname'''
void tailSubstrings() {
def header = '''\
PsiResolveHelperImpl
-public static com.intellij.openapi.util.Pair<com.intellij.psi.PsiType, com.intellij.psi.ConstraintType> getSubstitutionForTypeParameterConstraint (com.intellij.psi.PsiTypeParameter typeParam, com.intellij.psi.PsiType param, com.intellij.psi.PsiType arg, boolean isContraVariantPosition, com.intellij.pom.java.LanguageLevel languageLevel)'''
+public static Pair<PsiType, ConstraintType> getSubstitutionForTypeParameterConstraint (PsiTypeParameter typeParam, PsiType param, PsiType arg, boolean isContraVariantPosition, LanguageLevel languageLevel)'''
def fullText = '''\
com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl@Nullablepublic staticPair<PsiType,ConstraintType> getSubstitutionForTypeParameterConstraint(PsiTypeParametertypeParam, @@ -169,7 +151,7 @@ public static com.intellij.openapi.util.Pair<com.intellij.psi.PsiType, com.in void headSubstrings() { def header = '''\ ASTNode -com.intellij.openapi.util.TextRange getTextRange ()''' +TextRange getTextRange ()''' def fullText = '''\com.intellij.lang.ASTNode@@ -187,7 +169,7 @@ com.intellij.openapi.util.TextRange getTextRange ()''' void "single letter 'from' substitution"() { def header = '''\ E -org.denis.E A +E A Enum constant ordinal: 0''' def fullText = '''\TextRangegetTextRange()