TagTest.java revision 2933:49d207bf704d
1/*
2 * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24/*
25 * @test
26 * @bug 7021614
27 * @summary extend com.sun.source API to support parsing javadoc comments
28 * @modules jdk.compiler/com.sun.tools.javac.api
29 *          jdk.compiler/com.sun.tools.javac.file
30 *          jdk.compiler/com.sun.tools.javac.tree
31 *          jdk.compiler/com.sun.tools.javac.util
32 * @build DocCommentTester
33 * @run main DocCommentTester TagTest.java
34 */
35
36class TagTest {
37    /**
38     * @author jjg
39     */
40    void simple_standard_block() { }
41/*
42DocComment[DOC_COMMENT, pos:1
43  firstSentence: empty
44  body: empty
45  block tags: 1
46    Author[AUTHOR, pos:1
47      name: 1
48        Text[TEXT, pos:9, jjg]
49    ]
50]
51*/
52
53    /**
54     * @ abc
55     */
56    void no_name_block() { }
57/*
58DocComment[DOC_COMMENT, pos:1
59  firstSentence: empty
60  body: empty
61  block tags: 1
62    Erroneous[ERRONEOUS, pos:1
63      code: compiler.err.dc.no.tag.name
64      body: @_abc
65    ]
66]
67*/
68
69    /**
70     * @abc def ghi
71     */
72    void unknown_name_block() { }
73/*
74DocComment[DOC_COMMENT, pos:1
75  firstSentence: empty
76  body: empty
77  block tags: 1
78    UnknownBlockTag[UNKNOWN_BLOCK_TAG, pos:1
79      tag:abc
80      content: 1
81        Text[TEXT, pos:6, def_ghi]
82    ]
83]
84*/
85
86    /**
87     * {@link String}
88     */
89    void simple_standard_inline() { }
90/*
91DocComment[DOC_COMMENT, pos:1
92  firstSentence: 1
93    Link[LINK, pos:1
94      reference:
95        Reference[REFERENCE, pos:8, String]
96      body: empty
97    ]
98  body: empty
99  block tags: empty
100]
101*/
102
103    /**
104     * {@ abc}
105     */
106    void no_name_inline() { }
107/*
108DocComment[DOC_COMMENT, pos:1
109  firstSentence: 2
110    Erroneous[ERRONEOUS, pos:1
111      code: compiler.err.dc.no.tag.name
112      body: {@
113    ]
114    Text[TEXT, pos:3, _abc}]
115  body: empty
116  block tags: empty
117]
118*/
119
120    /**
121     * {@abc def ghi}
122     */
123    void unknown_name_inline() { }
124/*
125DocComment[DOC_COMMENT, pos:1
126  firstSentence: 1
127    UnknownInlineTag[UNKNOWN_INLINE_TAG, pos:1
128      tag:abc
129      content: 1
130        Text[TEXT, pos:7, def_ghi]
131    ]
132  body: empty
133  block tags: empty
134]
135*/
136
137    /**
138     * {@abc def ghi
139     */
140    void unterminated_standard_inline() { }
141/*
142DocComment[DOC_COMMENT, pos:1
143  firstSentence: 1
144    Erroneous[ERRONEOUS, pos:1
145      code: compiler.err.dc.unterminated.inline.tag
146      body: {@abc_def_ghi
147    ]
148  body: empty
149  block tags: empty
150]
151*/
152
153}
154