diff --git a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java index 4adb55985..2b5761742 100644 --- a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java +++ b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java @@ -22,7 +22,8 @@ public class HtmlJavadocProvider implements IJavadocProvider { public IJavadoc getJavadoc(IType type) { try { JavadocContents javadocContents = findHtml(type); - return new HtmlJavadoc(javadocContents.getTypeDoc(type)); + String html = javadocContents == null ? null : javadocContents.getTypeDoc(type); + return html == null ? null : new HtmlJavadoc(html); } catch (Exception e) { Log.log(e); return null; @@ -34,7 +35,8 @@ public class HtmlJavadocProvider implements IJavadocProvider { try { IType declaringType = field.getDeclaringType(); JavadocContents javadocContents = findHtml(declaringType); - return new HtmlJavadoc(javadocContents.getFieldDoc(field)); + String html = javadocContents == null ? null : javadocContents.getFieldDoc(field); + return html == null ? null : new HtmlJavadoc(html); } catch (Exception e) { Log.log(e); return null; @@ -46,7 +48,8 @@ public class HtmlJavadocProvider implements IJavadocProvider { try { IType declaringType = method.getDeclaringType(); JavadocContents javadocContents = findHtml(declaringType); - return new HtmlJavadoc(javadocContents.getMethodDoc(method)); + String html = javadocContents == null ? null : javadocContents.getMethodDoc(method); + return html == null ? null : new HtmlJavadoc(html); } catch (Exception e) { Log.log(e); return null; diff --git a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java index 8d9dcd589..80296589e 100644 --- a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java +++ b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java @@ -207,7 +207,7 @@ public class JavadocContents { int javadocStart = indexOfEndLink + JavadocConstants.ANCHOR_SUFFIX_LENGTH; int javadocEnd = indexOfNextElement == -1 ? indexOfBottom : Math.min(indexOfNextElement, indexOfBottom); - range = sanitizeRange(new int[]{javadocStart, javadocEnd}); + range = sanitizeRange(new int[]{javadocStart, javadocEnd}, "ul", "li"); } else { // the anchor has no suffix range = UNKNOWN_FORMAT; @@ -240,7 +240,7 @@ public class JavadocContents { // we take the end of class data final int indexOfStartOfClassData = CharOperation.indexOf(JavadocConstants.START_OF_CLASS_DATA, this.content, false); this.indexOfEndOfClassData = CharOperation.indexOf(JavadocConstants.END_OF_CLASS_DATA, this.content, false, lastIndex); - int[] classDataRange = sanitizeRange(new int[] { indexOfStartOfClassData + JavadocConstants.START_OF_CLASS_DATA.length, indexOfEndOfClassData}); + int[] classDataRange = sanitizeRange(new int[] { indexOfStartOfClassData + JavadocConstants.START_OF_CLASS_DATA.length, indexOfEndOfClassData}, "ul", "li", "div"); this.indexOfEndOfClassData = classDataRange[1]; // try to find the field detail end @@ -257,14 +257,14 @@ public class JavadocContents { this.indexOfAllMethodsBottom = this.indexOfEndOfClassData; // Get rid of possible