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