001////////////////////////////////////////////////////////////////////////////////
002// checkstyle: Checks Java source code for adherence to a set of rules.
003// Copyright (C) 2001-2020 the original author or authors.
004//
005// This library is free software; you can redistribute it and/or
006// modify it under the terms of the GNU Lesser General Public
007// License as published by the Free Software Foundation; either
008// version 2.1 of the License, or (at your option) any later version.
009//
010// This library is distributed in the hope that it will be useful,
011// but WITHOUT ANY WARRANTY; without even the implied warranty of
012// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013// Lesser General Public License for more details.
014//
015// You should have received a copy of the GNU Lesser General Public
016// License along with this library; if not, write to the Free Software
017// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
018////////////////////////////////////////////////////////////////////////////////
019
020package com.puppycrawl.tools.checkstyle.api;
021
022import com.puppycrawl.tools.checkstyle.grammar.javadoc.JavadocParser;
023
024/**
025 * Contains the constants for all the tokens contained in the Abstract
026 * Syntax Tree for the javadoc grammar.
027 *
028 * @see <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html">
029 * javadoc - The Java API Documentation Generator</a>
030 */
031public final class JavadocTokenTypes {
032
033    //--------------------------------------------------------------------------------------------//
034    //------------------        JAVADOC TAGS          --------------------------------------------//
035    //--------------------------------------------------------------------------------------------//
036
037    /**
038     * '@return' literal in {@code @return} Javadoc tag.
039     *
040     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
041     *
042     * <p><b>Example:</b></p>
043     * <pre>{@code @return true if file exists}</pre>
044     * <b>Tree:</b>
045     * <pre>{@code
046     *   |--JAVADOC_TAG[4x3] : [@return true if file exists]
047     *       |--RETURN_LITERAL[4x3] : [@return]
048     *       |--WS[4x10] : [ ]
049     *       |--DESCRIPTION[4x11] : [true if file exists]
050     *           |--TEXT[4x11] : [true if file exists]
051     * }</pre>
052     *
053     * @see
054     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCDBGG">
055     * Oracle Docs</a>
056     * @see #JAVADOC_TAG
057     */
058    public static final int RETURN_LITERAL = JavadocParser.RETURN_LITERAL;
059
060    /**
061     * '{@literal @}deprecated' literal in {@literal @}deprecated Javadoc tag.
062     *
063     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
064     *
065     * <p><b>Example:</b></p>
066     * <pre>{@code @deprecated it is deprecated method}</pre>
067     * <b>Tree:</b>
068     * <pre>{@code
069     *   |--JAVADOC_TAG[3x0] : [@deprecated it is deprecated method]
070     *   |--DEPRECATED_LITERAL[3x0] : [@deprecated]
071     *   |--WS[3x11] : [ ]
072     *   |--DESCRIPTION[3x12] : [it is deprecated method]
073     *       |--TEXT[3x12] : [it is deprecated method]
074     * }</pre>
075     *
076     * @see
077     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#deprecated">
078     * Oracle Docs</a>
079     * @see #JAVADOC_TAG
080     */
081    public static final int DEPRECATED_LITERAL = JavadocParser.DEPRECATED_LITERAL;
082
083    /**
084     * '@since' literal in {@code @since} Javadoc tag.
085     *
086     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
087     *
088     * <p><b>Example:</b></p>
089     * <pre>{@code @since 3.4 RELEASE}</pre>
090     * <b>Tree:</b>
091     * <pre>{@code
092     *   |--JAVADOC_TAG[3x0] : [@since 3.4 RELEASE]
093     *       |--SINCE_LITERAL[3x0] : [@since]
094     *       |--WS[3x6] : [ ]
095     *       |--DESCRIPTION[3x7] : [3.4 RELEASE]
096     *           |--TEXT[3x7] : [3.4 RELEASE]
097     * }</pre>
098     *
099     * @see
100     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHGJGD">
101     * Oracle Docs</a>
102     * @see #JAVADOC_TAG
103     */
104    public static final int SINCE_LITERAL = JavadocParser.SINCE_LITERAL;
105
106    /**
107     * '@serialData' literal in {@code @serialData} Javadoc tag.
108     *
109     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
110     *
111     * <p><b>Example:</b></p>
112     * <pre>{@code @serialData two values of Integer type}</pre>
113     * <b>Tree:</b>
114     * <pre>{@code
115     *   |--JAVADOC_TAG[3x0] : [@serialData two values of Integer type ]
116     *       |--SERIAL_DATA_LITERAL[3x0] : [@serialData]
117     *       |--WS[3x11] : [ ]
118     *       |--DESCRIPTION[3x12] : [two values of Integer type ]
119     *           |--TEXT[3x12] : [two values of Integer type ]
120     * }
121     * </pre>
122     *
123     * @see
124     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDJBFDB">
125     * Oracle Docs</a>
126     * @see #JAVADOC_TAG
127     */
128    public static final int SERIAL_DATA_LITERAL = JavadocParser.SERIAL_DATA_LITERAL;
129
130    /**
131     * '@serialField' literal in {@code @serialField} Javadoc tag.
132     *
133     * <p>Such Javadoc tag can have three arguments:</p>
134     * <ol>
135     * <li>{@link #FIELD_NAME}</li>
136     * <li>{@link #FIELD_TYPE}</li>
137     * <li>{@link #DESCRIPTION}</li>
138     * </ol>
139     *
140     * <p><b>Example:</b></p>
141     * <pre>{@code @serialField counter Integer objects counter}</pre>
142     * <b>Tree:</b>
143     * <pre>{@code
144     *   |--JAVADOC_TAG[3x0] : [@serialField counter Integer objects counter]
145     *       |--SERIAL_FIELD_LITERAL[3x0] : [@serialField]
146     *       |--WS[3x12] : [ ]
147     *       |--FIELD_NAME[3x13] : [counter]
148     *       |--WS[3x20] : [ ]
149     *       |--FIELD_TYPE[3x21] : [Integer]
150     *       |--WS[3x28] : [ ]
151     *       |--DESCRIPTION[3x29] : [objects counter]
152     *           |--TEXT[3x29] : [objects counter]
153     * }</pre>
154     *
155     * @see
156     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDGHIDG">
157     * Oracle Docs</a>
158     * @see #JAVADOC_TAG
159     */
160    public static final int SERIAL_FIELD_LITERAL = JavadocParser.SERIAL_FIELD_LITERAL;
161
162    /**
163     * '@param' literal in {@code @param} Javadoc tag.
164     *
165     * <p>Such Javadoc tag can have two arguments:</p>
166     * <ol>
167     * <li>{@link #PARAMETER_NAME}</li>
168     * <li>{@link #DESCRIPTION}</li>
169     * </ol>
170     *
171     * <p><b>Example:</b></p>
172     * <pre>{@code @param T The bar.}</pre>
173     * <b>Tree:</b>
174     * <pre>{@code
175     *   |--JAVADOC_TAG[4x3] : [@param T The bar.]
176     *       |--PARAM_LITERAL[4x3] : [@param]
177     *       |--WS[4x9] : [ ]
178     *       |--PARAMETER_NAME[4x10] : [T]
179     *       |--WS[4x11] : [ ]
180     *       |--DESCRIPTION[4x12] : [The bar.]
181     *           |--TEXT[4x12] : [The bar.]
182     * }</pre>
183     *
184     * @see
185     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHJECF">
186     * Oracle Docs</a>
187     * @see #JAVADOC_TAG
188     */
189    public static final int PARAM_LITERAL = JavadocParser.PARAM_LITERAL;
190
191    /**
192     * '@see' literal in {@code @see} Javadoc tag.
193     *
194     * <p>Such Javadoc tag can have one argument - {@link #REFERENCE}</p>
195     *
196     * <p><b>Example:</b></p>
197     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
198     * <b>Tree:</b>
199     * <pre>{@code
200     *   |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
201     *       |--SEE_LITERAL[3x0] : [@see]
202     *       |--WS[3x4] : [ ]
203     *       |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
204     *           |--PACKAGE_CLASS[3x5] : [org.apache.utils]
205     *           |--DOT[3x21] : [.]
206     *           |--CLASS[3x22] : [Lists]
207     *           |--DOT[3x27] : [.]
208     *           |--CLASS[3x28] : [Comparator]
209     *           |--HASH[3x38] : [#]
210     *           |--MEMBER[3x39] : [compare]
211     *           |--PARAMETERS[3x46] : [(Object)]
212     *               |--LEFT_BRACE[3x46] : [(]
213     *               |--ARGUMENT[3x47] : [Object]
214     *               |--RIGHT_BRACE[3x53] : [)]
215     * }</pre>
216     *
217     * @see
218     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDIEDI">
219     * Oracle Docs</a>
220     * @see #JAVADOC_TAG
221     */
222    public static final int SEE_LITERAL = JavadocParser.SEE_LITERAL;
223
224    /**
225     * '@serial' literal in {@code @serial} Javadoc tag.
226     *
227     * <p>Such Javadoc tag can have one argument - {@link #REFERENCE} or {@link #LITERAL_EXCLUDE}
228     * or {@link #LITERAL_INCLUDE}</p>
229     *
230     * <p><b>Example:</b></p>
231     * <pre>{@code @serial include}</pre>
232     * <b>Tree:</b>
233     * <pre>{@code
234     *   |--JAVADOC_TAG[3x0] : [@serial include]
235     *       |--SERIAL_LITERAL[3x0] : [@serial]
236     *       |--WS[3x7] : [ ]
237     *       |--LITERAL_INCLUDE[3x8] : [include]
238     * }</pre>
239     *
240     * <p><b>Example:</b></p>
241     * <pre>{@code @serial serialized company name}</pre>
242     * <b>Tree:</b>
243     * <pre>{@code
244     *   |--JAVADOC_TAG[3x0] : [@serial serialized company name]
245     *       |--SERIAL_LITERAL[3x0] : [@serial]
246     *       |--WS[3x7] : [ ]
247     *       |--DESCRIPTION[3x8] : [serialized company name]
248     *           |--TEXT[3x8] : [serialized company name]
249     * }</pre>
250     *
251     * @see
252     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
253     * Oracle Docs</a>
254     * @see #JAVADOC_TAG
255     */
256    public static final int SERIAL_LITERAL = JavadocParser.SERIAL_LITERAL;
257
258    /**
259     * '@version' literal in {@code @version} Javadoc tag.
260     *
261     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
262     *
263     * <p><b>Example:</b></p>
264     * <pre>{@code @version 1.3}</pre>
265     * <b>Tree:</b>
266     * <pre>{@code
267     *   |--JAVADOC_TAG[3x0] : [@version 1.3]
268     *       |--VERSION_LITERAL[3x0] : [@version]
269     *       |--WS[3x8] : [ ]
270     *       |--DESCRIPTION[3x9] : [1.3]
271     *           |--TEXT[3x9] : [1.3]
272     * }</pre>
273     *
274     * @see
275     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCHBAE">
276     * Oracle Docs</a>
277     * @see #JAVADOC_TAG
278     */
279    public static final int VERSION_LITERAL = JavadocParser.VERSION_LITERAL;
280
281    /**
282     * '@exception' literal in {@code @exception} Javadoc tag.
283     *
284     * <p>Such Javadoc tag can have two argument - {@link #CLASS_NAME} and {@link #DESCRIPTION}</p>
285     *
286     * <p><b>Example:</b></p>
287     * <pre>{@code @exception SQLException if query is not correct}</pre>
288     * <b>Tree:</b>
289     * <pre>{@code
290     *   |--JAVADOC_TAG[3x0] : [@exception SQLException if query is not correct]
291     *       |--EXCEPTION_LITERAL[3x0] : [@exception]
292     *       |--WS[3x10] : [ ]
293     *       |--CLASS_NAME[3x11] : [SQLException]
294     *       |--WS[3x23] : [ ]
295     *       |--DESCRIPTION[3x24] : [if query is not correct]
296     *           |--TEXT[3x24] : [if query is not correct]
297     * }</pre>
298     *
299     * @see
300     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCEAHH">
301     * Oracle Docs</a>
302     * @see #JAVADOC_TAG
303     */
304    public static final int EXCEPTION_LITERAL = JavadocParser.EXCEPTION_LITERAL;
305
306    /**
307     * '@throws' literal in {@code @throws} Javadoc tag.
308     *
309     * <p>Such Javadoc tag can have two argument - {@link #CLASS_NAME} and {@link #DESCRIPTION}</p>
310     *
311     * <p><b>Example:</b></p>
312     * <pre>{@code @throws SQLException if query is not correct}</pre>
313     * <b>Tree:</b>
314     * <pre>{@code
315     *   |--JAVADOC_TAG[3x0] : [@throws SQLException if query is not correct]
316     *       |--THROWS_LITERAL[3x0] : [@throws]
317     *       |--WS[3x7] : [ ]
318     *       |--CLASS_NAME[3x8] : [SQLException]
319     *       |--WS[3x20] : [ ]
320     *       |--DESCRIPTION[3x21] : [if query is not correct]
321     *           |--TEXT[3x21] : [if query is not correct]
322     * }</pre>
323     *
324     * @see
325     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCHAHD">
326     * Oracle Docs</a>
327     * @see #JAVADOC_TAG
328     */
329    public static final int THROWS_LITERAL = JavadocParser.THROWS_LITERAL;
330
331    /**
332     * '@author' literal in {@code @author} Javadoc tag.
333     *
334     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
335     *
336     * <p><b>Example:</b></p>
337     * <pre>{@code @author Baratali Izmailov}</pre>
338     * <b>Tree:</b>
339     * <pre>{@code
340     *   |--JAVADOC_TAG[3x0] : [@author Baratali Izmailov]
341     *       |--AUTHOR_LITERAL[3x0] : [@author]
342     *       |--WS[3x7] : [ ]
343     *       |--DESCRIPTION[3x8] : [Baratali Izmailov]
344     *           |--TEXT[3x8] : [Baratali Izmailov]
345     * }</pre>
346     *
347     * @see
348     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCBAHA">
349     * Oracle Docs</a>
350     * @see #JAVADOC_TAG
351     */
352    public static final int AUTHOR_LITERAL = JavadocParser.AUTHOR_LITERAL;
353
354    /**
355     * Name of custom Javadoc tag (or Javadoc inline tag).
356     *
357     * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
358     *
359     * <p><b>Example:</b></p>
360     * <pre>{@code @myJavadocTag some magic}</pre>
361     * <b>Tree:</b>
362     * <pre>{@code
363     *   |--JAVADOC_TAG[3x0] : [@myJavadocTag some magic]
364     *       |--CUSTOM_NAME[3x0] : [@myJavadocTag]
365     *       |--WS[3x13] : [ ]
366     *       |--DESCRIPTION[3x14] : [some magic]
367     *           |--TEXT[3x14] : [some magic]
368     * }</pre>
369     */
370    public static final int CUSTOM_NAME = JavadocParser.CUSTOM_NAME;
371
372    /**
373     * First child of {@link #JAVADOC_INLINE_TAG} that represents left curly brace '{'.
374     *
375     * <p><b>Example:</b></p>
376     * <pre><code>{&#64;code Comparable&lt;E&gt;}</code></pre>
377     * <b>Tree:</b>
378     * <pre>
379     * <code> |--JAVADOC_INLINE_TAG[3x0] : [{&#64;code Comparable&lt;E&gt;}]
380     *         |--JAVADOC_INLINE_TAG_START[3x0] : [{]
381     *         |--CODE_LITERAL[3x1] : [@code]
382     *         |--WS[3x6] : [ ]
383     *         |--TEXT[3x7] : [Comparable&lt;E&gt;]
384     *         |--JAVADOC_INLINE_TAG_END[3x21] : [}]
385     * </code>
386     * </pre>
387     * @noinspection HtmlTagCanBeJavadocTag
388     */
389    public static final int JAVADOC_INLINE_TAG_START = JavadocParser.JAVADOC_INLINE_TAG_START;
390
391    /**
392     * Last child of {@link #JAVADOC_INLINE_TAG} that represents right curly brace '}'.
393     *
394     * <p><b>Example:</b></p>
395     * <pre><code>{&#64;code Comparable&lt;E&gt;}</code></pre>
396     * <b>Tree:</b>
397     * <pre>
398     * <code> |--JAVADOC_INLINE_TAG[3x0] : [{&#64;code Comparable&lt;E&gt;}]
399     *         |--JAVADOC_INLINE_TAG_START[3x0] : [{]
400     *         |--CODE_LITERAL[3x1] : [@code]
401     *         |--WS[3x6] : [ ]
402     *         |--TEXT[3x7] : [Comparable&lt;E&gt;]
403     *         |--JAVADOC_INLINE_TAG_END[3x21] : [}]
404     * </code>
405     * </pre>
406     * @noinspection HtmlTagCanBeJavadocTag
407     */
408    public static final int JAVADOC_INLINE_TAG_END = JavadocParser.JAVADOC_INLINE_TAG_END;
409
410    /**
411     * '@code' literal in {&#64;code} Javadoc inline tag.
412     *
413     * <p>Such Javadoc inline tag can have such child nodes:</p>
414     * <ul>
415     * <li>{@link #NEWLINE}</li>
416     * <li>{@link #WS}</li>
417     * <li>{@link #TEXT}</li>
418     * </ul>
419     *
420     * <p><b>Example:</b></p>
421     * <pre><code>{&#64;code Comparable&lt;E&gt;}</code></pre>
422     * <b>Tree:</b>
423     * <pre>
424     * <code> |--JAVADOC_INLINE_TAG[3x0] : [{&#64;code Comparable&lt;E&gt;}]
425     *         |--JAVADOC_INLINE_TAG_START[3x0] : [{]
426     *         |--CODE_LITERAL[3x1] : [@code]
427     *         |--WS[3x6] : [ ]
428     *         |--TEXT[3x7] : [Comparable&lt;E&gt;]
429     *         |--JAVADOC_INLINE_TAG_END[3x21] : [}]
430     * </code>
431     * </pre>
432     *
433     * @see
434     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDFHHBB">
435     * Oracle Docs</a>
436     * @see #JAVADOC_INLINE_TAG
437     * @noinspection HtmlTagCanBeJavadocTag
438     */
439    public static final int CODE_LITERAL = JavadocParser.CODE_LITERAL;
440
441    /**
442     * '@docRoot' literal in {&#64;docRoot} Javadoc inline tag.
443     *
444     * <p>Such Javadoc inline tag does not have any arguments and can have such child nodes:</p>
445     * <ul>
446     * <li>{@link #NEWLINE}</li>
447     * <li>{@link #WS}</li>
448     * </ul>
449     *
450     * <p><b>Example:</b></p>
451     * <pre><code>{&#64;docRoot}</code></pre>
452     * <b>Tree:</b>
453     * <pre>
454     * <code>  |--JAVADOC_INLINE_TAG[1x0] : [{&#64;docRoot}]
455     *            |--JAVADOC_INLINE_TAG_START[1x0] : [{]
456     *            |--DOC_ROOT_LITERAL[1x1] : [@docRoot]
457     *            |--JAVADOC_INLINE_TAG_END[2x0] : [}]
458     * </code>
459     * </pre>
460     *
461     * <p><b>Example:</b></p>
462     * <pre><code>{&#64;docRoot
463     *}</code></pre>
464     * <b>Tree:</b>
465     * <pre>
466     * <code>  |--JAVADOC_INLINE_TAG[1x0] : [{&#64;docRoot \n}]
467     *            |--JAVADOC_INLINE_TAG_START[1x0] : [{]
468     *            |--DOC_ROOT_LITERAL[1x1] : [@docRoot]
469     *            |--WS[1x9] : [ ]
470     *            |--NEWLINE[1x10] : [\n]
471     *            |--JAVADOC_INLINE_TAG_END[2x0] : [}]
472     * </code>
473     * </pre>
474     *
475     * @see
476     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDBACBF">
477     * Oracle Docs</a>
478     * @see #JAVADOC_INLINE_TAG
479     * @noinspection HtmlTagCanBeJavadocTag
480     */
481    public static final int DOC_ROOT_LITERAL = JavadocParser.DOC_ROOT_LITERAL;
482
483    /**
484     * '@link' literal in {&#64;link} Javadoc inline tag.
485     * <p>Such Javadoc inline tag can have one argument - {@link #REFERENCE}</p>
486     * <p><b>Example:</b></p>
487     * <pre><code>{&#64;link org.apache.utils.Lists.Comparator#compare(Object)}</code></pre>
488     * <p><b>Tree:</b></p>
489     * <pre>
490     * <code> |--JAVADOC_INLINE_TAG[1x0] :
491     *               [{&#64;link org.apache.utils.Lists.Comparator#compare(Object)}]
492     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
493     *        |--LINK_LITERAL[1x1] : [@link]
494     *        |--WS[1x6] : [ ]
495     *        |--REFERENCE[1x7] : [org.apache.utils.Lists.Comparator#compare(Object)]
496     *            |--PACKAGE_CLASS[1x7] : [org.apache.utils]
497     *            |--DOT[1x23] : [.]
498     *            |--CLASS[1x24] : [Lists]
499     *            |--DOT[1x29] : [.]
500     *            |--CLASS[1x30] : [Comparator]
501     *            |--HASH[1x40] : [#]
502     *            |--MEMBER[1x41] : [compare]
503     *            |--PARAMETERS[1x48] : [(Object)]
504     *                |--LEFT_BRACE[1x48] : [(]
505     *                |--ARGUMENT[1x49] : [Object]
506     *                |--RIGHT_BRACE[1x55] : [)]
507     *        |--JAVADOC_INLINE_TAG_END[1x56] : [}]
508     * </code>
509     * </pre>
510     *
511     * @see
512     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDIECH">
513     * Oracle Docs</a>
514     * @see #JAVADOC_INLINE_TAG
515     * @noinspection HtmlTagCanBeJavadocTag
516     */
517    public static final int LINK_LITERAL = JavadocParser.LINK_LITERAL;
518
519    /**
520     * '@inheritDoc' literal in {&#64;inheritDoc} Javadoc inline tag.
521     *
522     * <p>Such Javadoc inline tag does not have any arguments and can have such child nodes:</p>
523     * <ul>
524     * <li>{@link #NEWLINE}</li>
525     * <li>{@link #WS}</li>
526     * </ul>
527     *
528     * <p><b>Example:</b></p>
529     * <pre><code>{&#64;inheritDoc}</code></pre>
530     * <b>Tree:</b>
531     * <pre>
532     * <code>  |--JAVADOC_INLINE_TAG[1x0] : [{&#64;inheritDoc}]
533     *            |--JAVADOC_INLINE_TAG_START[1x0] : [{]
534     *            |--INHERIT_DOC_LITERAL[1x1] : [@inheritDoc]
535     *            |--JAVADOC_INLINE_TAG_END[1x12] : [}]
536     * </code>
537     * </pre>
538     *
539     * @see
540     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDGJCHC">
541     * Oracle Docs</a>
542     * @see #JAVADOC_INLINE_TAG
543     * @noinspection HtmlTagCanBeJavadocTag
544     */
545    public static final int INHERIT_DOC_LITERAL = JavadocParser.INHERIT_DOC_LITERAL;
546
547    /**
548     * '@linkplain' literal in {&#64;linkplain} Javadoc inline tag.
549     *
550     * <p>Such Javadoc inline tag can have one argument - {@link #REFERENCE}</p>
551     *
552     * <p><b>Example:</b></p>
553     * <pre><code>{&#64;linkplain org.apache.utils.Lists.Comparator#compare(Object) compare}</code>
554     * </pre>
555     * <b>Tree:</b>
556     * <pre>
557     * <code> |--JAVADOC_INLINE_TAG[1x0] :
558     *               [{&#64;linkplain org.apache.utils.Lists.Comparator#compare(Object) compare}]
559     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
560     *        |--LINKPLAIN_LITERAL[1x1] : [@linkplain]
561     *        |--WS[1x11] : [ ]
562     *        |--REFERENCE[1x12] : [org.apache.utils.Lists.Comparator#compare(Object)]
563     *            |--PACKAGE_CLASS[1x12] : [org.apache.utils]
564     *            |--DOT[1x28] : [.]
565     *            |--CLASS[1x29] : [Lists]
566     *            |--DOT[1x34] : [.]
567     *            |--CLASS[1x35] : [Comparator]
568     *            |--HASH[1x45] : [#]
569     *            |--MEMBER[1x46] : [compare]
570     *            |--PARAMETERS[1x53] : [(Object)]
571     *                |--LEFT_BRACE[1x53] : [(]
572     *                |--ARGUMENT[1x54] : [Object]
573     *                |--RIGHT_BRACE[1x60] : [)]
574     *        |--DESCRIPTION[1x61] : [ compare]
575     *            |--TEXT[1x61] : [ compare]
576     *        |--JAVADOC_INLINE_TAG_END[1x69] : [}]
577     * </code>
578     * </pre>
579     *
580     * @see
581     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDGBICD">
582     * Oracle Docs</a>
583     * @see #JAVADOC_INLINE_TAG
584     * @noinspection HtmlTagCanBeJavadocTag
585     */
586    public static final int LINKPLAIN_LITERAL = JavadocParser.LINKPLAIN_LITERAL;
587
588    /**
589     * '@literal' literal in {&#64;literal} Javadoc inline tag.
590     *
591     * <p>Such Javadoc inline tag can have such child nodes:</p>
592     * <ul>
593     * <li>{@link #NEWLINE}</li>
594     * <li>{@link #WS}</li>
595     * <li>{@link #TEXT}</li>
596     * </ul>
597     *
598     * <p><b>Example:</b></p>
599     * <pre><code>{&#64;literal #compare(Object)}</code></pre>
600     * <b>Tree:</b>
601     * <pre>
602     * <code> |--JAVADOC_INLINE_TAG[1x0] : [{&#64;literal #compare(Object)}]
603     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
604     *        |--LITERAL_LITERAL[1x1] : [@literal]
605     *        |--WS[1x9] : [ ]
606     *        |--TEXT[1x10] : [#compare(Object)]
607     *        |--JAVADOC_INLINE_TAG_END[1x27] : [}]
608     * </code>
609     * </pre>
610     *
611     * @see
612     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCFJDG">
613     * Oracle Docs</a>
614     * @see #JAVADOC_INLINE_TAG
615     * @noinspection HtmlTagCanBeJavadocTag
616     */
617    public static final int LITERAL_LITERAL = JavadocParser.LITERAL_LITERAL;
618
619    /**
620     * '@value' literal in {&#64;value} Javadoc inline tag.
621     *
622     * <p>Such Javadoc inline tag has one argument {@link #REFERENCE}
623     * and can have such child nodes:</p>
624     * <ul>
625     * <li>{@link #NEWLINE}</li>
626     * <li>{@link #WS}</li>
627     * </ul>
628     *
629     * <p><b>Example:</b></p>
630     * <pre><code>{&#64;value Integer#MAX_VALUE}</code></pre>
631     * <b>Tree:</b>
632     * <pre>
633     * <code> |--JAVADOC_INLINE_TAG[1x0] : [&#64;value Integer#MAX_VALUE}]
634     *        |--JAVADOC_INLINE_TAG_START[1x0] : [{]
635     *        |--VALUE_LITERAL[1x1] : [@value]
636     *        |--WS[1x7] : [ ]
637     *        |--REFERENCE[1x8] : [Integer#MAX_VALUE]
638     *            |--CLASS[1x8] : [Integer]
639     *            |--HASH[1x15] : [#]
640     *            |--MEMBER[1x16] : [MAX_VALUE]
641     *        |--JAVADOC_INLINE_TAG_END[1x25] : [}]
642     * </code>
643     * </pre>
644     *
645     * @see
646     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDCDHH">
647     * Oracle Docs</a>
648     * @see #JAVADOC_INLINE_TAG
649     * @noinspection HtmlTagCanBeJavadocTag
650     */
651    public static final int VALUE_LITERAL = JavadocParser.VALUE_LITERAL;
652
653    /**
654     * PACKAGE_CLASS represents the package or class which has been referenced in the `@see`,
655     * `@link`, `@linkplain` or `@value` javadoc tags. In the javadoc tree it shall be a child
656     * of {@link #REFERENCE}.
657     * <br>
658     * <strong>IMPORTANT:</strong> Constructs like
659     * {@code package.Class.NestedClassAtDepth1.NestedClassAtDepth2#member} are recognized by
660     * the javadoc tool from oracle, and no assumptions like, package names wouldn't consist of
661     * uppercase characters or class names begin with an uppercase character, are made.
662     * Also, <i>the reference</i> in a javadoc tag can consist just a package name or a
663     * simple class name or even a full class name. Thus, PACKAGE_CLASS can represent a
664     * package name or a simple class name or a full class name i.e checkstyle doesn't
665     * resolve references at present.
666     *
667     * <p><b>Example:</b></p>
668     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
669     * <b>Tree:</b>
670     * <pre>
671     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
672     *        |--SEE_LITERAL[3x0] : [@see]
673     *        |--WS[3x4] : [ ]
674     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
675     *            |--PACKAGE_CLASS[3x5] : [org.apache.utils]
676     *            |--DOT[3x21] : [.]
677     *            |--CLASS[3x22] : [Lists]
678     *            |--DOT[3x27] : [.]
679     *            |--CLASS[3x28] : [Comparator]
680     *            |--HASH[3x38] : [#]
681     *            |--MEMBER[3x39] : [compare]
682     *            |--PARAMETERS[3x46] : [(Object)]
683     *                |--LEFT_BRACE[3x46] : [(]
684     *                |--ARGUMENT[3x47] : [Object]
685     *                |--RIGHT_BRACE[3x53] : [)]
686     * }
687     * </pre>
688     */
689    public static final int PACKAGE_CLASS = JavadocParser.PACKAGE_CLASS;
690
691    /**
692     * Hash character in {@link #REFERENCE}.
693     * Hash character is used before specifying a class member.
694     *
695     * <p><b>Example:</b></p>
696     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
697     * <b>Tree:</b>
698     * <pre>
699     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
700     *        |--SEE_LITERAL[3x0] : [@see]
701     *        |--WS[3x4] : [ ]
702     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
703     *            |--PACKAGE_CLASS[3x5] : [org.apache.utils]
704     *            |--DOT[3x21] : [.]
705     *            |--CLASS[3x22] : [Lists]
706     *            |--DOT[3x27] : [.]
707     *            |--CLASS[3x28] : [Comparator]
708     *            |--HASH[3x38] : [#]
709     *            |--MEMBER[3x39] : [compare]
710     *            |--PARAMETERS[3x46] : [(Object)]
711     *                |--LEFT_BRACE[3x46] : [(]
712     *                |--ARGUMENT[3x47] : [Object]
713     *                |--RIGHT_BRACE[3x53] : [)]
714     * }
715     * </pre>
716     */
717    public static final int HASH = JavadocParser.HASH;
718
719    /**
720     * A class member in {@link #REFERENCE}.
721     * Class member is specified after {@link #HASH} symbol.
722     *
723     * <p><b>Example:</b></p>
724     * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
725     * <b>Tree:</b>
726     * <pre>
727     * {@code |--JAVADOC_TAG[3x0] : [@see org.apache.utils.Lists.Comparator#compare(Object)]
728     *        |--SEE_LITERAL[3x0] : [@see]
729     *        |--WS[3x4] : [ ]
730     *        |--REFERENCE[3x5] : [org.apache.utils.Lists.Comparator#compare(Object)]
731     *            |--PACKAGE_CLASS[3x5] : [org.apache.utils]
732     *            |--DOT[3x21] : [.]
733     *            |--CLASS[3x22] : [Lists]
734     *            |--DOT[3x27] : [.]
735     *            |--CLASS[3x28] : [Comparator]
736     *            |--HASH[3x38] : [#]
737     *            |--MEMBER[3x39] : [compare]
738     *            |--PARAMETERS[3x46] : [(Object)]
739     *                |--LEFT_BRACE[3x46] : [(]
740     *                |--ARGUMENT[3x47] : [Object]
741     *                |--RIGHT_BRACE[3x53] : [)]
742     * }
743     * </pre>
744     */
745    public static final int MEMBER = JavadocParser.MEMBER;
746
747    /**
748     * Left brace in {@link #PARAMETERS} part of {@link #REFERENCE}.
749     *
750     * <p><b>Example:</b></p>
751     * <pre>{@code @see #method(Processor, String)}</pre>
752     * <b>Tree:</b>
753     * <pre>
754     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
755     *        |--SEE_LITERAL[1x0] : [@see]
756     *        |--WS[1x4] : [ ]
757     *        |--REFERENCE[1x5] : [#method(Processor, String)]
758     *            |--HASH[1x5] : [#]
759     *            |--MEMBER[1x6] : [method]
760     *            |--PARAMETERS[1x12] : [(Processor, String)]
761     *                |--LEFT_BRACE[1x12] : [(]
762     *                |--ARGUMENT[1x13] : [Processor]
763     *                |--COMMA[1x22] : [,]
764     *                |--WS[1x23] : [ ]
765     *                |--ARGUMENT[1x24] : [String]
766     *                |--RIGHT_BRACE[1x30] : [)]
767     * }
768     * </pre>
769     */
770    public static final int LEFT_BRACE = JavadocParser.LEFT_BRACE;
771
772    /**
773     * Right brace in {@link #PARAMETERS} part of {@link #REFERENCE}.
774     *
775     * <p><b>Example:</b></p>
776     * <pre>{@code @see #method(Processor, String)}</pre>
777     * <b>Tree:</b>
778     * <pre>
779     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
780     *        |--SEE_LITERAL[1x0] : [@see]
781     *        |--WS[1x4] : [ ]
782     *        |--REFERENCE[1x5] : [#method(Processor, String)]
783     *            |--HASH[1x5] : [#]
784     *            |--MEMBER[1x6] : [method]
785     *            |--PARAMETERS[1x12] : [(Processor, String)]
786     *                |--LEFT_BRACE[1x12] : [(]
787     *                |--ARGUMENT[1x13] : [Processor]
788     *                |--COMMA[1x22] : [,]
789     *                |--WS[1x23] : [ ]
790     *                |--ARGUMENT[1x24] : [String]
791     *                |--RIGHT_BRACE[1x30] : [)]
792     * }
793     * </pre>
794     */
795    public static final int RIGHT_BRACE = JavadocParser.RIGHT_BRACE;
796
797    /**
798     * Argument definition in {@link #PARAMETERS} part of {@link #REFERENCE}.
799     *
800     * <p><b>Example:</b></p>
801     * <pre>{@code @see #method(Processor, String)}</pre>
802     * <b>Tree:</b>
803     * <pre>
804     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
805     *        |--SEE_LITERAL[1x0] : [@see]
806     *        |--WS[1x4] : [ ]
807     *        |--REFERENCE[1x5] : [#method(Processor, String)]
808     *            |--HASH[1x5] : [#]
809     *            |--MEMBER[1x6] : [method]
810     *            |--PARAMETERS[1x12] : [(Processor, String)]
811     *                |--LEFT_BRACE[1x12] : [(]
812     *                |--ARGUMENT[1x13] : [Processor]
813     *                |--COMMA[1x22] : [,]
814     *                |--WS[1x23] : [ ]
815     *                |--ARGUMENT[1x24] : [String]
816     *                |--RIGHT_BRACE[1x30] : [)]
817     * }
818     * </pre>
819     */
820    public static final int ARGUMENT = JavadocParser.ARGUMENT;
821
822    /**
823     * Comma separator between parameters in {@link #PARAMETERS} part of {@link #REFERENCE}.
824     *
825     * <p><b>Example:</b></p>
826     * <pre>{@code @see #method(Processor, String)}</pre>
827     * <b>Tree:</b>
828     * <pre>
829     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
830     *        |--SEE_LITERAL[1x0] : [@see]
831     *        |--WS[1x4] : [ ]
832     *        |--REFERENCE[1x5] : [#method(Processor, String)]
833     *            |--HASH[1x5] : [#]
834     *            |--MEMBER[1x6] : [method]
835     *            |--PARAMETERS[1x12] : [(Processor, String)]
836     *                |--LEFT_BRACE[1x12] : [(]
837     *                |--ARGUMENT[1x13] : [Processor]
838     *                |--COMMA[1x22] : [,]
839     *                |--WS[1x23] : [ ]
840     *                |--ARGUMENT[1x24] : [String]
841     *                |--RIGHT_BRACE[1x30] : [)]
842     * }
843     * </pre>
844     *
845     * @see #PARAMETERS
846     * @see #REFERENCE
847     * @see #ARGUMENT
848     */
849    public static final int COMMA = JavadocParser.COMMA;
850
851    /**
852     * Quoted text.
853     * One of possible {@code @see} tag arguments.
854     *
855     * <p><b>Example:</b></p>
856     * <pre>{@code @see "Spring Framework"}</pre>
857     * <b>Tree:</b>
858     * <pre>
859     * {@code |--JAVADOC_TAG[1x0] : [@see "Spring Framework"]
860     *        |--SEE_LITERAL[1x0] : [@see]
861     *        |--WS[1x4] : [ ]
862     *        |--STRING[1x5] : ["Spring Framework"]
863     * }
864     * </pre>
865     *
866     * @see #SEE_LITERAL
867     */
868    public static final int STRING = JavadocParser.STRING;
869
870    /**
871     * Exception class name. First argument in {@link #THROWS_LITERAL @throws} and
872     * {@link #EXCEPTION_LITERAL @exception} Javadoc tags.
873     *
874     * <p><b>Example:</b></p>
875     * <pre>{@code @throws IOException connection problems}</pre>
876     * <b>Tree:</b>
877     * <pre>
878     * {@code |--JAVADOC_TAG[1x0] : [@throws IOException connection problems]
879     *        |--THROWS_LITERAL[1x0] : [@throws]
880     *        |--WS[1x7] : [ ]
881     *        |--CLASS_NAME[1x8] : [IOException]
882     *        |--WS[1x19] : [ ]
883     *        |--DESCRIPTION[1x20] : [connection problems]
884     *            |--TEXT[1x20] : [connection problems]
885     * }
886     * </pre>
887     *
888     * @see #EXCEPTION_LITERAL
889     * @see #THROWS_LITERAL
890     */
891    public static final int CLASS_NAME = JavadocParser.CLASS_NAME;
892
893    /**
894     * First argument in {@link #PARAM_LITERAL @param} Javadoc tag.
895     *
896     * <p><b>Example:</b></p>
897     * <pre>{@code @param T The bar.}</pre>
898     * <b>Tree:</b>
899     * <pre>
900     * {@code |--JAVADOC_TAG[4x3] : [@param T The bar.]
901     *        |--PARAM_LITERAL[4x3] : [@param]
902     *        |--WS[4x9] : [ ]
903     *        |--PARAMETER_NAME[4x10] : [T]
904     *        |--WS[4x11] : [ ]
905     *        |--DESCRIPTION[4x12] : [The bar.]
906     *            |--TEXT[4x12] : [The bar.]
907     * }
908     * </pre>
909     *
910     * @see
911     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHJECF">
912     * Oracle Docs</a>
913     * @see #PARAM_LITERAL
914     */
915    public static final int PARAMETER_NAME = JavadocParser.PARAMETER_NAME;
916
917    /**
918     * 'exclude' literal.
919     * One of three possible {@link #SERIAL_LITERAL @serial} tag arguments.
920     *
921     * <p><b>Example:</b></p>
922     * <pre>{@code @serial exclude}</pre>
923     * <b>Tree:</b>
924     * <pre>
925     * {@code |--JAVADOC_TAG[1x0] : [@serial exclude]
926     *        |--SERIAL_LITERAL[1x0] : [@serial]
927     *        |--WS[1x7] : [ ]
928     *        |--LITERAL_EXCLUDE[1x8] : [exclude]
929     * }
930     * </pre>
931     *
932     * @see
933     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
934     * Oracle Docs</a>
935     * @see #SERIAL_LITERAL
936     */
937    public static final int LITERAL_EXCLUDE = JavadocParser.LITERAL_EXCLUDE;
938
939    /**
940     * 'include' literal.
941     * One of three possible {@link #SERIAL_LITERAL @serial} tag arguments.
942     *
943     * <p><b>Example:</b></p>
944     * <pre>{@code @serial include}</pre>
945     * <b>Tree:</b>
946     * <pre>
947     * {@code |--JAVADOC_TAG[1x0] : [@serial include]
948     *        |--SERIAL_LITERAL[1x0] : [@serial]
949     *        |--WS[1x7] : [ ]
950     *        |--LITERAL_INCLUDE[1x8] : [include]
951     * }
952     * </pre>
953     *
954     * @see
955     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
956     * Oracle Docs</a>
957     * @see #SERIAL_LITERAL
958     */
959    public static final int LITERAL_INCLUDE = JavadocParser.LITERAL_INCLUDE;
960
961    /**
962     * Field name. First argument of {@link #SERIAL_FIELD_LITERAL @serialField} Javadoc tag.
963     *
964     * <p><b>Example:</b></p>
965     * <pre>{@code @serialField counter Integer objects counter}</pre>
966     * <b>Tree:</b>
967     * <pre>
968     * {@code |--JAVADOC_TAG[3x0] : [@serialField counter Integer objects counter]
969     *        |--SERIAL_FIELD_LITERAL[3x0] : [@serialField]
970     *        |--WS[3x12] : [ ]
971     *        |--FIELD_NAME[3x13] : [counter]
972     *        |--WS[3x20] : [ ]
973     *        |--FIELD_TYPE[3x21] : [Integer]
974     *        |--WS[3x28] : [ ]
975     *        |--DESCRIPTION[3x29] : [objects counter]
976     *            |--TEXT[3x29] : [objects counter]
977     * }
978     * </pre>
979     *
980     * @see
981     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
982     * Oracle Docs</a>
983     * @see #SERIAL_FIELD_LITERAL
984     */
985    public static final int FIELD_NAME = JavadocParser.FIELD_NAME;
986
987    /**
988     * Field type. Second argument of {@link #SERIAL_FIELD_LITERAL @serialField} Javadoc tag.
989     *
990     * <p><b>Example:</b></p>
991     * <pre>{@code @serialField counter Integer objects counter}</pre>
992     * <b>Tree:</b>
993     * <pre>
994     * {@code |--JAVADOC_TAG[3x0] : [@serialField counter Integer objects counter]
995     *        |--SERIAL_FIELD_LITERAL[3x0] : [@serialField]
996     *        |--WS[3x12] : [ ]
997     *        |--FIELD_NAME[3x13] : [counter]
998     *        |--WS[3x20] : [ ]
999     *        |--FIELD_TYPE[3x21] : [Integer]
1000     *        |--WS[3x28] : [ ]
1001     *        |--DESCRIPTION[3x29] : [objects counter]
1002     *            |--TEXT[3x29] : [objects counter]
1003     * }
1004     * </pre>
1005     *
1006     * @see
1007     * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
1008     * Oracle Docs</a>
1009     * @see #SERIAL_FIELD_LITERAL
1010     */
1011    public static final int FIELD_TYPE = JavadocParser.FIELD_TYPE;
1012
1013    //--------------------------------------------------------------------------------------------//
1014    //------------------        HTML TAGS          -----------------------------------------------//
1015    //--------------------------------------------------------------------------------------------//
1016
1017    /**
1018     * Identifier inside HTML tag: tag name or attribute name.
1019     */
1020    public static final int HTML_TAG_NAME = JavadocParser.HTML_TAG_NAME;
1021
1022    // HTML tag components
1023
1024    /**
1025     * Start html tag component: {@code '<'}.
1026     */
1027    public static final int START = JavadocParser.START;
1028
1029    /**
1030     * Slash html tag component: {@code '/'}.
1031     */
1032    public static final int SLASH = JavadocParser.SLASH;
1033
1034    /**
1035     * End html tag component: {@code '>'}.
1036     */
1037    public static final int END = JavadocParser.END;
1038
1039    /**
1040     * Slash close html tag component: {@code '/>'}.
1041     */
1042    public static final int SLASH_END = JavadocParser.SLASH_END;
1043
1044    /**
1045     * Equals html tag component: {@code '='}.
1046     */
1047    public static final int EQUALS = JavadocParser.EQUALS;
1048
1049    /**
1050     * Attribute value html tag component.
1051     */
1052    public static final int ATTR_VALUE = JavadocParser.ATTR_VALUE;
1053
1054    /////////////////////// HTML TAGS WITH OPTIONAL END TAG /////////////////////////////////////
1055    /** Paragraph tag name. */
1056    public static final int P_HTML_TAG_NAME = JavadocParser.P_HTML_TAG_NAME;
1057
1058    /** List item tag name. */
1059    public static final int LI_HTML_TAG_NAME = JavadocParser.LI_HTML_TAG_NAME;
1060
1061    /** Table row tag name. */
1062    public static final int TR_HTML_TAG_NAME = JavadocParser.TR_HTML_TAG_NAME;
1063
1064    /** Table cell tag name. */
1065    public static final int TD_HTML_TAG_NAME = JavadocParser.TD_HTML_TAG_NAME;
1066
1067    /** Table header cell tag name. */
1068    public static final int TH_HTML_TAG_NAME = JavadocParser.TH_HTML_TAG_NAME;
1069
1070    /** Body tag name. */
1071    public static final int BODY_HTML_TAG_NAME = JavadocParser.BODY_HTML_TAG_NAME;
1072
1073    /** Colgroup tag name. */
1074    public static final int COLGROUP_HTML_TAG_NAME = JavadocParser.COLGROUP_HTML_TAG_NAME;
1075
1076    /** Description of a term tag name. */
1077    public static final int DD_HTML_TAG_NAME = JavadocParser.DD_HTML_TAG_NAME;
1078
1079    /** Description term tag name. */
1080    public static final int DT_HTML_TAG_NAME = JavadocParser.DT_HTML_TAG_NAME;
1081
1082    /** Head tag name. */
1083    public static final int HEAD_HTML_TAG_NAME = JavadocParser.HEAD_HTML_TAG_NAME;
1084
1085    /** Html tag name. */
1086    public static final int HTML_HTML_TAG_NAME = JavadocParser.HTML_HTML_TAG_NAME;
1087
1088    /** Option tag name. */
1089    public static final int OPTION_HTML_TAG_NAME = JavadocParser.OPTION_HTML_TAG_NAME;
1090
1091    /** Table body tag name. */
1092    public static final int TBODY_HTML_TAG_NAME = JavadocParser.TBODY_HTML_TAG_NAME;
1093
1094    /** Table foot tag name. */
1095    public static final int TFOOT_HTML_TAG_NAME = JavadocParser.TFOOT_HTML_TAG_NAME;
1096
1097    /** Table head tag name. */
1098    public static final int THEAD_HTML_TAG_NAME = JavadocParser.THEAD_HTML_TAG_NAME;
1099
1100    /** `optgroup` tag name. */
1101    public static final int OPTGROUP_HTML_TAG_NAME = JavadocParser.OPTGROUP_HTML_TAG_NAME;
1102
1103    /** `rb` tag name. */
1104    public static final int RB_HTML_TAG_NAME = JavadocParser.RB_HTML_TAG_NAME;
1105
1106    /** `rt` tag name. */
1107    public static final int RT_HTML_TAG_NAME = JavadocParser.RT_HTML_TAG_NAME;
1108
1109    /** `rtc` tag name. */
1110    public static final int RTC_HTML_TAG_NAME = JavadocParser.RTC_HTML_TAG_NAME;
1111
1112    /** `rp` tag name. */
1113    public static final int RP_HTML_TAG_NAME = JavadocParser.RP_HTML_TAG_NAME;
1114    ///////////////////////////////////////////////////////////////////////////////////////////////
1115
1116    /////////////////////// SINGLETON HTML TAGS  //////////////////////////////////////////////////
1117    /** Area tag name. */
1118    public static final int AREA_HTML_TAG_NAME = JavadocParser.AREA_HTML_TAG_NAME;
1119
1120    /** Base tag name. */
1121    public static final int BASE_HTML_TAG_NAME = JavadocParser.BASE_HTML_TAG_NAME;
1122
1123    /** Basefont tag name. */
1124    public static final int BASEFONT_HTML_TAG_NAME = JavadocParser.BASEFONT_HTML_TAG_NAME;
1125
1126    /** Br tag name. */
1127    public static final int BR_HTML_TAG_NAME = JavadocParser.BR_HTML_TAG_NAME;
1128
1129    /** Col tag name. */
1130    public static final int COL_HTML_TAG_NAME = JavadocParser.COL_HTML_TAG_NAME;
1131
1132    /** Frame tag name. */
1133    public static final int FRAME_HTML_TAG_NAME = JavadocParser.FRAME_HTML_TAG_NAME;
1134
1135    /** Hr tag name. */
1136    public static final int HR_HTML_TAG_NAME = JavadocParser.HR_HTML_TAG_NAME;
1137
1138    /** Img tag name. */
1139    public static final int IMG_HTML_TAG_NAME = JavadocParser.IMG_HTML_TAG_NAME;
1140
1141    /** Input tag name. */
1142    public static final int INPUT_HTML_TAG_NAME = JavadocParser.INPUT_HTML_TAG_NAME;
1143
1144    /** Isindex tag name. */
1145    public static final int ISINDEX_HTML_TAG_NAME = JavadocParser.ISINDEX_HTML_TAG_NAME;
1146
1147    /** Link tag name. */
1148    public static final int LINK_HTML_TAG_NAME = JavadocParser.LINK_HTML_TAG_NAME;
1149
1150    /** Meta tag name. */
1151    public static final int META_HTML_TAG_NAME = JavadocParser.META_HTML_TAG_NAME;
1152
1153    /** Param tag name. */
1154    public static final int PARAM_HTML_TAG_NAME = JavadocParser.PARAM_HTML_TAG_NAME;
1155    /** "embed" tag name. */
1156    public static final int EMBED_HTML_TAG_NAME = JavadocParser.EMBED_HTML_TAG_NAME;
1157    /** "keygen" tag name. */
1158    public static final int KEYGEN_HTML_TAG_NAME = JavadocParser.KEYGEN_HTML_TAG_NAME;
1159    /** "source" tag name. */
1160    public static final int SOURCE_HTML_TAG_NAME = JavadocParser.SOURCE_HTML_TAG_NAME;
1161    /** "track" tag name. */
1162    public static final int TRACK_HTML_TAG_NAME = JavadocParser.TRACK_HTML_TAG_NAME;
1163    /** "wbr" tag name. */
1164    public static final int WBR_HTML_TAG_NAME = JavadocParser.WBR_HTML_TAG_NAME;
1165    ///////////////////////////////////////////////////////////////////////////////////////////////
1166
1167    /**
1168     * HTML comment start symbol '&lt;&#33;--'.
1169     */
1170    public static final int HTML_COMMENT_START = JavadocParser.HTML_COMMENT_START;
1171
1172    /**
1173     * HTML comment end symbol '--&gt;'.
1174     */
1175    public static final int HTML_COMMENT_END = JavadocParser.HTML_COMMENT_END;
1176
1177    /**
1178     * &lt;&#33;[CDATA[&#46;&#46;&#46;]]&gt; block.
1179     */
1180    public static final int CDATA = JavadocParser.CDATA;
1181
1182    //--------------------------------------------------------------------------------------------//
1183    //------------------        OTHER          ---------------------------------------------------//
1184    //--------------------------------------------------------------------------------------------//
1185
1186    /** Leading asterisk. */
1187    public static final int LEADING_ASTERISK = JavadocParser.LEADING_ASTERISK;
1188
1189    /**
1190     * Newline symbol - '\n'.
1191     */
1192    public static final int NEWLINE = JavadocParser.NEWLINE;
1193
1194    /**
1195     * Any other symbol.
1196     */
1197    public static final int CHAR = JavadocParser.CHAR;
1198
1199    /**
1200     * Whitespace or tab ('\t') symbol.
1201     */
1202    public static final int WS = JavadocParser.WS;
1203
1204    /**
1205     * End Of File symbol. Copied from
1206     * {@link org.antlr.v4.runtime.Recognizer#EOF} to avoid ANTLR dependency in
1207     * API.
1208     */
1209    public static final int EOF = -1;
1210
1211    //--------------------------------------------------------------------------------------------//
1212    //------- JAVADOC TAGS DEPENDING ON RULE TYPES OFFSET ----------------------------------------//
1213    //--------------------------------------------------------------------------------------------//
1214
1215    /**
1216     * Rule types offset.
1217     * RULE_TYPES_OFFSET constant is used to split lexer tokens types and parser rules types.
1218     * We need unique numbers for all tokens,
1219     * ANTLR do not need this and that is why this types are mixed by used values.
1220     * All values we can take a look at
1221     * target/generated-sources/antlr/com/puppycrawl/tools/checkstyle/grammar/javadoc/JavadocParser.java
1222     * For example: LEADING_ASTERISK=1 and RULE_htmlElement = 1.
1223     * RULE_TYPES_OFFSET required to shift parser rules,
1224     * to let them not overlap with types that have prefix "RULE_".
1225     */
1226    private static final int RULE_TYPES_OFFSET = 10000;
1227
1228    /**
1229     * Root node of any Javadoc comment.
1230     * Last child is always {@link #EOF}.
1231     *
1232     * <p><b>Tree for example:</b></p>
1233     * <pre>{@code
1234     * JAVADOC[3x0]
1235     *   |--NEWLINE[3x0] : [\n]
1236     *   |--LEADING_ASTERISK[4x0] : [ *]
1237     *   |--WS[4x2] : [ ]
1238     *   |--JAVADOC_TAG[4x3] : [@param T The bar.\n ]
1239     *       |--PARAM_LITERAL[4x3] : [@param]
1240     *       |--WS[4x9] : [ ]
1241     *       |--PARAMETER_NAME[4x10] : [T]
1242     *       |--WS[4x11] : [ ]
1243     *       |--DESCRIPTION[4x12] : [The bar.\n ]
1244     *           |--TEXT[4x12] : [The bar.]
1245     *           |--NEWLINE[4x20] : [\n]
1246     *           |--TEXT[5x0] : [ ]
1247     *   |--EOF[5x1] : [<EOF>]
1248     * }</pre>
1249     */
1250    public static final int JAVADOC = JavadocParser.RULE_javadoc + RULE_TYPES_OFFSET;
1251
1252    /**
1253     * Javadoc tag.
1254     *
1255     * <p>Type of Javadoc tag is resolved by literal node that is first child of this node.</p>
1256     *
1257     * <p>As literal could be:</p>
1258     * <ul>
1259     * <li>{@link #RETURN_LITERAL}</li>
1260     * <li>{@link #DEPRECATED_LITERAL}</li>
1261     * <li>{@link #SINCE_LITERAL}</li>
1262     * <li>{@link #SERIAL_DATA_LITERAL}</li>
1263     * <li>{@link #SERIAL_FIELD_LITERAL}</li>
1264     * <li>{@link #PARAM_LITERAL}</li>
1265     * <li>{@link #SEE_LITERAL}</li>
1266     * <li>{@link #SERIAL_LITERAL}</li>
1267     * <li>{@link #VERSION_LITERAL}</li>
1268     * <li>{@link #EXCEPTION_LITERAL}</li>
1269     * <li>{@link #THROWS_LITERAL}</li>
1270     * <li>{@link #AUTHOR_LITERAL}</li>
1271     * <li>or {@link #CUSTOM_NAME} if it is custom Javadoc tag.</li>
1272     * </ul>
1273     *
1274     * <p><b>Example</b></p>
1275     * <pre>{@code &#64;param T The bar.}</pre>
1276     * <b>Tree</b>
1277     * <pre>{@code
1278     *   |--JAVADOC_TAG[4x3] : [@param T The bar.]
1279     *       |--PARAM_LITERAL[4x3] : [@param]
1280     *       |--WS[4x9] : [ ]
1281     *       |--PARAMETER_NAME[4x10] : [T]
1282     *       |--WS[4x11] : [ ]
1283     *       |--DESCRIPTION[4x12] : [The bar.]
1284     *           |--TEXT[4x12] : [The bar.]
1285     * }</pre>
1286     */
1287
1288    public static final int JAVADOC_TAG = JavadocParser.RULE_javadocTag + RULE_TYPES_OFFSET;
1289    /**
1290     * Javadoc inline tag.
1291     *
1292     * <p>Type of Javadoc inline tag is resolved by literal node that is second child of this node.
1293     * First child is always {@link #JAVADOC_INLINE_TAG_START} and last node is always
1294     * {@link #JAVADOC_INLINE_TAG_END}.</p>
1295     *
1296     * <p>As literal could be:</p>
1297     * <ul>
1298     * <li>{@link #CODE_LITERAL}</li>
1299     * <li>{@link #DOC_ROOT_LITERAL}</li>
1300     * <li>{@link #LINK_LITERAL}</li>
1301     * <li>{@link #INHERIT_DOC_LITERAL}</li>
1302     * <li>{@link #LINKPLAIN_LITERAL}</li>
1303     * <li>{@link #LITERAL_LITERAL}</li>
1304     * <li>{@link #VALUE_LITERAL}</li>
1305     * <li>or {@link #CUSTOM_NAME} if it is custom Javadoc inline tag.</li>
1306     * </ul>
1307     *
1308     * <p><b>Example:</b></p>
1309     * <pre><code>{&#64;link String}</code></pre>
1310     * <b>Tree:</b>
1311     * <pre>
1312     * <code> |--JAVADOC_INLINE_TAG[4x3] : [&#64;link String}]
1313     *        |--JAVADOC_INLINE_TAG_START[4x3] : [{]
1314     *        |--LINK_LITERAL[4x4] : [@link]
1315     *        |--WS[4x9] : [ ]
1316     *        |--REFERENCE[4x10] : [String]
1317     *            |--CLASS[4x10] : [String]
1318     *        |--JAVADOC_INLINE_TAG_END[4x16] : [}]
1319     * </code>
1320     * </pre>
1321     * @noinspection HtmlTagCanBeJavadocTag
1322     */
1323    public static final int JAVADOC_INLINE_TAG = JavadocParser.RULE_javadocInlineTag
1324            + RULE_TYPES_OFFSET;
1325
1326    /**
1327     * Parameter of the Javadoc tags listed below.
1328     * <ul>
1329     * <li>{@link #SEE_LITERAL @see}</li>
1330     * <li>{@link #LINK_LITERAL &#123;&#64;link&#125;}</li>
1331     * <li>{@link #LINKPLAIN_LITERAL &#123;&#64;linkplain&#125;}</li>
1332     * <li>{@link #VALUE_LITERAL &#123;&#64;value&#125;}</li>
1333     * </ul>
1334     */
1335    public static final int REFERENCE = JavadocParser.RULE_reference + RULE_TYPES_OFFSET;
1336
1337    /**
1338     * Parameters part in {@link #REFERENCE}.
1339     * It is used to specify parameters for {@link #MEMBER method}.
1340     * Always contains {@link #LEFT_BRACE} as first child and {@link #RIGHT_BRACE} as last child.
1341     * Each parameter is represented by {@link #ARGUMENT} node.
1342     * Arguments in braces are separated by {@link #COMMA} (and optional {@link #WS}).
1343     *
1344     * <p><b>Example:</b></p>
1345     * <pre>{@code @see #method(Processor, String)}</pre>
1346     * <b>Tree:</b>
1347     * <pre>
1348     * {@code |--JAVADOC_TAG[1x0] : [@see #method(Processor, String)]
1349     *        |--SEE_LITERAL[1x0] : [@see]
1350     *        |--WS[1x4] : [ ]
1351     *        |--REFERENCE[1x5] : [#method(Processor, String)]
1352     *            |--HASH[1x5] : [#]
1353     *            |--MEMBER[1x6] : [method]
1354     *            |--PARAMETERS[1x12] : [(Processor, String)]
1355     *                |--LEFT_BRACE[1x12] : [(]
1356     *                |--ARGUMENT[1x13] : [Processor]
1357     *                |--COMMA[1x22] : [,]
1358     *                |--WS[1x23] : [ ]
1359     *                |--ARGUMENT[1x24] : [String]
1360     *                |--RIGHT_BRACE[1x30] : [)]
1361     * }
1362     * </pre>
1363     */
1364    public static final int PARAMETERS = JavadocParser.RULE_parameters + RULE_TYPES_OFFSET;
1365
1366    /**
1367     * Description node. It contains:
1368     * <ul>
1369     * <li>{@link #TEXT}</li>
1370     * <li>{@link #WS}</li>
1371     * <li>{@link #NEWLINE}</li>
1372     * <li>{@link #HTML_ELEMENT}</li>
1373     * </ul>
1374     *
1375     * <p>It is argument for many Javadoc tags and inline tags.</p>
1376     *
1377     * <p><b>Example:</b></p>
1378     * <pre>{@code @throws IOException if <b>connection</b> problems occur}</pre>
1379     * <b>Tree:</b>
1380     * <pre>
1381     * {@code |--JAVADOC_TAG[1x0] : [@throws IOException if <b>connection</b> problems occur]
1382     *        |--THROWS_LITERAL[1x0] : [@throws]
1383     *        |--WS[1x7] : [ ]
1384     *        |--CLASS_NAME[1x8] : [IOException]
1385     *        |--WS[1x19] : [ ]
1386     *        |--DESCRIPTION[1x20] : [if <b>connection</b> problems occur]
1387     *            |--TEXT[1x20] : [if ]
1388     *            |--HTML_ELEMENT[1x23] : [<b>connection</b>]
1389     *                |--HTML_TAG[1x23] : [<b>connection</b>]
1390     *                    |--HTML_ELEMENT_START[1x23] : [<b>]
1391     *                        |--START[1x23] : [<]
1392     *                        |--HTML_TAG_NAME[1x24] : [b]
1393     *                        |--END[1x25] : [>]
1394     *                    |--TEXT[1x26] : [connection]
1395     *                    |--HTML_ELEMENT_END[1x36] : [</b>]
1396     *                        |--START[1x36] : [<]
1397     *                        |--SLASH[1x37] : [/]
1398     *                        |--HTML_TAG_NAME[1x38] : [b]
1399     *                        |--END[1x39] : [>]
1400     *            |--TEXT[1x40] : [ problems occur]
1401     * }
1402     * </pre>
1403     */
1404    public static final int DESCRIPTION = JavadocParser.RULE_description + RULE_TYPES_OFFSET;
1405
1406    //--------------------------------------------------------------------------------------------//
1407    //--------- HTML TAGS DEPENDING ON RULE TYPES OFFSET -----------------------------------------//
1408    //--------------------------------------------------------------------------------------------//
1409
1410    /**
1411     * Parent node for all html tags.
1412     */
1413    public static final int HTML_ELEMENT = JavadocParser.RULE_htmlElement
1414            + RULE_TYPES_OFFSET;
1415
1416    /**
1417     * Start html tag: &lt;XXXX&gt;.
1418     */
1419    public static final int HTML_ELEMENT_START = JavadocParser.RULE_htmlElementStart
1420            + RULE_TYPES_OFFSET;
1421
1422    /**
1423     * End html tag: &lt;XXXX&gt;.
1424     */
1425    public static final int HTML_ELEMENT_END = JavadocParser.RULE_htmlElementEnd
1426            + RULE_TYPES_OFFSET;
1427
1428    /**
1429     * Non-special HTML tag.
1430     */
1431    public static final int HTML_TAG = JavadocParser.RULE_htmlTag + RULE_TYPES_OFFSET;
1432
1433    /**
1434     * Html tag attribute. Parent node for: {@code HTML_TAG_IDENT, EQUALS, ATTR_VALUE}.
1435     */
1436    public static final int ATTRIBUTE = JavadocParser.RULE_attribute
1437            + RULE_TYPES_OFFSET;
1438
1439    /////////////////////// HTML TAGS WITH OPTIONAL END TAG /////////////////////////////////////
1440    /** Paragraph html tag: {@code <p></p>}. */
1441    public static final int PARAGRAPH = JavadocParser.RULE_paragraph + RULE_TYPES_OFFSET;
1442    /** Start paragraph tag. */
1443    public static final int P_TAG_START = JavadocParser.RULE_pTagStart + RULE_TYPES_OFFSET;
1444    /** End paragraph tag. */
1445    public static final int P_TAG_END = JavadocParser.RULE_pTagEnd + RULE_TYPES_OFFSET;
1446    /** List item html tag: {@code <li></li>}. */
1447
1448    public static final int LI = JavadocParser.RULE_li + RULE_TYPES_OFFSET;
1449    /** Start list item tag. */
1450    public static final int LI_TAG_START = JavadocParser.RULE_liTagStart + RULE_TYPES_OFFSET;
1451    /** End list item tag. */
1452    public static final int LI_TAG_END = JavadocParser.RULE_liTagEnd + RULE_TYPES_OFFSET;
1453
1454    /** Table row html tag: {@code <tr></tr>}. */
1455    public static final int TR = JavadocParser.RULE_tr + RULE_TYPES_OFFSET;
1456    /** Start table row tag. */
1457    public static final int TR_TAG_START = JavadocParser.RULE_trTagStart + RULE_TYPES_OFFSET;
1458    /** End table row tag. */
1459    public static final int TR_TAG_END = JavadocParser.RULE_trTagEnd + RULE_TYPES_OFFSET;
1460
1461    /** Table cell html tag: {@code <td></td>}. */
1462    public static final int TD = JavadocParser.RULE_td + RULE_TYPES_OFFSET;
1463    /** Start table cell tag. */
1464    public static final int TD_TAG_START = JavadocParser.RULE_tdTagStart + RULE_TYPES_OFFSET;
1465    /** End table cell tag. */
1466    public static final int TD_TAG_END = JavadocParser.RULE_tdTagEnd + RULE_TYPES_OFFSET;
1467
1468    /** Table header cell html tag: {@code <th></th>}. */
1469    public static final int TH = JavadocParser.RULE_th + RULE_TYPES_OFFSET;
1470    /** Start table header cell tag. */
1471    public static final int TH_TAG_START = JavadocParser.RULE_thTagStart + RULE_TYPES_OFFSET;
1472    /** End table header cell tag. */
1473    public static final int TH_TAG_END = JavadocParser.RULE_thTagEnd + RULE_TYPES_OFFSET;
1474
1475    /** Body html tag. */
1476    public static final int BODY = JavadocParser.RULE_body + RULE_TYPES_OFFSET;
1477    /** Start body tag. */
1478    public static final int BODY_TAG_START = JavadocParser.RULE_bodyTagStart + RULE_TYPES_OFFSET;
1479    /** End body tag. */
1480    public static final int BODY_TAG_END = JavadocParser.RULE_bodyTagEnd + RULE_TYPES_OFFSET;
1481
1482    /** Colgroup html tag. */
1483    public static final int COLGROUP = JavadocParser.RULE_colgroup + RULE_TYPES_OFFSET;
1484    /** Start colgroup tag. */
1485    public static final int COLGROUP_TAG_START = JavadocParser.RULE_colgroupTagStart
1486            + RULE_TYPES_OFFSET;
1487    /** End colgroup tag. */
1488    public static final int COLGROUP_TAG_END = JavadocParser.RULE_colgroupTagEnd
1489            + RULE_TYPES_OFFSET;
1490
1491    /** Description of a term html tag: {@code <dd></dd>}. */
1492    public static final int DD = JavadocParser.RULE_dd + RULE_TYPES_OFFSET;
1493    /** Start description of a term tag. */
1494    public static final int DD_TAG_START = JavadocParser.RULE_ddTagStart + RULE_TYPES_OFFSET;
1495    /** End description of a term tag. */
1496    public static final int DD_TAG_END = JavadocParser.RULE_ddTagEnd + RULE_TYPES_OFFSET;
1497
1498    /** Description term html tag: {@code <dt></dt>}. */
1499    public static final int DT = JavadocParser.RULE_dt + RULE_TYPES_OFFSET;
1500    /** Start description term tag. */
1501    public static final int DT_TAG_START = JavadocParser.RULE_dtTagStart + RULE_TYPES_OFFSET;
1502    /** End description term tag. */
1503    public static final int DT_TAG_END = JavadocParser.RULE_dtTagEnd + RULE_TYPES_OFFSET;
1504
1505    /** Head html tag. */
1506    public static final int HEAD = JavadocParser.RULE_head + RULE_TYPES_OFFSET;
1507    /** Start head tag. */
1508    public static final int HEAD_TAG_START = JavadocParser.RULE_headTagStart + RULE_TYPES_OFFSET;
1509    /** End head tag. */
1510    public static final int HEAD_TAG_END = JavadocParser.RULE_headTagEnd + RULE_TYPES_OFFSET;
1511
1512    /** Html html tag. */
1513    public static final int HTML = JavadocParser.RULE_html + RULE_TYPES_OFFSET;
1514    /** Start html tag. */
1515    public static final int HTML_TAG_START = JavadocParser.RULE_htmlTagStart + RULE_TYPES_OFFSET;
1516    /** End html tag. */
1517    public static final int HTML_TAG_END = JavadocParser.RULE_htmlTagEnd + RULE_TYPES_OFFSET;
1518
1519    /** Option html tag. */
1520    public static final int OPTION = JavadocParser.RULE_option + RULE_TYPES_OFFSET;
1521    /** Start option tag. */
1522    public static final int OPTION_TAG_START =
1523            JavadocParser.RULE_optionTagStart + RULE_TYPES_OFFSET;
1524    /** End option tag. */
1525    public static final int OPTION_TAG_END = JavadocParser.RULE_optionTagEnd
1526            + RULE_TYPES_OFFSET;
1527
1528    /** Table body html tag. */
1529    public static final int TBODY = JavadocParser.RULE_tbody + RULE_TYPES_OFFSET;
1530    /** Start table body tag. */
1531    public static final int TBODY_TAG_START = JavadocParser.RULE_tbodyTagStart + RULE_TYPES_OFFSET;
1532    /** End table body tag. */
1533    public static final int TBODY_TAG_END = JavadocParser.RULE_tbodyTagEnd + RULE_TYPES_OFFSET;
1534
1535    /** Table foot html tag. */
1536    public static final int TFOOT = JavadocParser.RULE_tfoot + RULE_TYPES_OFFSET;
1537    /** Start table foot tag. */
1538    public static final int TFOOT_TAG_START = JavadocParser.RULE_tfootTagStart + RULE_TYPES_OFFSET;
1539    /** End table foot tag. */
1540    public static final int TFOOT_TAG_END = JavadocParser.RULE_tfootTagEnd + RULE_TYPES_OFFSET;
1541
1542    /** Table head html tag. */
1543    public static final int THEAD = JavadocParser.RULE_thead + RULE_TYPES_OFFSET;
1544    /** Start table head tag. */
1545    public static final int THEAD_TAG_START = JavadocParser.RULE_theadTagStart + RULE_TYPES_OFFSET;
1546    /** End table head tag. */
1547    public static final int THEAD_TAG_END = JavadocParser.RULE_theadTagEnd + RULE_TYPES_OFFSET;
1548
1549    /** `optgroup` html tag. */
1550    public static final int OPTGROUP = JavadocParser.RULE_optgroup + RULE_TYPES_OFFSET;
1551    /** `optgroup` tag start. */
1552    public static final int OPTGROUP_TAG_START =
1553            JavadocParser.RULE_optgroupTagStart + RULE_TYPES_OFFSET;
1554    /** `optgroup` tag end. */
1555    public static final int OPTGROUP_TAG_END =
1556            JavadocParser.RULE_optgroupTagEnd + RULE_TYPES_OFFSET;
1557
1558    /** `rb` html tag. */
1559    public static final int RB = JavadocParser.RULE_rb + RULE_TYPES_OFFSET;
1560    /** `rb` tag start. */
1561    public static final int RB_TAG_START =
1562            JavadocParser.RULE_rbTagStart + RULE_TYPES_OFFSET;
1563    /** `rb` tag end. */
1564    public static final int RB_TAG_END =
1565            JavadocParser.RULE_rbTagEnd + RULE_TYPES_OFFSET;
1566
1567    /** `rt` html tag. */
1568    public static final int RT = JavadocParser.RULE_rt + RULE_TYPES_OFFSET;
1569    /** `rt` tag start. */
1570    public static final int RT_TAG_START =
1571            JavadocParser.RULE_rtTagStart + RULE_TYPES_OFFSET;
1572    /** `rt` tag end. */
1573    public static final int RT_TAG_END =
1574            JavadocParser.RULE_rtTagEnd + RULE_TYPES_OFFSET;
1575
1576    /** `rtc` html tag. */
1577    public static final int RTC = JavadocParser.RULE_rtc + RULE_TYPES_OFFSET;
1578    /** `rtc` tag start. */
1579    public static final int RTC_TAG_START =
1580            JavadocParser.RULE_rtcTagStart + RULE_TYPES_OFFSET;
1581    /** `rtc` tag end. */
1582    public static final int RTC_TAG_END =
1583            JavadocParser.RULE_rtcTagEnd + RULE_TYPES_OFFSET;
1584
1585    /** `rp` html tag. */
1586    public static final int RP = JavadocParser.RULE_rp + RULE_TYPES_OFFSET;
1587    /** `rp` tag start. */
1588    public static final int RP_TAG_START =
1589            JavadocParser.RULE_rpTagStart + RULE_TYPES_OFFSET;
1590    /** `rp` tag end. */
1591    public static final int RP_TAG_END =
1592            JavadocParser.RULE_rpTagEnd + RULE_TYPES_OFFSET;
1593
1594    /////////////////////// SINGLETON HTML TAGS  //////////////////////////////////////////////////
1595    /**
1596     * Parent node for all singleton html tags.
1597     */
1598    public static final int SINGLETON_ELEMENT = JavadocParser.RULE_singletonElement
1599            + RULE_TYPES_OFFSET;
1600
1601    /**
1602     * Non-special empty html tag.
1603     */
1604    public static final int EMPTY_TAG = JavadocParser.RULE_emptyTag
1605            + RULE_TYPES_OFFSET;
1606
1607    /** Area html tag. */
1608    public static final int AREA_TAG = JavadocParser.RULE_areaTag + RULE_TYPES_OFFSET;
1609
1610    /** Base html tag. */
1611    public static final int BASE_TAG = JavadocParser.RULE_baseTag + RULE_TYPES_OFFSET;
1612
1613    /** Basefont html tag. */
1614    public static final int BASEFONT_TAG = JavadocParser.RULE_basefontTag + RULE_TYPES_OFFSET;
1615
1616    /** Br html tag. */
1617    public static final int BR_TAG = JavadocParser.RULE_brTag + RULE_TYPES_OFFSET;
1618
1619    /** Col html tag. */
1620    public static final int COL_TAG = JavadocParser.RULE_colTag + RULE_TYPES_OFFSET;
1621
1622    /** Frame html tag. */
1623    public static final int FRAME_TAG = JavadocParser.RULE_frameTag + RULE_TYPES_OFFSET;
1624
1625    /** Hr html tag. */
1626    public static final int HR_TAG = JavadocParser.RULE_hrTag + RULE_TYPES_OFFSET;
1627
1628    /** Img html tag. */
1629    public static final int IMG_TAG = JavadocParser.RULE_imgTag + RULE_TYPES_OFFSET;
1630
1631    /** Input html tag. */
1632    public static final int INPUT_TAG = JavadocParser.RULE_inputTag + RULE_TYPES_OFFSET;
1633
1634    /** Isindex html tag. */
1635    public static final int ISINDEX_TAG = JavadocParser.RULE_isindexTag + RULE_TYPES_OFFSET;
1636
1637    /** Link html tag. */
1638    public static final int LINK_TAG = JavadocParser.RULE_linkTag + RULE_TYPES_OFFSET;
1639
1640    /** Meta html tag. */
1641    public static final int META_TAG = JavadocParser.RULE_metaTag + RULE_TYPES_OFFSET;
1642
1643    /** Param html tag. */
1644    public static final int PARAM_TAG = JavadocParser.RULE_paramTag + RULE_TYPES_OFFSET;
1645
1646    /**
1647     * HTML void element {@code <embed>}.
1648     * @see #SINGLETON_ELEMENT
1649     * @see <a href="https://www.w3.org/TR/html51/semantics-embedded-content.html#elementdef-embed">
1650     *     W3 docs</a>
1651     */
1652    public static final int EMBED_TAG = JavadocParser.RULE_embedTag + RULE_TYPES_OFFSET;
1653
1654    /**
1655     * HTML void element {@code <keygen>}.
1656     * @see #SINGLETON_ELEMENT
1657     * @see <a href="https://www.w3.org/TR/html51/sec-forms.html#elementdef-keygen">
1658     *     W3 docs</a>
1659     */
1660    public static final int KEYGEN_TAG = JavadocParser.RULE_keygenTag + RULE_TYPES_OFFSET;
1661
1662    /**
1663     * HTML void element {@code <source>}.
1664     * @see #SINGLETON_ELEMENT
1665     * @see <a href=
1666     *     "https://www.w3.org/TR/html51/semantics-embedded-content.html#elementdef-media-source">
1667     *     W3 docs</a>
1668     */
1669    public static final int SOURCE_TAG = JavadocParser.RULE_sourceTag + RULE_TYPES_OFFSET;
1670
1671    /**
1672     * HTML void element {@code <track>}.
1673     * @see #SINGLETON_ELEMENT
1674     * @see <a
1675     *     href="https://www.w3.org/TR/html51/semantics-embedded-content.html#elementdef-track">
1676     *     W3 docs</a>
1677     */
1678    public static final int TRACK_TAG = JavadocParser.RULE_trackTag + RULE_TYPES_OFFSET;
1679
1680    /**
1681     * HTML void element {@code <wbr>}.
1682     * @see #SINGLETON_ELEMENT
1683     * @see <a href="https://www.w3.org/TR/html51/textlevel-semantics.html#elementdef-wbr">
1684     *     W3 docs</a>
1685     */
1686    public static final int WBR_TAG = JavadocParser.RULE_wbrTag + RULE_TYPES_OFFSET;
1687
1688    ///////////////////////////////////////////////////////////////////////////////////////////////
1689
1690    /**
1691     * Html comment: <code>&lt;&#33;-- --&gt;</code>.
1692     *
1693     * @noinspection HtmlTagCanBeJavadocTag
1694     */
1695    public static final int HTML_COMMENT = JavadocParser.RULE_htmlComment
1696            + RULE_TYPES_OFFSET;
1697    /**
1698     * CHAR and WS sequence.
1699     */
1700    public static final int TEXT = JavadocParser.RULE_text + RULE_TYPES_OFFSET;
1701
1702    /** Empty private constructor of the current class. */
1703    private JavadocTokenTypes() {
1704    }
1705
1706}