langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java
author jjg
Fri, 15 Jan 2016 15:40:24 -0800
changeset 35346 c0614a805fad
child 37009 476d8d615222
permissions -rw-r--r--
8146208: Add a public DocTreeFactory to the Compiler Tree API Reviewed-by: ksrini
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35346
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     1
/*
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     2
 * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     4
 *
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    10
 *
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    15
 * accompanied this code).
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    16
 *
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    20
 *
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    23
 * questions.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    24
 */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    25
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    26
package com.sun.source.util;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    27
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    28
import java.util.List;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    29
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    30
import javax.lang.model.element.Name;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    31
import javax.tools.Diagnostic;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    32
import javax.tools.JavaFileObject;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    33
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    34
import com.sun.source.doctree.AttributeTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    35
import com.sun.source.doctree.AttributeTree.ValueKind;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    36
import com.sun.source.doctree.AuthorTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    37
import com.sun.source.doctree.CommentTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    38
import com.sun.source.doctree.DeprecatedTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    39
import com.sun.source.doctree.DocCommentTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    40
import com.sun.source.doctree.DocRootTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    41
import com.sun.source.doctree.DocTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    42
import com.sun.source.doctree.EndElementTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    43
import com.sun.source.doctree.EntityTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    44
import com.sun.source.doctree.ErroneousTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    45
import com.sun.source.doctree.IdentifierTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    46
import com.sun.source.doctree.IndexTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    47
import com.sun.source.doctree.InheritDocTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    48
import com.sun.source.doctree.LinkTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    49
import com.sun.source.doctree.LiteralTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    50
import com.sun.source.doctree.ParamTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    51
import com.sun.source.doctree.ReferenceTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    52
import com.sun.source.doctree.ReturnTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    53
import com.sun.source.doctree.SeeTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    54
import com.sun.source.doctree.SerialDataTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    55
import com.sun.source.doctree.SerialFieldTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    56
import com.sun.source.doctree.SerialTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    57
import com.sun.source.doctree.SinceTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    58
import com.sun.source.doctree.StartElementTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    59
import com.sun.source.doctree.TextTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    60
import com.sun.source.doctree.ThrowsTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    61
import com.sun.source.doctree.UnknownBlockTagTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    62
import com.sun.source.doctree.UnknownInlineTagTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    63
import com.sun.source.doctree.ValueTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    64
import com.sun.source.doctree.VersionTree;
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    65
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    66
/**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    67
 *  Factory for creating {@code DocTree} nodes.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    68
 *
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    69
 *  @implNote The methods in an implementation of this interface may only accept {@code DocTree}
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    70
 *  nodes that have been created by the same implementation.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    71
 *
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    72
 *  @since 9
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    73
 */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    74
