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 ad600c2ec778..3abdcbbdbb35 100644 --- a/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java +++ b/java/java-impl/src/com/intellij/codeInsight/javadoc/JavaDocInfoGenerator.java @@ -1463,7 +1463,10 @@ public class JavaDocInfoGenerator { } if (value != null) { - buffer.append(value); + String valueText = StringUtil.escapeXml(value.toString()); + if (value instanceof String) valueText = '"' + valueText + '"'; + if (valueField.equals(myElement)) buffer.append(valueText); // don't generate link to itself + else generateLink(buffer, valueField, valueText, true); } else { buffer.append(element.getText()); diff --git a/java/java-tests/testData/codeInsight/javadocIG/escapingStringValue.html b/java/java-tests/testData/codeInsight/javadocIG/escapingStringValue.html new file mode 100644 index 000000000000..5ece92695d12 --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/escapingStringValue.html @@ -0,0 +1 @@ +
Apublic static void JAVADOC_ME()The value of B is "a<b". \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/javadocIG/escapingStringValue.java b/java/java-tests/testData/codeInsight/javadocIG/escapingStringValue.java new file mode 100644 index 000000000000..aa8861cd57f8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/escapingStringValue.java @@ -0,0 +1,6 @@ +class A { + public static String B = "a
Apublic static void JAVADOC_ME()The value of A is 23.