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