src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java
changeset 48028 9e022f580a9d
parent 47216 71c04702a3d5
child 49197 cc2673fa8c20
--- 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);
     }