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