public interface DocTreeFactory {
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    75
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    76
     * Create a new {@code AttributeTree} object, to represent an HTML attribute in an HTML tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    77
     * @param name  the name of the attribute
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    78
     * @param vkind the kind of attribute value
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    79
     * @param value the value, if any, of the attribute
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    80
     * @return an {@code AttributeTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    81
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    82
    AttributeTree newAttributeTree(Name name, ValueKind vkind, List<? extends DocTree> value);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    83
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    84
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    85
     * Create a new {@code AuthorTree} object, to represent an {@code {@author } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    86
     * @param name the name of the author
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    87
     * @return an {@code AuthorTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    88
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    89
    AuthorTree newAuthorTree(List<? extends DocTree> name);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    90
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    91
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    92
     * Create a new {@code CodeTree} object, to represent a {@code {@code } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    93
     * @param text the content of the tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    94
     * @return a {@code CodeTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    95
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    96
    LiteralTree newCodeTree(TextTree text);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    97
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    98
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
    99
     * Create a new {@code CommentTree}, to represent an HTML comment.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   100
     * @param text the content of the comment
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   101
     * @return a {@code CommentTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   102
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   103
    CommentTree newCommentTree(String text);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   104
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   105
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   106
     * Create a new {@code DeprecatedTree} object, to represent an {@code {@deprecated } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   107
     * @param text the content of the tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   108
     * @return a {@code DeprecatedTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   109
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   110
    DeprecatedTree newDeprecatedTree(List<? extends DocTree> text);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   111
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   112
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   113
     * Create a new {@code DocCommentTree} object, to represent a complete doc comment.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   114
     * @param firstSentence the first sentence of the doc comment
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   115
     * @param body the body of the doc comment following the first sentence
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   116
     * @param tags the block tags in the doc comment
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   117
     * @return a {@code DocCommentTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   118
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   119
    DocCommentTree newDocCommentTree(List<? extends DocTree> firstSentence, List<? extends DocTree> body, List<? extends DocTree> tags);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   120
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   121
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   122
     * Create a new {@code DocRootTree} object, to represent an {@code {@docroot} } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   123
     * @return a {@code DocRootTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   124
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   125
    DocRootTree newDocRootTree();
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   126
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   127
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   128
     * Create a new {@code EndElement} object, to represent the end of an HTML element.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   129
     * @param name the name of the HTML element
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   130
     * @return an {@code EndElementTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   131
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   132
    EndElementTree newEndElementTree(Name name);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   133
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   134
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   135
     * Create a new {@code EntityTree} object, to represent an HTML entity.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   136
     * @param name the name of the entity, representing the characters between '&lt;' and ';'
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   137
     * in the representation of the entity in an HTML document
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   138
     * @return an {@code EntityTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   139
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   140
    EntityTree newEntityTree(Name name);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   141
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   142
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   143
     * Create a new {@code ErroneousTree} object, to represent some unparseable input.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   144
     * @param text the unparseable text
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   145
     * @param diag a diagnostic associated with the unparseable text, or null
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   146
     * @return an {@code ErroneousTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   147
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   148
    ErroneousTree newErroneousTree(String text, Diagnostic<JavaFileObject> diag);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   149
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   150
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   151
     * Create a new {@code ExceptionTree} object, to represent an {@code @exception } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   152
     * @param name the name of the exception
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   153
     * @param description a description of why the exception might be thrown
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   154
     * @return an {@code ExceptionTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   155
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   156
    ThrowsTree newExceptionTree(ReferenceTree name, List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   157
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   158
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   159
     * Create a new {@code IdentifierTree} object, to represent an identifier, such as in a
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   160
     * {@code @param } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   161
     * @param name the name of the identifier
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   162
     * @return an {@code IdentifierTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   163
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   164
    IdentifierTree newIdentifierTree(Name name);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   165
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   166
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   167
     * Create a new {@code IndexTree} object, to represent an {@code {@index } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   168
     * @param term the search term
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   169
     * @param description an optional description of the search term
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   170
     * @return an {@code IndexTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   171
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   172
    IndexTree newIndexTree(DocTree term, List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   173
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   174
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   175
     * Create a new {@code InheritDocTree} object, to represent an {@code {@inheritDoc} } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   176
     * @return an {@code InheritDocTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   177
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   178
    InheritDocTree newInheritDocTree();
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   179
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   180
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   181
     * Create a new {@code LinkTree} object, to represent a {@code {@link } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   182
     * @param ref the API element being referenced
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   183
     * @param label an optional label for the link
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   184
     * @return a {@code LinkTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   185
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   186
    LinkTree newLinkTree(ReferenceTree ref, List<? extends DocTree> label);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   187
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   188
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   189
     * Create a new {@code LinkPlainTree} object, to represent a {@code {@linkplain } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   190
     * @param ref the API element being referenced
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   191
     * @param label an optional label for the link
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   192
     * @return a {@code LinkPlainTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   193
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   194
    LinkTree newLinkPlainTree(ReferenceTree ref, List<? extends DocTree> label);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   195
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   196
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   197
     * Create a new {@code LiteralTree} object, to represent a {@code {@literal } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   198
     * @param text the content of the tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   199
     * @return a {@code LiteralTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   200
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   201
    LiteralTree newLiteralTree(TextTree text);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   202
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   203
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   204
     * Create a new {@code ParamTree} object, to represent a {@code @param } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   205
     * @param isTypeParameter true if this is a type parameter, and false otherwise
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   206
     * @param name the parameter being described
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   207
     * @param description the description of the parameter
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   208
     * @return a {@code ParamTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   209
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   210
    ParamTree newParamTree(boolean isTypeParameter, IdentifierTree name, List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   211
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   212
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   213
     * Create a new {@code ReferenceTree} object, to represent a reference to an API element.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   214
     *
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   215
     * @param signature the doc comment signature of the reference
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   216
     * @return a {@code ReferenceTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   217
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   218
    ReferenceTree newReferenceTree(String signature);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   219
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   220
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   221
     * Create a new {@code ReturnTree} object, to represent a {@code @return } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   222
     * @param description the description of the return value of a method
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   223
     * @return a {@code ReturnTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   224
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   225
    ReturnTree newReturnTree(List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   226
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   227
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   228
     * Create a new {@code SeeTree} object, to represent a {@code @see } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   229
     * @param reference the reference
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   230
     * @return a {@code SeeTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   231
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   232
    SeeTree newSeeTree(List<? extends DocTree> reference);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   233
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   234
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   235
     * Create a new {@code SerialTree} object, to represent a {@code @serial } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   236
     * @param description the description for the tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   237
     * @return a {@code SerialTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   238
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   239
    SerialTree newSerialTree(List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   240
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   241
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   242
     * Create a new {@code SerialDataTree} object, to represent a {@code @serialData } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   243
     * @param description the description for the tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   244
     * @return a {@code SerialDataTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   245
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   246
    SerialDataTree newSerialDataTree(List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   247
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   248
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   249
     * Create a new {@code SerialFieldTree} object, to represent a {@code @serialField } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   250
     * @param name the name of the field
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   251
     * @param type the type of the field
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   252
     * @param description the description of the field
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   253
     * @return a {@code SerialFieldTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   254
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   255
    SerialFieldTree newSerialFieldTree(IdentifierTree name, ReferenceTree type, List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   256
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   257
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   258
     * Create a new {@code SinceTree} object, to represent a {@code @since } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   259
     * @param text the content of the tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   260
     * @return a {@code SinceTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   261
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   262
    SinceTree newSinceTree(List<? extends DocTree> text);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   263
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   264
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   265
     * Create a new {@code StartElementTree} object, to represent the start of an HTML element.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   266
     * @param name the name of the HTML element
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   267
     * @param attrs the attributes
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   268
     * @param selfClosing true if the start element is marked as self-closing; otherwise false
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   269
     * @return a {@code StartElementTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   270
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   271
    StartElementTree newStartElementTree(Name name, List<? extends DocTree> attrs, boolean selfClosing);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   272
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   273
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   274
     * Create a new {@code TextTree} object, to represent some plain text.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   275
     * @param text the text
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   276
     * @return a {@code TextTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   277
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   278
    TextTree newTextTree(String text);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   279
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   280
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   281
     * Create a new {@code ThrowsTree} object, to represent a {@code @throws } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   282
     * @param name the name of the exception
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   283
     * @param description a description of why the exception might be thrown
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   284
     * @return a {@code ThrowsTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   285
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   286
    ThrowsTree newThrowsTree(ReferenceTree name, List<? extends DocTree> description);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   287
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   288
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   289
     * Create a new {@code UnknownBlockTagTree} object, to represent an unrecognized block tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   290
     * @param name the name of the block tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   291
     * @param content the content
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   292
     * @return an {@code UnknownBlockTagTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   293
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   294
    UnknownBlockTagTree newUnknownBlockTagTree(Name name, List<? extends DocTree> content);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   295
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   296
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   297
     * Create a new {@code UnknownInlineTagTree} object, to represent an unrecognized inline tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   298
     * @param name the name of the inline tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   299
     * @param content the content
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   300
     * @return an {@code UnknownInlineTagTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   301
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   302
    UnknownInlineTagTree newUnknownInlineTagTree(Name name, List<? extends DocTree> content);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   303
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   304
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   305
     * Create a new {@code ValueTree} object, to represent a {@code {@value } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   306
     * @param ref a reference to the value
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   307
     * @return a {@code ValueTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   308
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   309
    ValueTree newValueTree(ReferenceTree ref);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   310
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   311
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   312
     * Create a new {@code VersionTree} object, to represent a {@code {@version } } tag.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   313
     * @param text the content of the tag
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   314
     * @return a {@code VersionTree} object
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   315
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   316
    VersionTree newVersionTree(List<? extends DocTree> text);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   317
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   318
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   319
     * Set the position to be recorded in subsequent tree nodes created by this factory.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   320
     * The position should be a character offset relative to the beginning of the source file
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   321
     * or {@link javax.tools.Diagnostic#NOPOS NOPOS}.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   322
     * @param pos the position
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   323
     * @return this object, to facilitate method chaining
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   324
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   325
    DocTreeFactory at(int pos);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   326
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   327
    /**
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   328
     * Get the first sentence contained in a list of content.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   329
     * The determination of the first sentence is implementation specific, and may
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   330
     * involve the use of a locale-specific {@link java.text.BreakIterator BreakIterator}
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   331
     * and other heuristics.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   332
     * The resulting list may share a common set of initial items with the input list.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   333
     * @param list the list
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   334
     * @return a list containing the first sentence of the list.
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   335
     */
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   336
    List<DocTree> getFirstSentence(List<? extends DocTree> list);
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   337
c0614a805fad 8146208: Add a public DocTreeFactory to the Compiler Tree API
jjg
parents:
diff changeset
   338
}