--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java Thu Nov 30 07:54:28 2017 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java Thu Nov 30 04:43:09 2017 -0800
@@ -28,9 +28,8 @@
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.BreakIterator;
-import java.util.HashMap;
+import java.util.Collections;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -59,6 +58,8 @@
import com.sun.source.doctree.DocCommentTree;
import com.sun.source.doctree.DocTree;
+import com.sun.source.doctree.EndElementTree;
+import com.sun.source.doctree.StartElementTree;
import com.sun.source.tree.CatchTree;
import com.sun.source.tree.CompilationUnitTree;
import com.sun.source.tree.Scope;
@@ -68,6 +69,7 @@
import com.sun.source.util.DocTreeScanner;
import com.sun.source.util.DocTrees;
import com.sun.source.util.JavacTask;
+import com.sun.source.util.SimpleDocTreeVisitor;
import com.sun.source.util.TreePath;
import com.sun.tools.javac.code.Flags;
import com.sun.tools.javac.code.Scope.NamedImportScope;
@@ -1006,16 +1008,7 @@
public String getText() {
try {
CharSequence rawDoc = fileObject.getCharContent(true);
- Pattern bodyPat =
- Pattern.compile("(?is).*?<body\\b[^>]*>(.*)</body\\b.*");
- Matcher m = bodyPat.matcher(rawDoc);
- if (m.matches()) {
- offset = m.end(1);
- return m.group(1);
- } else {
- // Assume doclint will do the right thing.
- return "";
- }
+ return rawDoc.toString();
} catch (IOException ignore) {
// do nothing
}
@@ -1038,13 +1031,15 @@
}
};
- return new DocCommentParser(parser, diagSource, comment).parse();
+ return new DocCommentParser(parser, diagSource, comment, true).parse();
}
@Override @DefinedBy(Api.COMPILER_TREE)
public DocTreePath getDocTreePath(FileObject fileObject, PackageElement packageElement) {
JavaFileObject jfo = asJavaFileObject(fileObject);
DocCommentTree docCommentTree = getDocCommentTree(jfo);
+ if (docCommentTree == null)
+ return null;
TreePath treePath = makeTreePath((PackageSymbol)packageElement, jfo, docCommentTree);
return new DocTreePath(treePath, docCommentTree);
}