diff --git a/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java b/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java index 67e68008589d..4813c7888cc9 100644 --- a/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java +++ b/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java @@ -1457,6 +1457,14 @@ public class JavaDocInfoGenerator { */ @SuppressWarnings({"HardCodedStringLiteral"}) public static int generateType(StringBuilder buffer, PsiType type, PsiElement context) { + return generateType(buffer, type, context, true); + } + + /** + * @return Length of the generated label. + */ + @SuppressWarnings({"HardCodedStringLiteral"}) + public static int generateType(StringBuilder buffer, PsiType type, PsiElement context, boolean generateLink) { if (type instanceof PsiPrimitiveType) { String text = type.getCanonicalText(); buffer.append(text); @@ -1464,7 +1472,7 @@ public class JavaDocInfoGenerator { } if (type instanceof PsiArrayType) { - int rest = generateType(buffer, ((PsiArrayType)type).getComponentType(), context); + int rest = generateType(buffer, ((PsiArrayType)type).getComponentType(), context, generateLink); if ((type instanceof PsiEllipsisType)) { buffer.append("..."); return rest + 3; @@ -1485,7 +1493,7 @@ public class JavaDocInfoGenerator { if (bound != null){ final String keyword = wt.isExtends() ? " extends " : " super "; buffer.append(keyword); - return generateType(buffer, bound, context) + 1 + keyword.length(); + return generateType(buffer, bound, context, generateLink) + 1 + keyword.length(); } return 1; @@ -1510,7 +1518,7 @@ public class JavaDocInfoGenerator { return text.length(); } - int length = generateLink(buffer, qName, null, context, false); + int length = generateLink ? generateLink(buffer, qName, null, context, false) : 0; if (psiClass.hasTypeParameters()) { StringBuilder subst = new StringBuilder(); @@ -1527,7 +1535,7 @@ public class JavaDocInfoGenerator { break; } - length += generateType(subst, t, context); + length += generateType(subst, t, context, generateLink); if (i < params.length - 1) { subst.append(", "); 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 6328cd086867..b75b6f269199 100644 --- a/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java +++ b/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java @@ -190,7 +190,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext buffer.append(" extends "); for (int j = 0; j < refs.length; j++) { - JavaDocInfoGenerator.generateType(buffer, refs[j], aClass); + JavaDocInfoGenerator.generateType(buffer, refs[j], aClass, false); if (j < refs.length - 1) { buffer.append(" & "); @@ -217,7 +217,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext } else { for (int i = 0; i < refs.length; i++) { - JavaDocInfoGenerator.generateType(buffer, refs[i], aClass); + JavaDocInfoGenerator.generateType(buffer, refs[i], aClass, false); if (i < refs.length - 1) { buffer.append(", "); @@ -232,7 +232,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext newLine(buffer); buffer.append("implements "); for (int i = 0; i < refs.length; i++) { - JavaDocInfoGenerator.generateType(buffer, refs[i], aClass); + JavaDocInfoGenerator.generateType(buffer, refs[i], aClass, false); if (i < refs.length - 1) { buffer.append(", "); @@ -271,7 +271,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext buffer.append(" extends "); for (int j = 0; j < extendees.length; j++) { - JavaDocInfoGenerator.generateType(buffer, extendees[j], method); + JavaDocInfoGenerator.generateType(buffer, extendees[j], method, false); if (j < extendees.length - 1) { buffer.append(" & "); @@ -287,7 +287,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext } if (method.getReturnType() != null) { - JavaDocInfoGenerator.generateType(buffer, method.getReturnType(), method); + JavaDocInfoGenerator.generateType(buffer, method.getReturnType(), method, false); buffer.append(" "); } @@ -297,7 +297,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext PsiParameter[] parms = method.getParameterList().getParameters(); for (int i = 0; i < parms.length; i++) { PsiParameter parm = parms[i]; - JavaDocInfoGenerator.generateType(buffer, parm.getType(), method); + JavaDocInfoGenerator.generateType(buffer, parm.getType(), method, false); buffer.append(" "); if (parm.getName() != null) { buffer.append(parm.getName()); @@ -343,7 +343,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext generateModifiers(buffer, field); - JavaDocInfoGenerator.generateType(buffer, field.getType(), field); + JavaDocInfoGenerator.generateType(buffer, field.getType(), field, false); buffer.append(" "); buffer.append(field.getName()); @@ -357,7 +357,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext generateModifiers(buffer, variable); - JavaDocInfoGenerator.generateType(buffer, variable.getType(), variable); + JavaDocInfoGenerator.generateType(buffer, variable.getType(), variable, false); buffer.append(" ");