View Javadoc
1   ///////////////////////////////////////////////////////////////////////////////////////////////
2   // checkstyle: Checks Java source code and other text files for adherence to a set of rules.
3   // Copyright (C) 2001-2025 the original author or authors.
4   //
5   // This library is free software; you can redistribute it and/or
6   // modify it under the terms of the GNU Lesser General Public
7   // License as published by the Free Software Foundation; either
8   // version 2.1 of the License, or (at your option) any later version.
9   //
10  // This library is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  // Lesser General Public License for more details.
14  //
15  // You should have received a copy of the GNU Lesser General Public
16  // License along with this library; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  ///////////////////////////////////////////////////////////////////////////////////////////////
19  
20  package com.puppycrawl.tools.checkstyle.api;
21  
22  import com.puppycrawl.tools.checkstyle.grammar.javadoc.JavadocParser;
23  
24  /**
25   * Contains the constants for all the tokens contained in the Abstract
26   * Syntax Tree for the javadoc grammar.
27   *
28   * @see <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html">
29   * javadoc - The Java API Documentation Generator</a>
30   */
31  public final class JavadocTokenTypes {
32  
33      // ------------------------------------------------------------------------------------------ //
34      // -----------------        JAVADOC TAGS          ------------------------------------------- //
35      // ------------------------------------------------------------------------------------------ //
36  
37      /**
38       * '@return' literal in {@code @return} Javadoc tag.
39       *
40       * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
41       *
42       * <p><b>Example:</b></p>
43       * <pre>{@code @return true if file exists}</pre>
44       * <b>Tree:</b>
45       * <pre>{@code
46       * JAVADOC_TAG -> JAVADOC_TAG
47       *  |--RETURN_LITERAL -> @return
48       *  |--WS ->
49       *  `--DESCRIPTION -> DESCRIPTION
50       *      |--TEXT -> true if file exists
51       * }</pre>
52       *
53       * @see
54       * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCDBGG">
55       * Oracle Docs</a>
56       * @see #JAVADOC_TAG
57       */
58      public static final int RETURN_LITERAL = JavadocParser.RETURN_LITERAL;
59  
60      /**
61       * '{@literal @}deprecated' literal in {@literal @}deprecated Javadoc tag.
62       *
63       * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
64       *
65       * <p><b>Example:</b></p>
66       * <pre>{@code @deprecated It is deprecated method}</pre>
67       * <b>Tree:</b>
68       * <pre>{@code
69       * JAVADOC_TAG -> JAVADOC_TAG
70       *  |--DEPRECATED_LITERAL -> @deprecated
71       *  |--WS ->
72       *  `--DESCRIPTION -> DESCRIPTION
73       *      |--TEXT -> It is deprecated method
74       * }</pre>
75       *
76       * @see
77       * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#deprecated">
78       * Oracle Docs</a>
79       * @see #JAVADOC_TAG
80       */
81      public static final int DEPRECATED_LITERAL = JavadocParser.DEPRECATED_LITERAL;
82  
83      /**
84       * '@since' literal in {@code @since} Javadoc tag.
85       *
86       * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
87       *
88       * <p><b>Example:</b></p>
89       * <pre>{@code @since 3.4 RELEASE}</pre>
90       * <b>Tree:</b>
91       * <pre>{@code
92       * JAVADOC_TAG -> JAVADOC_TAG
93       *  |--SINCE_LITERAL -> @since
94       *  |--WS ->
95       *  `--DESCRIPTION -> DESCRIPTION
96       *      |--TEXT -> 3.4 RELEASE
97       * }</pre>
98       *
99       * @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 -> JAVADOC_TAG
145      *  |--SERIAL_FIELD_LITERAL -> @serialField
146      *  |--WS ->
147      *  |--FIELD_NAME -> counter
148      *  |--WS ->
149      *  |--FIELD_TYPE -> Integer
150      *  |--WS ->
151      *  `--DESCRIPTION -> DESCRIPTION
152      *      |--TEXT -> 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 -> JAVADOC_TAG
201      *    |--SEE_LITERAL -> @see
202      *    |--WS ->
203      *    |--REFERENCE -> REFERENCE
204      *        |--PACKAGE_CLASS -> org.apache.utils.Lists.Comparator
205      *        |--HASH -> #
206      *        |--MEMBER -> compare
207      *        `--PARAMETERS -> PARAMETERS
208      *            |--LEFT_BRACE -> (
209      *            |--ARGUMENT -> Object
210      *            `--RIGHT_BRACE -> )
211      * }</pre>
212      *
213      * @see
214      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDIEDI">
215      * Oracle Docs</a>
216      * @see #JAVADOC_TAG
217      */
218     public static final int SEE_LITERAL = JavadocParser.SEE_LITERAL;
219 
220     /**
221      * '@serial' literal in {@code @serial} Javadoc tag.
222      *
223      * <p>Such Javadoc tag can have one argument - {@link #REFERENCE} or {@link #LITERAL_EXCLUDE}
224      * or {@link #LITERAL_INCLUDE}</p>
225      *
226      * <p><b>Example:</b></p>
227      * <pre>{@code @serial include}</pre>
228      * <b>Tree:</b>
229      * <pre>{@code
230      *   |--JAVADOC_TAG -> JAVADOC_TAG
231      *       |--SERIAL_LITERAL -> @serial
232      *       |--WS
233      *       |--LITERAL_INCLUDE -> include
234      * }</pre>
235      *
236      * <p><b>Example:</b></p>
237      * <pre>{@code @serial serialized company name}</pre>
238      * <b>Tree:</b>
239      * <pre>{@code
240      *   |--JAVADOC_TAG-> JAVADOC_TAG
241      *       |--SERIAL_LITERAL -> @serial
242      *       |--WS
243      *       |--DESCRIPTION -> DESCRIPTION
244      *           |--TEXT -> serialized company name
245      * }</pre>
246      *
247      * @see
248      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
249      * Oracle Docs</a>
250      * @see #JAVADOC_TAG
251      */
252     public static final int SERIAL_LITERAL = JavadocParser.SERIAL_LITERAL;
253 
254     /**
255      * '@version' literal in {@code @version} Javadoc tag.
256      *
257      * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
258      *
259      * <p><b>Example:</b></p>
260      * <pre>{@code @version 1.3}</pre>
261      * <b>Tree:</b>
262      * <pre>{@code
263      *   JAVADOC_TAG -> JAVADOC_TAG
264      *    |--VERSION_LITERAL -> @version
265      *    |--WS ->
266      *    `--DESCRIPTION -> DESCRIPTION
267      *        |--TEXT -> 1.3
268      * }</pre>
269      *
270      * @see
271      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCHBAE">
272      * Oracle Docs</a>
273      * @see #JAVADOC_TAG
274      */
275     public static final int VERSION_LITERAL = JavadocParser.VERSION_LITERAL;
276 
277     /**
278      * '@exception' literal in {@code @exception} Javadoc tag.
279      *
280      * <p>Such Javadoc tag can have two argument - {@link #CLASS_NAME} and {@link #DESCRIPTION}</p>
281      *
282      * <p><b>Example:</b></p>
283      * <pre>{@code @exception SQLException if query is not correct}</pre>
284      * <b>Tree:</b>
285      * <pre>{@code
286      *   JAVADOC_TAG -> JAVADOC_TAG
287      *    |--EXCEPTION_LITERAL -> @exception
288      *    |--WS ->
289      *    |--CLASS_NAME -> SQLException
290      *    |--WS ->
291      *    `--DESCRIPTION -> DESCRIPTION
292      *        `--TEXT -> if query is not correct
293      * }</pre>
294      *
295      * @see
296      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCEAHH">
297      * Oracle Docs</a>
298      * @see #JAVADOC_TAG
299      */
300     public static final int EXCEPTION_LITERAL = JavadocParser.EXCEPTION_LITERAL;
301 
302     /**
303      * '@throws' literal in {@code @throws} Javadoc tag.
304      *
305      * <p>Such Javadoc tag can have two argument - {@link #CLASS_NAME} and {@link #DESCRIPTION}</p>
306      *
307      * <p><b>Example:</b></p>
308      * <pre>{@code @throws SQLException if query is not correct}</pre>
309      * <b>Tree:</b>
310      * <pre>{@code
311      *   JAVADOC_TAG -&gt; JAVADOC_TAG
312      *    |--THROWS_LITERAL -&gt; @throws
313      *    |--WS -&gt;
314      *    |--CLASS_NAME -&gt; SQLException
315      *    |--WS -&gt;
316      *    `--DESCRIPTION -&gt; DESCRIPTION
317      *        `--TEXT -&gt; if query is not correct
318      * }</pre>
319      *
320      * @see
321      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCHAHD">
322      * Oracle Docs</a>
323      * @see #JAVADOC_TAG
324      */
325     public static final int THROWS_LITERAL = JavadocParser.THROWS_LITERAL;
326 
327     /**
328      * '@author' literal in {@code @author} Javadoc tag.
329      *
330      * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
331      *
332      * <p><b>Example:</b></p>
333      * <pre>{@code @author Baratali Izmailov}</pre>
334      * <b>Tree:</b>
335      * <pre>{@code
336      *   JAVADOC_TAG -> JAVADOC_TAG
337      *      |--AUTHOR_LITERAL -> @author
338      *      |--WS ->
339      *      `--DESCRIPTION -> DESCRIPTION
340      *          |--TEXT -> Baratali Izmailov
341      *          |--NEWLINE -> \r\n
342      * }</pre>
343      *
344      * @see
345      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCBAHA">
346      * Oracle Docs</a>
347      * @see #JAVADOC_TAG
348      */
349     public static final int AUTHOR_LITERAL = JavadocParser.AUTHOR_LITERAL;
350 
351     /**
352      * Name of custom Javadoc tag (or Javadoc inline tag).
353      *
354      * <p>Such Javadoc tag can have one argument - {@link #DESCRIPTION}</p>
355      *
356      * <p><b>Example:</b></p>
357      * <pre>{@code @myJavadocTag some magic}</pre>
358      * <b>Tree:</b>
359      * <pre>{@code
360      *   JAVADOC_TAG --> JAVADOC_TAG
361      *       |--CUSTOM_NAME --> @myJavadocTag
362      *       |--WS -->
363      *       `--DESCRIPTION --> DESCRIPTION
364      *           |--TEXT --> some magic
365      * }</pre>
366      */
367     public static final int CUSTOM_NAME = JavadocParser.CUSTOM_NAME;
368 
369     /**
370      * First child of {@link #JAVADOC_INLINE_TAG} that represents left curly brace '{'.
371      *
372      * <p><b>Example:</b></p>
373      * <pre><code>{&#64;code Comparable&lt;E&gt;}</code></pre>
374      * <b>Tree:</b>
375      * <pre>
376      * <code> JAVADOC_INLINE_TAG --&gt; JAVADOC_INLINE_TAG
377      *         |--JAVADOC_INLINE_TAG_START --&gt; {
378      *         |--CODE_LITERAL --&gt; @code
379      *         |--WS --&gt;
380      *         |--TEXT --&gt; Comparable&lt;E&gt;
381      *         `--JAVADOC_INLINE_TAG_END --&gt; }
382      * </code>
383      * </pre>
384      *
385      * @noinspection HtmlTagCanBeJavadocTag
386      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
387      *      replaced with Javadoc tag
388      */
389     public static final int JAVADOC_INLINE_TAG_START = JavadocParser.JAVADOC_INLINE_TAG_START;
390 
391     /**
392      * Last child of {@link #JAVADOC_INLINE_TAG} that represents right curly brace '}'.
393      *
394      * <p><b>Example:</b></p>
395      * <pre><code>{&#64;code Comparable&lt;E&gt;}</code></pre>
396      * <b>Tree:</b>
397      * <pre>
398      * <code>JAVADOC_INLINE_TAG --&gt; JAVADOC_INLINE_TAG
399      *        |--JAVADOC_INLINE_TAG_START --&gt; {
400      *        |--CODE_LITERAL --&gt; @code
401      *        |--WS --&gt;
402      *        |--TEXT --&gt; Comparable&lt;E&gt;
403      *        `--JAVADOC_INLINE_TAG_END --&gt; }
404      *
405      * </code>
406      * </pre>
407      *
408      * @noinspection HtmlTagCanBeJavadocTag
409      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
410      *      replaced with Javadoc tag
411      */
412     public static final int JAVADOC_INLINE_TAG_END = JavadocParser.JAVADOC_INLINE_TAG_END;
413 
414     /**
415      * '@code' literal in {&#64;code} Javadoc inline tag.
416      *
417      * <p>Such Javadoc inline tag can have such child nodes:</p>
418      * <ul>
419      * <li>{@link #NEWLINE}</li>
420      * <li>{@link #WS}</li>
421      * <li>{@link #TEXT}</li>
422      * </ul>
423      *
424      * <p><b>Example:</b></p>
425      * <pre><code>{&#64;code Comparable&lt;E&gt;}</code></pre>
426      * <b>Tree:</b>
427      * <pre>
428      * <code>JAVADOC_TAG -&gt; JAVADOC_TAG
429      *        |--CUSTOM_NAME -&gt; @code
430      *        |--WS -&gt;
431      *        `--DESCRIPTION -&gt; DESCRIPTION
432      *            |--TEXT -&gt; Comparable&lt;E&gt;
433      * </code>
434      * </pre>
435      *
436      * @see
437      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDFHHBB">
438      * Oracle Docs</a>
439      * @see #JAVADOC_INLINE_TAG
440      * @noinspection HtmlTagCanBeJavadocTag
441      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
442      *      replaced with Javadoc tag
443      */
444     public static final int CODE_LITERAL = JavadocParser.CODE_LITERAL;
445 
446     /**
447      * '@docRoot' literal in {&#64;docRoot} Javadoc inline tag.
448      *
449      * <p>Such Javadoc inline tag does not have any arguments and can have such child nodes:</p>
450      * <ul>
451      * <li>{@link #NEWLINE}</li>
452      * <li>{@link #WS}</li>
453      * </ul>
454      *
455      * <p><b>Example:</b></p>
456      * <pre><code>{&#64;docRoot}</code></pre>
457      * <b>Tree:</b>
458      * <pre>
459      * <code>
460      * |--JAVADOC_INLINE_TAG -&gt; JAVADOC_INLINE_TAG
461      *      |--JAVADOC_INLINE_TAG_START -&gt; {
462      *      |--DOC_ROOT_LITERAL -&gt; @docRoot
463      *      `--JAVADOC_INLINE_TAG_END -&gt; }
464      * </code>
465      * </pre>
466      *
467      * <pre><code>Example :{&#64;docRoot
468      * } in a Javadoc comment.
469      * </code></pre>
470      * <b>Tree:</b>
471      * <pre>
472      * <code>
473      *   |--JAVADOC_INLINE_TAG -&gt; JAVADOC_INLINE_TAG
474      *     |--JAVADOC_INLINE_TAG_START -&gt; {
475      *     |--DOC_ROOT_LITERAL -&gt; @docRoot
476      *     |--NEWLINE -&gt; \r\n
477      *     |--LEADING_ASTERISK -&gt;       *
478      *     |--WS -&gt;
479      *     `--JAVADOC_INLINE_TAG_END -&gt; }
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      *
496      * <p>Such Javadoc inline tag can have one argument - {@link #REFERENCE}</p>
497      *
498      * <p><b>Example:</b></p>
499      *
500      * <pre><code>{&#64;link org.apache.utils.Lists.Comparator#compare(Object)}</code></pre>
501      *
502      * <p><b>Tree:</b></p>
503      *
504      * <pre>
505      * <code>
506      *   JAVADOC_INLINE_TAG -&gt; JAVADOC_INLINE_TAG
507      *    |--JAVADOC_INLINE_TAG_START -&gt; {
508      *    |--LINK_LITERAL -&gt; @link
509      *    |--WS -&gt;
510      *    |--REFERENCE -&gt; REFERENCE
511      *    |   |--PACKAGE_CLASS -&gt; org.apache.utils.Lists.Comparator
512      *    |   |--HASH -&gt; #
513      *    |   |--MEMBER -&gt; compare
514      *    |   `--PARAMETERS -&gt; PARAMETERS
515      *    |       |--LEFT_BRACE -&gt; (
516      *    |       |--ARGUMENT -&gt; Object
517      *    |       `--RIGHT_BRACE -&gt; )
518      *    `--JAVADOC_INLINE_TAG_END -&gt; }
519      * </code>
520      * </pre>
521      *
522      * @see
523      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDIECH">
524      * Oracle Docs</a>
525      * @see #JAVADOC_INLINE_TAG
526      * @noinspection HtmlTagCanBeJavadocTag
527      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
528      *      replaced with Javadoc tag
529      */
530     public static final int LINK_LITERAL = JavadocParser.LINK_LITERAL;
531 
532     /**
533      * '@inheritDoc' literal in {&#64;inheritDoc} Javadoc inline tag.
534      *
535      * <p>Such Javadoc inline tag does not have any arguments and can have such child nodes:</p>
536      * <ul>
537      * <li>{@link #NEWLINE}</li>
538      * <li>{@link #WS}</li>
539      * </ul>
540      *
541      * <p><b>Example:</b></p>
542      * <pre><code>{&#64;inheritDoc}</code></pre>
543      * <b>Tree:</b>
544      * <pre>{@code
545      *   JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG
546      *    |--JAVADOC_INLINE_TAG_START -> {
547      *    |--INHERIT_DOC_LITERAL -> @inheritDoc
548      *    |--JAVADOC_INLINE_TAG_END -> }
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>{@code
571      *   JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG
572      *    |--JAVADOC_INLINE_TAG_START -> {
573      *    |--LINKPLAIN_LITERAL -> @linkplain
574      *    |--WS ->
575      *    |--REFERENCE -> org.apache.utils.Lists.Comparator#compare(Object)
576      *        |--PACKAGE_CLASS -> org.apache.utils
577      *        |--DOT -> .
578      *        |--CLASS -> Lists
579      *        |--DOT -> .
580      *        |--CLASS -> Comparator
581      *        |--HASH -> #
582      *        |--MEMBER -> compare
583      *        |--PARAMETERS -> (Object)
584      *            |--LEFT_BRACE -> (
585      *            |--ARGUMENT -> Object
586      *            |--RIGHT_BRACE -> )
587      *     |--DESCRIPTION -> compare
588      *         |--TEXT -> compare
589      *     |--JAVADOC_INLINE_TAG_END -> }
590      * }</pre>
591      *
592      * @see
593      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDGBICD">
594      * Oracle Docs</a>
595      * @see #JAVADOC_INLINE_TAG
596      * @noinspection HtmlTagCanBeJavadocTag
597      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
598      *      replaced with Javadoc tag
599      */
600     public static final int LINKPLAIN_LITERAL = JavadocParser.LINKPLAIN_LITERAL;
601 
602     /**
603      * '@literal' literal in {&#64;literal} Javadoc inline tag.
604      *
605      * <p>Such Javadoc inline tag can have such child nodes:</p>
606      * <ul>
607      * <li>{@link #NEWLINE}</li>
608      * <li>{@link #WS}</li>
609      * <li>{@link #TEXT}</li>
610      * </ul>
611      *
612      * <p><b>Example:</b></p>
613      * <pre><code>{&#64;literal #compare(Object)}</code></pre>
614      * <b>Tree:</b>
615      * <pre>
616      * <code>
617      *     |--JAVADOC_INLINE_TAG -&gt; JAVADOC_INLINE_TAG
618      *        |--JAVADOC_INLINE_TAG_START -&gt; {
619      *        |--LITERAL_LITERAL -&gt; @literal
620      *        |--WS -&gt;
621      *        |--TEXT -&gt; #compare(Object)
622      *        `--JAVADOC_INLINE_TAG_END -&gt; }
623      * </code>
624      * </pre>
625      *
626      * @see
627      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDCFJDG">
628      * Oracle Docs</a>
629      * @see #JAVADOC_INLINE_TAG
630      * @noinspection HtmlTagCanBeJavadocTag
631      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
632      *      replaced with Javadoc tag
633      */
634     public static final int LITERAL_LITERAL = JavadocParser.LITERAL_LITERAL;
635 
636     /**
637      * '@value' literal in {&#64;value} Javadoc inline tag.
638      *
639      * <p>Such Javadoc inline tag has one argument {@link #REFERENCE}
640      * and can have such child nodes:</p>
641      * <ul>
642      * <li>{@link #NEWLINE}</li>
643      * <li>{@link #WS}</li>
644      * </ul>
645      *
646      * <p><b>Example:</b></p>
647      * <pre><code>{&#64;value Integer#MAX_VALUE}</code></pre>
648      * <b>Tree:</b>
649      * <pre>
650      * <code> JAVADOC_INLINE_TAG --&gt; JAVADOC_INLINE_TAG
651      *         |--JAVADOC_INLINE_TAG_START --&gt; {
652      *         |--VALUE_LITERAL --&gt; @value
653      *         |--WS --&gt;
654      *         |--REFERENCE --&gt; REFERENCE
655      *         |   |--PACKAGE_CLASS --&gt; Integer
656      *         |   |--HASH --&gt; #
657      *         |   `--MEMBER --&gt; MAX_VALUE
658      *         `--JAVADOC_INLINE_TAG_END --&gt; }
659      * </code>
660      * </pre>
661      *
662      * @see
663      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDDCDHH">
664      * Oracle Docs</a>
665      * @see #JAVADOC_INLINE_TAG
666      * @noinspection HtmlTagCanBeJavadocTag
667      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
668      *      replaced with Javadoc tag
669      */
670     public static final int VALUE_LITERAL = JavadocParser.VALUE_LITERAL;
671 
672     /**
673      * PACKAGE_CLASS represents the package or class which has been referenced in the `@see`,
674      * `@link`, `@linkplain` or `@value` javadoc tags. In the javadoc tree it shall be a child
675      * of {@link #REFERENCE}.
676      * <br>
677      * <strong>IMPORTANT:</strong> Constructs like
678      * {@code package.Class.NestedClassAtDepth1.NestedClassAtDepth2#member} are recognized by
679      * the javadoc tool from oracle, and no assumptions like, package names wouldn't consist of
680      * uppercase characters or class names begin with an uppercase character, are made.
681      * Also, <i>the reference</i> in a javadoc tag can consist just a package name or a
682      * simple class name or even a full class name. Thus, PACKAGE_CLASS can represent a
683      * package name or a simple class name or a full class name i.e. checkstyle doesn't
684      * resolve references at present.
685      *
686      * <p><b>Example:</b></p>
687      * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
688      * <b>Tree:</b>
689      * <pre>
690      * {@code
691      * JAVADOC_TAG -&gt JAVADOC_TAG
692      *  |--SEE_LITERAL -&gt @see
693      *  |--WS -&gt
694      *  |--REFERENCE -&gt REFERENCE
695      *  |   |--PACKAGE_CLASS -&gt org.apache.utils.Lists.Comparator
696      *  |   |--HASH -&gt #
697      *  |   |--MEMBER -&gt compare
698      *  |   `--PARAMETERS -&gt PARAMETERS
699      *  |       |--LEFT_BRACE -&gt (
700      *  |       |--ARGUMENT -&gt Object
701      *  |       `--RIGHT_BRACE -&gt )
702      *  |--NEWLINE -&gt \r\n
703      *  `--WS -&gt
704      * }
705      * </pre>
706      */
707     public static final int PACKAGE_CLASS = JavadocParser.PACKAGE_CLASS;
708 
709     /**
710      * Hash character in {@link #REFERENCE}.
711      * Hash character is used before specifying a class member.
712      *
713      * <p><b>Example:</b></p>
714      * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
715      * <b>Tree:</b>
716      * <pre>
717      * {@code
718      * JAVADOC_TAG -&gt JAVADOC_TAG
719      *  |--SEE_LITERAL -&gt @see
720      *  |--WS -&gt
721      *  |--REFERENCE -&gt REFERENCE
722      *      |--PACKAGE_CLASS -&gt org.apache.utils.Lists.Comparator
723      *      |--HASH -&gt #
724      *      |--MEMBER -&gt compare
725      *      `--PARAMETERS -&gt PARAMETERS
726      *          |--LEFT_BRACE -&gt (
727      *          |--ARGUMENT -&gt Object
728      *          `--RIGHT_BRACE -&gt )
729      * }
730      * </pre>
731      */
732     public static final int HASH = JavadocParser.HASH;
733 
734     /**
735      * A class member in {@link #REFERENCE}.
736      * Class member is specified after {@link #HASH} symbol.
737      *
738      * <p><b>Example:</b></p>
739      * <pre>{@code @see org.apache.utils.Lists.Comparator#compare(Object)}</pre>
740      * <b>Tree:</b>
741      * <pre>
742      * {@code
743      * JAVADOC_TAG -> JAVADOC_TAG
744      *  |--SEE_LITERAL -> @see
745      *  |--WS ->
746      *  |--REFERENCE -> REFERENCE
747      *      |--PACKAGE_CLASS -> org.apache.utils.Lists.Comparator
748      *      |--HASH -> #
749      *      |--MEMBER -> compare
750      *      `--PARAMETERS -> PARAMETERS
751      *          |--LEFT_BRACE -> (
752      *          |--ARGUMENT -> Object
753      *          `--RIGHT_BRACE -> )
754      * }
755      * </pre>
756      */
757     public static final int MEMBER = JavadocParser.MEMBER;
758 
759     /**
760      * Left brace in {@link #PARAMETERS} part of {@link #REFERENCE}.
761      *
762      * <p><b>Example:</b></p>
763      * <pre>{@code @see #method(Processor, String)}</pre>
764      * <b>Tree:</b>
765      * <pre>
766      * {@code JAVADOC_TAG -&gt JAVADOC_TAG
767      *         |--SEE_LITERAL -&gt @see
768      *         |--WS -&gt
769      *         |--REFERENCE -&gt REFERENCE
770      *         |   |--HASH -&gt #
771      *         |   |--MEMBER -&gt method
772      *         |   `--PARAMETERS -&gt PARAMETERS
773      *         |       |--LEFT_BRACE -&gt (
774      *         |       |--ARGUMENT -&gt Processor
775      *         |       |--COMMA -&gt ,
776      *         |       |--WS -&gt
777      *         |       |--ARGUMENT -&gt String
778      *         |       `--RIGHT_BRACE -&gt )
779      * }
780      * </pre>
781      */
782     public static final int LEFT_BRACE = JavadocParser.LEFT_BRACE;
783 
784     /**
785      * Right brace in {@link #PARAMETERS} part of {@link #REFERENCE}.
786      *
787      * <p><b>Example:</b></p>
788      * <pre>{@code @see #method(Processor, String)}</pre>
789      * <b>Tree:</b>
790      * <pre>
791      * {@code JAVADOC_TAG -&gt JAVADOC_TAG
792      *         |--SEE_LITERAL -&gt @see
793      *         |--WS -&gt
794      *         |--REFERENCE -&gt REFERENCE
795      *         |   |--HASH -&gt #
796      *         |   |--MEMBER -&gt method
797      *         |   `--PARAMETERS -&gt PARAMETERS
798      *         |       |--LEFT_BRACE -&gt (
799      *         |       |--ARGUMENT -&gt Processor
800      *         |       |--COMMA -&gt ,
801      *         |       |--WS -&gt
802      *         |       |--ARGUMENT -&gt String
803      *         |       `--RIGHT_BRACE -&gt )
804      * }
805      * </pre>
806      */
807     public static final int RIGHT_BRACE = JavadocParser.RIGHT_BRACE;
808 
809     /**
810      * Argument definition in {@link #PARAMETERS} part of {@link #REFERENCE}.
811      *
812      * <p><b>Example:</b></p>
813      * <pre>{@code @see #method(Processor, String)}</pre>
814      * <b>Tree:</b>
815      * <pre>
816      * {@code JAVADOC_TAG -&gt JAVADOC_TAG
817      *         |--SEE_LITERAL -&gt @see
818      *         |--WS -&gt
819      *         |--REFERENCE -&gt REFERENCE
820      *         |   |--HASH -&gt #
821      *         |   |--MEMBER -&gt method
822      *         |   `--PARAMETERS -&gt PARAMETERS
823      *         |       |--LEFT_BRACE -&gt (
824      *         |       |--ARGUMENT -&gt Processor
825      *         |       |--COMMA -&gt ,
826      *         |       |--WS -&gt
827      *         |       |--ARGUMENT -&gt String
828      *         |       `--RIGHT_BRACE -&gt )
829      *         `--NEWLINE -&gt \n
830      * }
831      * </pre>
832      */
833     public static final int ARGUMENT = JavadocParser.ARGUMENT;
834 
835     /**
836      * Comma separator between parameters in {@link #PARAMETERS} part of {@link #REFERENCE}.
837      *
838      * <p><b>Example:</b></p>
839      * <pre>{@code @see #method(Processor, String)}</pre>
840      * <b>Tree:</b>
841      * <pre>
842      * {@code
843      * JAVADOC_TAG -&gt JAVADOC_TAG
844      *  |--SEE_LITERAL -&gt @see
845      *  |--WS -&gt
846      *  |--REFERENCE -&gt REFERENCE
847      *  |   |--HASH -&gt #
848      *  |   |--MEMBER -&gt method
849      *  |   `--PARAMETERS -&gt PARAMETERS
850      *  |       |--LEFT_BRACE -&gt (
851      *  |       |--ARGUMENT -&gt Processor
852      *  |       |--COMMA -&gt ,
853      *  |       |--WS -&gt
854      *  |       |--ARGUMENT -&gt String
855      *  |       `--RIGHT_BRACE -&gt )
856      *  |--NEWLINE -&gt \r\n
857      *  `--WS -&gt
858      * }
859      * </pre>
860      *
861      * @see #PARAMETERS
862      * @see #REFERENCE
863      * @see #ARGUMENT
864      */
865     public static final int COMMA = JavadocParser.COMMA;
866 
867     /**
868      * Quoted text.
869      * One of possible {@code @see} tag arguments.
870      *
871      * <p><b>Example:</b></p>
872      * <pre>{@code @see "Spring Framework"}</pre>
873      * <b>Tree:</b>
874      * <pre>
875      * {@code
876      * JAVADOC_TAG -&gt JAVADOC_TAG
877      *  |--SEE_LITERAL -&gt @see
878      *  |--WS -&gt
879      *  |--STRING -&gt "Spring Framework"
880      *  |--NEWLINE -&gt \r\n
881      *  `--WS -&gt
882      * }
883      * </pre>
884      *
885      * @see #SEE_LITERAL
886      */
887     public static final int STRING = JavadocParser.STRING;
888 
889     /**
890      * Exception class name. First argument in {@link #THROWS_LITERAL @throws} and
891      * {@link #EXCEPTION_LITERAL @exception} Javadoc tags.
892      *
893      * <p><b>Example:</b></p>
894      * <pre>{@code @throws IOException connection problems}</pre>
895      * <b>Tree:</b>
896      * <pre>
897      * {@code
898      * JAVADOC_TAG -&gt JAVADOC_TAG
899      *  |--THROWS_LITERAL -&gt @throws
900      *  |--WS -&gt
901      *  |--CLASS_NAME -&gt IOException
902      *  |--WS -&gt
903      *  `--DESCRIPTION -&gt DESCRIPTION
904      *      |--TEXT -&gt connection problems
905      *      |--NEWLINE -&gt \r\n
906      *      `--TEXT -&gt
907      * }
908      * </pre>
909      *
910      * @see #EXCEPTION_LITERAL
911      * @see #THROWS_LITERAL
912      */
913     public static final int CLASS_NAME = JavadocParser.CLASS_NAME;
914 
915     /**
916      * First argument in {@link #PARAM_LITERAL @param} Javadoc tag.
917      *
918      * <p><b>Example:</b></p>
919      * <pre>{@code @param T The bar.}</pre>
920      * <b>Tree:</b>
921      * <pre>
922      * {@code JAVADOC_TAG -&gt JAVADOC_TAG
923      *         |--PARAM_LITERAL -&gt @param
924      *         |--WS -&gt
925      *         |--PARAMETER_NAME -&gt T
926      *         |--WS -&gt
927      *         `--DESCRIPTION -&gt DESCRIPTION
928      *             |--TEXT -&gt The bar.
929      *             |--NEWLINE -&gt \r\n
930      *             `--TEXT -&gt
931      * }
932      * </pre>
933      *
934      * @see
935      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHJECF">
936      * Oracle Docs</a>
937      * @see #PARAM_LITERAL
938      */
939     public static final int PARAMETER_NAME = JavadocParser.PARAMETER_NAME;
940 
941     /**
942      * 'exclude' literal.
943      * One of three possible {@link #SERIAL_LITERAL @serial} tag arguments.
944      *
945      * <p><b>Example:</b></p>
946      * <pre>{@code @serial exclude}</pre>
947      * <b>Tree:</b>
948      * <pre>
949      * {@code
950      *   JAVADOC_TAG -> JAVADOC_TAG
951      *    |--SERIAL_LITERAL -> @serial
952      *    |--WS ->
953      *    `--DESCRIPTION -> DESCRIPTION
954      *        |--TEXT -> serialized company name
955      *        |--NEWLINE -> \r\n
956      *        `--TEXT ->
957      * }
958      * </pre>
959      *
960      * @see
961      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
962      * Oracle Docs</a>
963      * @see #SERIAL_LITERAL
964      */
965     public static final int LITERAL_EXCLUDE = JavadocParser.LITERAL_EXCLUDE;
966 
967     /**
968      * 'include' literal.
969      * One of three possible {@link #SERIAL_LITERAL @serial} tag arguments.
970      *
971      * <p><b>Example:</b></p>
972      * <pre>{@code @serial include}</pre>
973      * <b>Tree:</b>
974      * <pre>
975      * {@code
976      * JAVADOC_TAG -&gt JAVADOC_TAG
977      *  |--SERIAL_LITERAL -&gt @serial
978      *  |--WS -&gt
979      *  |--LITERAL_INCLUDE -&gt include
980      *  |--NEWLINE -&gt \r\n
981      *  `--WS -&gt
982      * }
983      * </pre>
984      *
985      * @see
986      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
987      * Oracle Docs</a>
988      * @see #SERIAL_LITERAL
989      */
990     public static final int LITERAL_INCLUDE = JavadocParser.LITERAL_INCLUDE;
991 
992     /**
993      * Field name. First argument of {@link #SERIAL_FIELD_LITERAL @serialField} Javadoc tag.
994      *
995      * <p><b>Example:</b></p>
996      * <pre>{@code @serialField counter Integer objects counter}</pre>
997      * <b>Tree:</b>
998      * <pre>
999      * {@code
1000      *   JAVADOC_TAG -&gt; JAVADOC_TAG
1001      *    |--SERIAL_FIELD_LITERAL -&gt; @serialField
1002      *    |--WS -&gt;
1003      *    |--FIELD_NAME -&gt; counter
1004      *    |--WS -&gt;
1005      *    |--FIELD_TYPE -&gt; Integer
1006      *    |--WS -&gt;
1007      *    `--DESCRIPTION -&gt; DESCRIPTION
1008      *        |--TEXT -&gt; objects counter
1009      *        |--NEWLINE -&gt; \r\n
1010      *        `--TEXT -&gt;
1011      * }</pre>
1012      *
1013      * @see
1014      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
1015      * Oracle Docs</a>
1016      * @see #SERIAL_FIELD_LITERAL
1017      */
1018     public static final int FIELD_NAME = JavadocParser.FIELD_NAME;
1019 
1020     /**
1021      * Field type. Second argument of {@link #SERIAL_FIELD_LITERAL @serialField} Javadoc tag.
1022      *
1023      * <p><b>Example:</b></p>
1024      * <pre>{@code @serialField counter Integer objects counter}</pre>
1025      * <b>Tree:</b>
1026      * <pre>
1027      * {@code JAVADOC_TAG -&gt JAVADOC_TAG
1028      *         |--SERIAL_FIELD_LITERAL -&gt @serialField
1029      *         |--WS -&gt
1030      *         |--FIELD_NAME -&gt counter
1031      *         |--WS -&gt
1032      *         |--FIELD_TYPE -&gt Integer
1033      *         |--WS -&gt
1034      *         `--DESCRIPTION -&gt DESCRIPTION
1035      *             |--TEXT -&gt objects counter
1036      *             `--NEWLINE -&gt \n
1037      * }
1038      * </pre>
1039      *
1040      * @see
1041      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#CHDHDECF">
1042      * Oracle Docs</a>
1043      * @see #SERIAL_FIELD_LITERAL
1044      */
1045     public static final int FIELD_TYPE = JavadocParser.FIELD_TYPE;
1046 
1047     // ------------------------------------------------------------------------------------------ //
1048     // -----------------        HTML TAGS          ---------------------------------------------- //
1049     // ------------------------------------------------------------------------------------------ //
1050 
1051     /**
1052      * Identifier inside HTML tag: tag name or attribute name.
1053      */
1054     public static final int HTML_TAG_NAME = JavadocParser.HTML_TAG_NAME;
1055 
1056     // HTML tag components
1057 
1058     /**
1059      * Start html tag component: {@code '<'}.
1060      */
1061     public static final int START = JavadocParser.START;
1062 
1063     /**
1064      * Slash html tag component: {@code '/'}.
1065      */
1066     public static final int SLASH = JavadocParser.SLASH;
1067 
1068     /**
1069      * End html tag component: {@code '>'}.
1070      */
1071     public static final int END = JavadocParser.END;
1072 
1073     /**
1074      * Slash close html tag component: {@code '/>'}.
1075      */
1076     public static final int SLASH_END = JavadocParser.SLASH_END;
1077 
1078     /**
1079      * Equals html tag component: {@code '='}.
1080      */
1081     public static final int EQUALS = JavadocParser.EQUALS;
1082 
1083     /**
1084      * Attribute value html tag component.
1085      */
1086     public static final int ATTR_VALUE = JavadocParser.ATTR_VALUE;
1087 
1088     /////////////////////// HTML TAGS WITH OPTIONAL END TAG /////////////////////////////////////
1089 
1090     /**
1091      * Paragraph tag name.
1092      *
1093      * <p><b>Example:</b></p>
1094      * <pre>{@code <p>Paragraph Tag.</p>}</pre>
1095      * <b>Tree:</b>
1096      * <pre>
1097      * {@code
1098      *  JAVADOC -&gt; JAVADOC
1099      *     |--NEWLINE -&gt; \r\n
1100      *     |--LEADING_ASTERISK -&gt;      *
1101      *     |--TEXT -&gt;
1102      *     |--HTML_ELEMENT -&gt; HTML_ELEMENT
1103      *         `--PARAGRAPH -&gt; PARAGRAPH
1104      *             |--P_TAG_START -&gt; P_TAG_START
1105      *             |   |--START -&gt; &lt;
1106      *             |   |--P_HTML_TAG_NAME -&gt; p
1107      *             |   `--END -&gt; &gt;
1108      *             |--TEXT -&gt; Paragraph Tag.
1109      *             `--P_TAG_END -&gt; P_TAG_END
1110      *                 |--START -&gt; &lt;
1111      *                 |--SLASH -&gt; /
1112      *                 |--P_HTML_TAG_NAME -&gt; p
1113      *                 `--END -&gt; &gt;
1114      * }
1115      * </pre>
1116      *
1117      * @see
1118      * <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#JSSOR647">
1119      * Comments are written in HTML</a>
1120      * @see #P_HTML_TAG_NAME
1121      */
1122     public static final int P_HTML_TAG_NAME = JavadocParser.P_HTML_TAG_NAME;
1123 
1124     /** List item tag name. */
1125     public static final int LI_HTML_TAG_NAME = JavadocParser.LI_HTML_TAG_NAME;
1126 
1127     /** Table row tag name. */
1128     public static final int TR_HTML_TAG_NAME = JavadocParser.TR_HTML_TAG_NAME;
1129 
1130     /** Table cell tag name. */
1131     public static final int TD_HTML_TAG_NAME = JavadocParser.TD_HTML_TAG_NAME;
1132 
1133     /** Table header cell tag name. */
1134     public static final int TH_HTML_TAG_NAME = JavadocParser.TH_HTML_TAG_NAME;
1135 
1136     /** Body tag name. */
1137     public static final int BODY_HTML_TAG_NAME = JavadocParser.BODY_HTML_TAG_NAME;
1138 
1139     /** Colgroup tag name. */
1140     public static final int COLGROUP_HTML_TAG_NAME = JavadocParser.COLGROUP_HTML_TAG_NAME;
1141 
1142     /** Description of a term tag name. */
1143     public static final int DD_HTML_TAG_NAME = JavadocParser.DD_HTML_TAG_NAME;
1144 
1145     /** Description term tag name. */
1146     public static final int DT_HTML_TAG_NAME = JavadocParser.DT_HTML_TAG_NAME;
1147 
1148     /** Head tag name. */
1149     public static final int HEAD_HTML_TAG_NAME = JavadocParser.HEAD_HTML_TAG_NAME;
1150 
1151     /** Html tag name. */
1152     public static final int HTML_HTML_TAG_NAME = JavadocParser.HTML_HTML_TAG_NAME;
1153 
1154     /** Option tag name. */
1155     public static final int OPTION_HTML_TAG_NAME = JavadocParser.OPTION_HTML_TAG_NAME;
1156 
1157     /** Table body tag name. */
1158     public static final int TBODY_HTML_TAG_NAME = JavadocParser.TBODY_HTML_TAG_NAME;
1159 
1160     /** Table foot tag name. */
1161     public static final int TFOOT_HTML_TAG_NAME = JavadocParser.TFOOT_HTML_TAG_NAME;
1162 
1163     /** Table head tag name. */
1164     public static final int THEAD_HTML_TAG_NAME = JavadocParser.THEAD_HTML_TAG_NAME;
1165 
1166     /** `optgroup` tag name. */
1167     public static final int OPTGROUP_HTML_TAG_NAME = JavadocParser.OPTGROUP_HTML_TAG_NAME;
1168 
1169     /** `rb` tag name. */
1170     public static final int RB_HTML_TAG_NAME = JavadocParser.RB_HTML_TAG_NAME;
1171 
1172     /** `rt` tag name. */
1173     public static final int RT_HTML_TAG_NAME = JavadocParser.RT_HTML_TAG_NAME;
1174 
1175     /** `rtc` tag name. */
1176     public static final int RTC_HTML_TAG_NAME = JavadocParser.RTC_HTML_TAG_NAME;
1177 
1178     /** `rp` tag name. */
1179     public static final int RP_HTML_TAG_NAME = JavadocParser.RP_HTML_TAG_NAME;
1180     ///////////////////////////////////////////////////////////////////////////////////////////////
1181 
1182     /////////////////////// SINGLETON HTML TAGS  //////////////////////////////////////////////////
1183     /**
1184      * Area tag name.
1185      *
1186      * <p><b>Example:</b></p>
1187      * <pre>{@code &lt area shape="rect" &gt}</pre>
1188      * <b>Tree:</b>
1189      * <pre>
1190      * {@code
1191      *   JAVADOC -> JAVADOC
1192      *        |--NEWLINE -> \n
1193      *        |--LEADING_ASTERISK ->  *
1194      *        |--TEXT ->
1195      *        |--HTML_ELEMENT -> HTML_ELEMENT
1196      *        |   `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT
1197      *        |       `--AREA_TAG -> AREA_TAG
1198      *        |           |--START -> <
1199      *        |           |--AREA_HTML_TAG_NAME -> area
1200      *        |           |--WS ->
1201      *        |           |--ATTRIBUTE -> ATTRIBUTE
1202      *        |           |   |--HTML_TAG_NAME -> shape
1203      *        |           |   |--EQUALS -> =
1204      *        |           |   `--ATTR_VALUE -> "rect"
1205      *        |           `--END -> >
1206      *        |--TEXT ->
1207      *        |--NEWLINE -> \n
1208      *        |--TEXT ->
1209      * }
1210      * </pre>
1211      */
1212 
1213     public static final int AREA_HTML_TAG_NAME = JavadocParser.AREA_HTML_TAG_NAME;
1214 
1215     /** Base tag name. */
1216     public static final int BASE_HTML_TAG_NAME = JavadocParser.BASE_HTML_TAG_NAME;
1217 
1218     /** Basefont tag name. */
1219     public static final int BASEFONT_HTML_TAG_NAME = JavadocParser.BASEFONT_HTML_TAG_NAME;
1220 
1221     /**
1222      * Br tag name.
1223      *
1224      * <p><b>Example:</b></p>
1225      * <pre>{@code text before break &lt br &gt text after break}</pre>
1226      * <b>Tree:</b>
1227      * <pre>
1228      * {@code
1229      *   JAVADOC -&gt; JAVADOC
1230      *        |--NEWLINE -&gt; \r\n
1231      *        |--LEADING_ASTERISK -&gt;  *
1232      *        |--TEXT -&gt;  text before break
1233      *        |--HTML_ELEMENT -&gt; HTML_ELEMENT
1234      *        |   `--SINGLETON_ELEMENT -&gt; SINGLETON_ELEMENT
1235      *        |       `--BR_TAG -&gt; BR_TAG
1236      *        |           |--START -&gt; -&lt;
1237      *        |           |--BR_HTML_TAG_NAME -&gt; br
1238      *        |           `--END -&gt; &gt;
1239      *        |--TEXT -&gt;  text after break
1240      *        |--NEWLINE -&gt; \r\n
1241      *        |--TEXT -&gt;
1242      * }
1243      * </pre>
1244      */
1245 
1246     public static final int BR_HTML_TAG_NAME = JavadocParser.BR_HTML_TAG_NAME;
1247 
1248     /** Col tag name. */
1249     public static final int COL_HTML_TAG_NAME = JavadocParser.COL_HTML_TAG_NAME;
1250 
1251     /** Frame tag name. */
1252     public static final int FRAME_HTML_TAG_NAME = JavadocParser.FRAME_HTML_TAG_NAME;
1253 
1254     /** Hr tag name. */
1255     public static final int HR_HTML_TAG_NAME = JavadocParser.HR_HTML_TAG_NAME;
1256 
1257     /** Img tag name. */
1258     public static final int IMG_HTML_TAG_NAME = JavadocParser.IMG_HTML_TAG_NAME;
1259 
1260     /** Input tag name. */
1261     public static final int INPUT_HTML_TAG_NAME = JavadocParser.INPUT_HTML_TAG_NAME;
1262 
1263     /** Isindex tag name. */
1264     public static final int ISINDEX_HTML_TAG_NAME = JavadocParser.ISINDEX_HTML_TAG_NAME;
1265 
1266     /** Link tag name. */
1267     public static final int LINK_HTML_TAG_NAME = JavadocParser.LINK_HTML_TAG_NAME;
1268 
1269     /** Meta tag name. */
1270     public static final int META_HTML_TAG_NAME = JavadocParser.META_HTML_TAG_NAME;
1271 
1272     /** Param tag name. */
1273     public static final int PARAM_HTML_TAG_NAME = JavadocParser.PARAM_HTML_TAG_NAME;
1274     /** "embed" tag name. */
1275     public static final int EMBED_HTML_TAG_NAME = JavadocParser.EMBED_HTML_TAG_NAME;
1276     /** "keygen" tag name. */
1277     public static final int KEYGEN_HTML_TAG_NAME = JavadocParser.KEYGEN_HTML_TAG_NAME;
1278     /** "source" tag name. */
1279     public static final int SOURCE_HTML_TAG_NAME = JavadocParser.SOURCE_HTML_TAG_NAME;
1280     /** "track" tag name. */
1281     public static final int TRACK_HTML_TAG_NAME = JavadocParser.TRACK_HTML_TAG_NAME;
1282     /** "wbr" tag name. */
1283     public static final int WBR_HTML_TAG_NAME = JavadocParser.WBR_HTML_TAG_NAME;
1284     ///////////////////////////////////////////////////////////////////////////////////////////////
1285 
1286     /**
1287      * HTML comment start symbol '&lt;&#33;--'.
1288      */
1289     public static final int HTML_COMMENT_START = JavadocParser.HTML_COMMENT_START;
1290 
1291     /**
1292      * HTML comment end symbol '--&gt;'.
1293      */
1294     public static final int HTML_COMMENT_END = JavadocParser.HTML_COMMENT_END;
1295 
1296     // ------------------------------------------------------------------------------------------ //
1297     // -----------------        OTHER          -------------------------------------------------- //
1298     // ------------------------------------------------------------------------------------------ //
1299 
1300     /** Leading asterisk. */
1301     public static final int LEADING_ASTERISK = JavadocParser.LEADING_ASTERISK;
1302 
1303     /**
1304      * Newline symbol - '\n'.
1305      */
1306     public static final int NEWLINE = JavadocParser.NEWLINE;
1307 
1308     /**
1309      * Any other symbol.
1310      */
1311     public static final int CHAR = JavadocParser.CHAR;
1312 
1313     /**
1314      * Whitespace or tab ('\t') symbol.
1315      */
1316     public static final int WS = JavadocParser.WS;
1317 
1318     /**
1319      * End Of File symbol. Copied from
1320      * {@link org.antlr.v4.runtime.Recognizer#EOF} to avoid ANTLR dependency in
1321      * API.
1322      */
1323     public static final int EOF = -1;
1324 
1325     // ------------------------------------------------------------------------------------------ //
1326     // ------ JAVADOC TAGS DEPENDING ON RULE TYPES OFFSET --------------------------------------- //
1327     // ------------------------------------------------------------------------------------------ //
1328 
1329     /**
1330      * Rule types offset.
1331      * RULE_TYPES_OFFSET constant is used to split lexer tokens types and parser rules types.
1332      * We need unique numbers for all tokens,
1333      * ANTLR do not need this and that is why these types are mixed by used values.
1334      * All values we can take a look at
1335      * target/generated-sources/antlr/com/puppycrawl/tools/checkstyle/grammar/javadoc/JavadocParser.java
1336      * For example: LEADING_ASTERISK=1 and RULE_htmlElement = 1.
1337      * RULE_TYPES_OFFSET required to shift parser rules,
1338      * to let them not overlap with types that have prefix "RULE_".
1339      */
1340     private static final int RULE_TYPES_OFFSET = 10000;
1341 
1342     /**
1343      * Root node of any Javadoc comment.
1344      * Last child is always {@link #EOF}.
1345      *
1346      * <p><b>Tree for example:</b></p>
1347      * <pre>{@code
1348      * JAVADOC -> JAVADOC
1349      *  |--NEWLINE -> \n
1350      *  |--LEADING_ASTERISK ->  *
1351      *  |--WS ->
1352      *  |--JAVADOC_TAG -> JAVADOC_TAG
1353      *  |   |--PARAM_LITERAL -> @param
1354      *  |   |--WS ->
1355      *  |   |--PARAMETER_NAME -> T
1356      *  |   |--WS ->
1357      *  |   `--DESCRIPTION -> DESCRIPTION
1358      *  |       |--TEXT -> The bar.
1359      *  |       |--NEWLINE -> \n
1360      *  |       `--TEXT ->
1361      *  `--EOF -> <EOF>
1362      * }</pre>
1363      */
1364     public static final int JAVADOC = JavadocParser.RULE_javadoc + RULE_TYPES_OFFSET;
1365 
1366     /**
1367      * Javadoc tag.
1368      *
1369      * <p>Type of Javadoc tag is resolved by literal node that is first child of this node.</p>
1370      *
1371      * <p>As literal could be:</p>
1372      * <ul>
1373      * <li>{@link #RETURN_LITERAL}</li>
1374      * <li>{@link #DEPRECATED_LITERAL}</li>
1375      * <li>{@link #SINCE_LITERAL}</li>
1376      * <li>{@link #SERIAL_DATA_LITERAL}</li>
1377      * <li>{@link #SERIAL_FIELD_LITERAL}</li>
1378      * <li>{@link #PARAM_LITERAL}</li>
1379      * <li>{@link #SEE_LITERAL}</li>
1380      * <li>{@link #SERIAL_LITERAL}</li>
1381      * <li>{@link #VERSION_LITERAL}</li>
1382      * <li>{@link #EXCEPTION_LITERAL}</li>
1383      * <li>{@link #THROWS_LITERAL}</li>
1384      * <li>{@link #AUTHOR_LITERAL}</li>
1385      * <li>or {@link #CUSTOM_NAME} if it is custom Javadoc tag.</li>
1386      * </ul>
1387      *
1388      * <p><b>Example</b></p>
1389      * <pre>{@code &#64;param T The bar.}</pre>
1390      * <b>Tree</b>
1391      * <pre>{@code
1392      * JAVADOC_TAG -&gt JAVADOC_TAG
1393      *  |--PARAM_LITERAL -&gt @param
1394      *  |--WS -&gt
1395      *  |--PARAMETER_NAME -&gt T
1396      *  |--WS -&gt
1397      *  `--DESCRIPTION -&gt DESCRIPTION
1398      *      |--TEXT -&gt The bar.
1399      *      |--NEWLINE -&gt \r\n
1400      *      `--TEXT -&gt
1401      * }</pre>
1402      */
1403 
1404     public static final int JAVADOC_TAG = JavadocParser.RULE_javadocTag + RULE_TYPES_OFFSET;
1405     /**
1406      * Javadoc inline tag.
1407      *
1408      * <p>Type of Javadoc inline tag is resolved by literal node that is second child of this node.
1409      * First child is always {@link #JAVADOC_INLINE_TAG_START} and last node is always
1410      * {@link #JAVADOC_INLINE_TAG_END}.</p>
1411      *
1412      * <p>As literal could be:</p>
1413      * <ul>
1414      * <li>{@link #CODE_LITERAL}</li>
1415      * <li>{@link #DOC_ROOT_LITERAL}</li>
1416      * <li>{@link #LINK_LITERAL}</li>
1417      * <li>{@link #INHERIT_DOC_LITERAL}</li>
1418      * <li>{@link #LINKPLAIN_LITERAL}</li>
1419      * <li>{@link #LITERAL_LITERAL}</li>
1420      * <li>{@link #VALUE_LITERAL}</li>
1421      * <li>or {@link #CUSTOM_NAME} if it is custom Javadoc inline tag.</li>
1422      * </ul>
1423      *
1424      * <p><b>Example:</b></p>
1425      * <pre><code>{&#64;link String}</code></pre>
1426      * <b>Tree:</b>
1427      * <pre>
1428      * {@code
1429      *  JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG
1430      *      |--JAVADOC_INLINE_TAG_START -> {
1431      *      |--LINK_LITERAL -> @link
1432      *      |--WS ->
1433      *      |--REFERENCE -> REFERENCE
1434      *          `--PACKAGE_CLASS -> String
1435      *      `--JAVADOC_INLINE_TAG_END -> }
1436      * }
1437      * </pre>
1438      *
1439      * @noinspection HtmlTagCanBeJavadocTag
1440      * @noinspection HtmlTagCanBeJavadocTag
1441      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
1442      *      replaced with Javadoc tag
1443      */
1444     public static final int JAVADOC_INLINE_TAG = JavadocParser.RULE_javadocInlineTag
1445             + RULE_TYPES_OFFSET;
1446 
1447     /**
1448      * Parameter of the Javadoc tags listed below.
1449      * <ul>
1450      * <li>{@link #SEE_LITERAL @see}</li>
1451      * <li>{@link #LINK_LITERAL &#123;&#64;link&#125;}</li>
1452      * <li>{@link #LINKPLAIN_LITERAL &#123;&#64;linkplain&#125;}</li>
1453      * <li>{@link #VALUE_LITERAL &#123;&#64;value&#125;}</li>
1454      * </ul>
1455      */
1456     public static final int REFERENCE = JavadocParser.RULE_reference + RULE_TYPES_OFFSET;
1457 
1458     /**
1459      * Parameters part in {@link #REFERENCE}.
1460      * It is used to specify parameters for {@link #MEMBER method}.
1461      * Always contains {@link #LEFT_BRACE} as first child and {@link #RIGHT_BRACE} as last child.
1462      * Each parameter is represented by {@link #ARGUMENT} node.
1463      * Arguments in braces are separated by {@link #COMMA} (and optional {@link #WS}).
1464      *
1465      * <p><b>Example:</b></p>
1466      * <pre>{@code @see #method(Processor, String)}</pre>
1467      * <b>Tree:</b>
1468      * <pre>
1469      * {@code
1470      *      JAVADOC_TAG -> JAVADOC_TAG
1471      *          |--SEE_LITERAL -> @see
1472      *          |--WS ->
1473      *          |--REFERENCE -> REFERENCE
1474      *              |--HASH -> #
1475      *              |--MEMBER -> method
1476      *              `--PARAMETERS -> PARAMETERS
1477      *                  |--LEFT_BRACE -> (
1478      *                  |--ARGUMENT -> Processor
1479      *                  |--COMMA -> ,
1480      *                  |--WS ->
1481      *                  |--ARGUMENT -> String
1482      *                  `--RIGHT_BRACE -> )
1483      * }
1484      * </pre>
1485      */
1486     public static final int PARAMETERS = JavadocParser.RULE_parameters + RULE_TYPES_OFFSET;
1487 
1488     /**
1489      * Description node. It contains:
1490      * <ul>
1491      * <li>{@link #TEXT}</li>
1492      * <li>{@link #WS}</li>
1493      * <li>{@link #NEWLINE}</li>
1494      * <li>{@link #HTML_ELEMENT}</li>
1495      * </ul>
1496      *
1497      * <p>It is argument for many Javadoc tags and inline tags.</p>
1498      *
1499      * <p><b>Example:</b></p>
1500      * <pre>{@code @throws IOException if <b>connection</b> problems occur}</pre>
1501      * <b>Tree:</b>
1502      * <pre>
1503      * {@code
1504      *   --JAVADOC_TAG -> JAVADOC_TAG
1505      *      |--THROWS_LITERAL -> @throws
1506      *      |--WS ->
1507      *      |--CLASS_NAME -> IOException
1508      *      |--WS ->
1509      *      `--DESCRIPTION -> DESCRIPTION
1510      *          |--TEXT -> if
1511      *          |--HTML_ELEMENT -> HTML_ELEMENT
1512      *          |   `--HTML_TAG -> HTML_TAG
1513      *          |       |--HTML_ELEMENT_START -> HTML_ELEMENT_START
1514      *          |       |   |--START -> <
1515      *          |       |   |--HTML_TAG_NAME -> b
1516      *          |       |   `--END -> >
1517      *          |       |--TEXT -> connection
1518      *          |       `--HTML_ELEMENT_END -> HTML_ELEMENT_END
1519      *          |           |--START -> <
1520      *          |           |--SLASH -> /
1521      *          |           |--HTML_TAG_NAME -> b
1522      *          |           `--END -> >
1523      *          |--TEXT ->  problems occur
1524      * }
1525      * </pre>
1526      */
1527     public static final int DESCRIPTION = JavadocParser.RULE_description + RULE_TYPES_OFFSET;
1528 
1529     // ------------------------------------------------------------------------------------------ //
1530     // -------- HTML TAGS DEPENDING ON RULE TYPES OFFSET ---------------------------------------- //
1531     // ------------------------------------------------------------------------------------------ //
1532 
1533     /**
1534      * Parent node for all html tags.
1535      */
1536     public static final int HTML_ELEMENT = JavadocParser.RULE_htmlElement
1537             + RULE_TYPES_OFFSET;
1538 
1539     /**
1540      * Start html tag: &lt;XXXX&gt;.
1541      */
1542     public static final int HTML_ELEMENT_START = JavadocParser.RULE_htmlElementStart
1543             + RULE_TYPES_OFFSET;
1544 
1545     /**
1546      * End html tag: &lt;XXXX&gt;.
1547      */
1548     public static final int HTML_ELEMENT_END = JavadocParser.RULE_htmlElementEnd
1549             + RULE_TYPES_OFFSET;
1550 
1551     /**
1552      * Non-special HTML tag.
1553      */
1554     public static final int HTML_TAG = JavadocParser.RULE_htmlTag + RULE_TYPES_OFFSET;
1555 
1556     /**
1557      * Html tag attribute. Parent node for: {@code HTML_TAG_IDENT, EQUALS, ATTR_VALUE}.
1558      */
1559     public static final int ATTRIBUTE = JavadocParser.RULE_attribute
1560             + RULE_TYPES_OFFSET;
1561 
1562     /////////////////////// HTML TAGS WITH OPTIONAL END TAG /////////////////////////////////////
1563     /**
1564      * Paragraph html tag.
1565      *
1566      * <p><b>Example:</b></p>
1567      * <pre>{@code <p>Sample text</p>}</pre>
1568      * <b>Tree:</b>
1569      * <pre>
1570      * {@code
1571      *   `--JAVADOC -> JAVADOC
1572      *       |--NEWLINE -> \r\n
1573      *       |--LEADING_ASTERISK ->  *
1574      *       |--TEXT ->
1575      *       |--HTML_ELEMENT -> HTML_ELEMENT
1576      *       |   `--PARAGRAPH -> PARAGRAPH
1577      *       |       |--P_TAG_START -> P_TAG_START
1578      *       |       |   |--START -> <
1579      *       |       |   |--P_HTML_TAG_NAME -> p
1580      *       |       |   `--END -> >
1581      *       |       |--TEXT -> Sample text
1582      *       |       `--P_TAG_END -> P_TAG_END
1583      *       |           |--START -> <
1584      *       |           |--SLASH -> /
1585      *       |           |--P_HTML_TAG_NAME -> p
1586      *       |           `--END -> >
1587      *       |--NEWLINE -> \r\n
1588      *       |--TEXT ->
1589      * }
1590      * </pre>
1591      */
1592     public static final int PARAGRAPH = JavadocParser.RULE_paragraph + RULE_TYPES_OFFSET;
1593     /** Start paragraph tag. */
1594     public static final int P_TAG_START = JavadocParser.RULE_pTagStart + RULE_TYPES_OFFSET;
1595     /** End paragraph tag. */
1596     public static final int P_TAG_END = JavadocParser.RULE_pTagEnd + RULE_TYPES_OFFSET;
1597 
1598     /**
1599      * List items html tag.
1600      *
1601      * <p><b>Example:</b></p>
1602      * <pre>{@code
1603      * <ul>
1604      *      <li>Item 1</li>
1605      * </ul>
1606      * }</pre>
1607      * <b>Tree:</b>
1608      * <pre>
1609      * {@code
1610      *   --JAVADOC -> JAVADOC
1611      *     |--NEWLINE -> \n
1612      *     |--LEADING_ASTERISK ->  *
1613      *     |--TEXT ->
1614      *     |--HTML_ELEMENT -> HTML_ELEMENT
1615      *     |   `--HTML_TAG -> HTML_TAG
1616      *     |       |--HTML_ELEMENT_START -> HTML_ELEMENT_START
1617      *     |       |   |--START -> <
1618      *     |       |   |--HTML_TAG_NAME -> ul
1619      *     |       |   `--END -> >
1620      *     |       |--NEWLINE -> \n
1621      *     |       |--LEADING_ASTERISK ->  *
1622      *     |       |--TEXT ->
1623      *     |       |--HTML_ELEMENT -> HTML_ELEMENT
1624      *     |       |   `--LI -> LI
1625      *     |       |       |--LI_TAG_START -> LI_TAG_START
1626      *     |       |       |   |--START -> <
1627      *     |       |       |   |--LI_HTML_TAG_NAME -> li
1628      *     |       |       |   `--END -> >
1629      *     |       |       |--TEXT -> Item 1
1630      *     |       |       `--LI_TAG_END -> LI_TAG_END
1631      *     |       |           |--START -> <
1632      *     |       |           |--SLASH -> /
1633      *     |       |           |--LI_HTML_TAG_NAME -> li
1634      *     |       |           `--END -> >
1635      *     |       |--NEWLINE -> \n
1636      *     |       |--LEADING_ASTERISK ->  *
1637      *     |       |--TEXT ->
1638      *     |       `--HTML_ELEMENT_END -> HTML_ELEMENT_END
1639      *     |           |--START -> <
1640      *     |           |--SLASH -> /
1641      *     |           |--HTML_TAG_NAME -> ul
1642      *     |           `--END -> >
1643      *     |--NEWLINE -> \n
1644      *     |--TEXT ->
1645      * }
1646      * </pre>
1647      */
1648     public static final int LI = JavadocParser.RULE_li + RULE_TYPES_OFFSET;
1649     /** Start list item tag. */
1650     public static final int LI_TAG_START = JavadocParser.RULE_liTagStart + RULE_TYPES_OFFSET;
1651     /** End list item tag. */
1652     public static final int LI_TAG_END = JavadocParser.RULE_liTagEnd + RULE_TYPES_OFFSET;
1653 
1654     /**
1655      * Table row html tag.
1656      *
1657      * <p><b>Example:</b></p>
1658      * <pre>{@code <tr></tr>}</pre>
1659      * <b>Tree:</b>
1660      * <pre>
1661      * {@code
1662      *   JAVADOC -> JAVADOC
1663      *        |--NEWLINE -&gt \r\n
1664      *        |--LEADING_ASTERISK -&gt  *
1665      *        |--TEXT -&gt
1666      *        |--HTML_ELEMENT -&gt HTML_ELEMENT
1667      *        |   `--TR -&gt TR
1668      *        |       |--TR_TAG_START -&gt TR_TAG_START
1669      *        |       |   |--START -&gt &lt
1670      *        |       |   |--TR_HTML_TAG_NAME -&gt tr
1671      *        |       |   `--END -&gt &gt
1672      *        |       `--TR_TAG_END -&gt TR_TAG_END
1673      *        |           |--START -&gt &lt
1674      *        |           |--SLASH -&gt /
1675      *        |           |--TR_HTML_TAG_NAME -&gt tr
1676      *        |           `--END -&gt &gt
1677      *        |--NEWLINE -&gt \r\n
1678      *        |--TEXT -&gt
1679      * }
1680      * </pre>
1681      */
1682     public static final int TR = JavadocParser.RULE_tr + RULE_TYPES_OFFSET;
1683     /** Start table row tag. */
1684     public static final int TR_TAG_START = JavadocParser.RULE_trTagStart + RULE_TYPES_OFFSET;
1685     /** End table row tag. */
1686     public static final int TR_TAG_END = JavadocParser.RULE_trTagEnd + RULE_TYPES_OFFSET;
1687 
1688     /** Table cell html tag: {@code <td></td>}. */
1689     public static final int TD = JavadocParser.RULE_td + RULE_TYPES_OFFSET;
1690     /** Start table cell tag. */
1691     public static final int TD_TAG_START = JavadocParser.RULE_tdTagStart + RULE_TYPES_OFFSET;
1692     /** End table cell tag. */
1693     public static final int TD_TAG_END = JavadocParser.RULE_tdTagEnd + RULE_TYPES_OFFSET;
1694 
1695     /** Table header cell html tag: {@code <th></th>}. */
1696     public static final int TH = JavadocParser.RULE_th + RULE_TYPES_OFFSET;
1697     /** Start table header cell tag. */
1698     public static final int TH_TAG_START = JavadocParser.RULE_thTagStart + RULE_TYPES_OFFSET;
1699     /** End table header cell tag. */
1700     public static final int TH_TAG_END = JavadocParser.RULE_thTagEnd + RULE_TYPES_OFFSET;
1701 
1702     /** Body html tag. */
1703     public static final int BODY = JavadocParser.RULE_body + RULE_TYPES_OFFSET;
1704 
1705     /**
1706      * Start body tag.
1707      *
1708      * <p><b>Example:</b></p>
1709      * <pre>{@code
1710      * &lt;body&gt;
1711      * This is a test
1712      * &lt;/body&gt;
1713      * }</pre>
1714      * <b>Tree:</b>
1715      * <pre>
1716      * {@code
1717      *   JAVADOC -> JAVADOC
1718      *        |--TEXT -> /**
1719      *        |--NEWLINE -> \n
1720      *        |--LEADING_ASTERISK ->  *
1721      *        |--TEXT ->
1722      *        |--HTML_ELEMENT -> HTML_ELEMENT
1723      *        |    `--BODY -> BODY
1724      *        |         |--BODY_TAG_START -> BODY_TAG_START
1725      *        |         |    |--START -> <
1726      *        |         |    |--BODY_HTML_TAG_NAME -> body
1727      *        |         |    `--END -> >
1728      *        |         |--NEWLINE -> \n
1729      *        |         |--LEADING_ASTERISK ->  *
1730      *        |         |--TEXT ->  This is inside the body tag.
1731      *        |         |--NEWLINE -> \n
1732      *        |         |--LEADING_ASTERISK ->  *
1733      *        |         |--TEXT ->
1734      *        |         `--BODY_TAG_END -> BODY_TAG_END
1735      *        |             |--START -> <
1736      *        |             |--SLASH -> /
1737      *        |             |--BODY_HTML_TAG_NAME -> body
1738      *        |             `--END -> >
1739      *          |--NEWLINE -> \n
1740      *          |--LEADING_ASTERISK ->  *
1741      *          |--TEXT -> /
1742      *          |--NEWLINE -> \n
1743      *          |--TEXT -> public class Test {
1744      *          |--NEWLINE -> \n
1745      *          |--TEXT -> }
1746      *          |--NEWLINE -> \n
1747      * }
1748      * </pre>
1749      */
1750     public static final int BODY_TAG_START = JavadocParser.RULE_bodyTagStart + RULE_TYPES_OFFSET;
1751 
1752     /**
1753      * End body tag.
1754      *
1755      * <p><b>Example:</b></p>
1756      * <pre>{@code
1757      *  &lt;body&gt;
1758      *     This is a test
1759      * &lt;/body&gt;
1760      * }</pre>
1761      * <b>Tree:</b>
1762      * <pre>
1763      * {@code
1764      *   JAVADOC -> JAVADOC
1765      *        |--TEXT -> /**
1766      *        |--NEWLINE -> \n
1767      *        |--LEADING_ASTERISK ->  *
1768      *        |--TEXT ->
1769      *        |--HTML_ELEMENT -> HTML_ELEMENT
1770      *        |    `--BODY -> BODY
1771      *        |         |--BODY_TAG_START -> BODY_TAG_START
1772      *        |         |    |--START -> <
1773      *        |         |    |--BODY_HTML_TAG_NAME -> body
1774      *        |         |    `--END -> >
1775      *        |         |--NEWLINE -> \n
1776      *        |         |--LEADING_ASTERISK ->  *
1777      *        |         |--TEXT ->  This is inside the body tag.
1778      *        |         |--NEWLINE -> \n
1779      *        |         |--LEADING_ASTERISK ->  *
1780      *        |         |--TEXT ->
1781      *        |         `--BODY_TAG_END -> BODY_TAG_END
1782      *        |             |--START -> <
1783      *        |             |--SLASH -> /
1784      *        |             |--BODY_HTML_TAG_NAME -> body
1785      *        |             `--END -> >
1786      *        |--NEWLINE -> \n
1787      *        |--LEADING_ASTERISK ->  *
1788      *        |--TEXT -> /
1789      *        |--NEWLINE -> \n
1790      *        |--TEXT -> public class Test {
1791      *        |--NEWLINE -> \n
1792      *        |--TEXT -> }
1793      *        |--NEWLINE -> \n
1794      * }
1795      * </pre>
1796      */
1797     public static final int BODY_TAG_END = JavadocParser.RULE_bodyTagEnd + RULE_TYPES_OFFSET;
1798 
1799     /**
1800      * Colgroup html tag.
1801      *
1802      * <p><b>Example:</b></p>
1803      * <pre>{@code
1804      * <colgroup>
1805      *     <col />
1806      *     <col span="2" class="batman" />
1807      * </colgroup>
1808      * }</pre>
1809      * <b>Tree:</b>
1810      * <pre>
1811      * {@code
1812      *   --JAVADOC -> JAVADOC
1813      *       |--NEWLINE -> \n
1814      *       |--LEADING_ASTERISK ->  *
1815      *       |--TEXT ->
1816      *       |--HTML_ELEMENT -> HTML_ELEMENT
1817      *       |   `--COLGROUP -> COLGROUP
1818      *       |       |--COLGROUP_TAG_START -> COLGROUP_TAG_START
1819      *       |       |   |--START -> <
1820      *       |       |   |--COLGROUP_HTML_TAG_NAME -> colgroup
1821      *       |       |   |   `--END -> >
1822      *       |       |--NEWLINE -> \n
1823      *       |       |--LEADING_ASTERISK ->  *
1824      *       |       |--TEXT ->
1825      *       |       |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT
1826      *       |       |   `--COL_TAG -> COL_TAG
1827      *       |       |       |--START -> <
1828      *       |       |       |--COL_HTML_TAG_NAME -> col
1829      *       |       |       |--WS ->
1830      *       |       |       `--SLASH_END -> />
1831      *       |       |--NEWLINE -> \n
1832      *       |       |--LEADING_ASTERISK ->  *
1833      *       |       |--TEXT ->
1834      *       |       |--SINGLETON_ELEMENT -> SINGLETON_ELEMENT
1835      *       |       |   `--COL_TAG -> COL_TAG
1836      *       |       |       |--START -> <
1837      *       |       |       |--COL_HTML_TAG_NAME -> col
1838      *       |       |       |--WS ->
1839      *       |       |       |--ATTRIBUTE -> ATTRIBUTE
1840      *       |       |       |   |--HTML_TAG_NAME -> span
1841      *       |       |       |   |--EQUALS -> =
1842      *       |       |       |   `--ATTR_VALUE -> "2"
1843      *       |       |       |--WS ->
1844      *       |       |       |--ATTRIBUTE -> ATTRIBUTE
1845      *       |       |       |   |--HTML_TAG_NAME -> class
1846      *       |       |       |   |--EQUALS -> =
1847      *       |       |       |   `--ATTR_VALUE -> "batman"
1848      *       |       |       |--WS ->
1849      *       |       |       `--SLASH_END -> />
1850      *       |       |--NEWLINE -> \n
1851      *       |       |--LEADING_ASTERISK ->  *
1852      *       |       |--TEXT ->
1853      *       |       `--COLGROUP_TAG_END -> COLGROUP_TAG_END
1854      *       |       |       |--START -> <
1855      *       |       |       |--SLASH -> /
1856      *       |       |       |--COLGROUP_HTML_TAG_NAME -> colgroup
1857      *       |       |       `--END -> >
1858      *       |--NEWLINE -> \n
1859      *       |--TEXT ->
1860      * }
1861      * </pre>
1862      */
1863     public static final int COLGROUP = JavadocParser.RULE_colgroup + RULE_TYPES_OFFSET;
1864     /** Start colgroup tag. */
1865     public static final int COLGROUP_TAG_START = JavadocParser.RULE_colgroupTagStart
1866             + RULE_TYPES_OFFSET;
1867     /** End colgroup tag. */
1868     public static final int COLGROUP_TAG_END = JavadocParser.RULE_colgroupTagEnd
1869             + RULE_TYPES_OFFSET;
1870 
1871     /** Description of a term html tag: {@code <dd></dd>}. */
1872     public static final int DD = JavadocParser.RULE_dd + RULE_TYPES_OFFSET;
1873     /** Start description of a term tag. */
1874     public static final int DD_TAG_START = JavadocParser.RULE_ddTagStart + RULE_TYPES_OFFSET;
1875     /** End description of a term tag. */
1876     public static final int DD_TAG_END = JavadocParser.RULE_ddTagEnd + RULE_TYPES_OFFSET;
1877 
1878     /** Description term html tag: {@code <dt></dt>}. */
1879     public static final int DT = JavadocParser.RULE_dt + RULE_TYPES_OFFSET;
1880     /** Start description term tag. */
1881     public static final int DT_TAG_START = JavadocParser.RULE_dtTagStart + RULE_TYPES_OFFSET;
1882     /** End description term tag. */
1883     public static final int DT_TAG_END = JavadocParser.RULE_dtTagEnd + RULE_TYPES_OFFSET;
1884 
1885     /** Head html tag. */
1886     public static final int HEAD = JavadocParser.RULE_head + RULE_TYPES_OFFSET;
1887     /** Start head tag. */
1888     public static final int HEAD_TAG_START = JavadocParser.RULE_headTagStart + RULE_TYPES_OFFSET;
1889     /** End head tag. */
1890     public static final int HEAD_TAG_END = JavadocParser.RULE_headTagEnd + RULE_TYPES_OFFSET;
1891 
1892     /** Html html tag. */
1893     public static final int HTML = JavadocParser.RULE_html + RULE_TYPES_OFFSET;
1894     /** Start html tag. */
1895     public static final int HTML_TAG_START = JavadocParser.RULE_htmlTagStart + RULE_TYPES_OFFSET;
1896     /** End html tag. */
1897     public static final int HTML_TAG_END = JavadocParser.RULE_htmlTagEnd + RULE_TYPES_OFFSET;
1898 
1899     /** Option html tag. */
1900     public static final int OPTION = JavadocParser.RULE_option + RULE_TYPES_OFFSET;
1901     /** Start option tag. */
1902     public static final int OPTION_TAG_START =
1903             JavadocParser.RULE_optionTagStart + RULE_TYPES_OFFSET;
1904     /** End option tag. */
1905     public static final int OPTION_TAG_END = JavadocParser.RULE_optionTagEnd
1906             + RULE_TYPES_OFFSET;
1907 
1908     /** Table body html tag. */
1909     public static final int TBODY = JavadocParser.RULE_tbody + RULE_TYPES_OFFSET;
1910     /** Start table body tag. */
1911     public static final int TBODY_TAG_START = JavadocParser.RULE_tbodyTagStart + RULE_TYPES_OFFSET;
1912     /** End table body tag. */
1913     public static final int TBODY_TAG_END = JavadocParser.RULE_tbodyTagEnd + RULE_TYPES_OFFSET;
1914 
1915     /** Table foot html tag. */
1916     public static final int TFOOT = JavadocParser.RULE_tfoot + RULE_TYPES_OFFSET;
1917     /** Start table foot tag. */
1918     public static final int TFOOT_TAG_START = JavadocParser.RULE_tfootTagStart + RULE_TYPES_OFFSET;
1919     /** End table foot tag. */
1920     public static final int TFOOT_TAG_END = JavadocParser.RULE_tfootTagEnd + RULE_TYPES_OFFSET;
1921 
1922     /** Table head html tag. */
1923     public static final int THEAD = JavadocParser.RULE_thead + RULE_TYPES_OFFSET;
1924     /** Start table head tag. */
1925     public static final int THEAD_TAG_START = JavadocParser.RULE_theadTagStart + RULE_TYPES_OFFSET;
1926     /** End table head tag. */
1927     public static final int THEAD_TAG_END = JavadocParser.RULE_theadTagEnd + RULE_TYPES_OFFSET;
1928 
1929     /** `optgroup` html tag. */
1930     public static final int OPTGROUP = JavadocParser.RULE_optgroup + RULE_TYPES_OFFSET;
1931     /** `optgroup` tag start. */
1932     public static final int OPTGROUP_TAG_START =
1933             JavadocParser.RULE_optgroupTagStart + RULE_TYPES_OFFSET;
1934     /** `optgroup` tag end. */
1935     public static final int OPTGROUP_TAG_END =
1936             JavadocParser.RULE_optgroupTagEnd + RULE_TYPES_OFFSET;
1937 
1938     /** `rb` html tag. */
1939     public static final int RB = JavadocParser.RULE_rb + RULE_TYPES_OFFSET;
1940     /** `rb` tag start. */
1941     public static final int RB_TAG_START =
1942             JavadocParser.RULE_rbTagStart + RULE_TYPES_OFFSET;
1943     /** `rb` tag end. */
1944     public static final int RB_TAG_END =
1945             JavadocParser.RULE_rbTagEnd + RULE_TYPES_OFFSET;
1946 
1947     /** `rt` html tag. */
1948     public static final int RT = JavadocParser.RULE_rt + RULE_TYPES_OFFSET;
1949     /** `rt` tag start. */
1950     public static final int RT_TAG_START =
1951             JavadocParser.RULE_rtTagStart + RULE_TYPES_OFFSET;
1952     /** `rt` tag end. */
1953     public static final int RT_TAG_END =
1954             JavadocParser.RULE_rtTagEnd + RULE_TYPES_OFFSET;
1955 
1956     /** `rtc` html tag. */
1957     public static final int RTC = JavadocParser.RULE_rtc + RULE_TYPES_OFFSET;
1958     /** `rtc` tag start. */
1959     public static final int RTC_TAG_START =
1960             JavadocParser.RULE_rtcTagStart + RULE_TYPES_OFFSET;
1961     /** `rtc` tag end. */
1962     public static final int RTC_TAG_END =
1963             JavadocParser.RULE_rtcTagEnd + RULE_TYPES_OFFSET;
1964 
1965     /** `rp` html tag. */
1966     public static final int RP = JavadocParser.RULE_rp + RULE_TYPES_OFFSET;
1967     /** `rp` tag start. */
1968     public static final int RP_TAG_START =
1969             JavadocParser.RULE_rpTagStart + RULE_TYPES_OFFSET;
1970     /** `rp` tag end. */
1971     public static final int RP_TAG_END =
1972             JavadocParser.RULE_rpTagEnd + RULE_TYPES_OFFSET;
1973 
1974     /////////////////////// SINGLETON HTML TAGS  //////////////////////////////////////////////////
1975     /**
1976      * Parent node for all singleton html tags.
1977      */
1978     public static final int SINGLETON_ELEMENT = JavadocParser.RULE_singletonElement
1979             + RULE_TYPES_OFFSET;
1980 
1981     /**
1982      * Non-special empty html tag.
1983      */
1984     public static final int EMPTY_TAG = JavadocParser.RULE_emptyTag
1985             + RULE_TYPES_OFFSET;
1986 
1987     /**
1988      * Area html tag.
1989      *
1990      * <p><b>Example:</b></p>
1991      * <pre>{@code &lt area shape="rect" &gt}</pre>
1992      * <b>Tree:</b>
1993      * <pre>
1994      * {@code
1995      *   JAVADOC -> JAVADOC
1996      *        |--NEWLINE -> \n
1997      *        |--LEADING_ASTERISK ->  *
1998      *        |--TEXT ->
1999      *        |--HTML_ELEMENT -> HTML_ELEMENT
2000      *        |   `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT
2001      *        |       `--AREA_TAG -> AREA_TAG
2002      *        |           |--START -> <
2003      *        |           |--AREA_HTML_TAG_NAME -> area
2004      *        |           |--WS ->
2005      *        |           |--ATTRIBUTE -> ATTRIBUTE
2006      *        |           |   |--HTML_TAG_NAME -> shape
2007      *        |           |   |--EQUALS -> =
2008      *        |           |   `--ATTR_VALUE -> "rect"
2009      *        |           `--END -> >
2010      *        |--TEXT ->
2011      *        |--NEWLINE -> \n
2012      *        |--TEXT ->
2013      * }
2014      * </pre>
2015      */
2016     public static final int AREA_TAG = JavadocParser.RULE_areaTag + RULE_TYPES_OFFSET;
2017 
2018     /** Base html tag. */
2019     public static final int BASE_TAG = JavadocParser.RULE_baseTag + RULE_TYPES_OFFSET;
2020 
2021     /** Basefont html tag. */
2022     public static final int BASEFONT_TAG = JavadocParser.RULE_basefontTag + RULE_TYPES_OFFSET;
2023 
2024     /** Br html tag. */
2025     public static final int BR_TAG = JavadocParser.RULE_brTag + RULE_TYPES_OFFSET;
2026 
2027     /** Col html tag. */
2028     public static final int COL_TAG = JavadocParser.RULE_colTag + RULE_TYPES_OFFSET;
2029 
2030     /** Frame html tag. */
2031     public static final int FRAME_TAG = JavadocParser.RULE_frameTag + RULE_TYPES_OFFSET;
2032 
2033     /** Hr html tag. */
2034     public static final int HR_TAG = JavadocParser.RULE_hrTag + RULE_TYPES_OFFSET;
2035 
2036     /** Img html tag. */
2037     public static final int IMG_TAG = JavadocParser.RULE_imgTag + RULE_TYPES_OFFSET;
2038 
2039     /**
2040      * Input html tag.
2041      *
2042      * <p><b>Example:</b></p>
2043      * <pre>{@code Type here: <input type="text" id="id" name="name"> }</pre>
2044      * <b>Tree:</b>
2045      * <pre>
2046      * {@code
2047      *   JAVADOC -> JAVADOC
2048      *        |--NEWLINE -> \r\n
2049      *        |--LEADING_ASTERISK ->  *
2050      *        |--TEXT ->   Type here:
2051      *        |--HTML_ELEMENT -> HTML_ELEMENT
2052      *        |   `--SINGLETON_ELEMENT -> SINGLETON_ELEMENT
2053      *        |       `--INPUT_TAG -> INPUT_TAG
2054      *        |           |--START -> <
2055      *        |           |--INPUT_HTML_TAG_NAME -> input
2056      *        |           |--WS ->
2057      *        |           |--ATTRIBUTE -> ATTRIBUTE
2058      *        |           |   |--HTML_TAG_NAME -> type
2059      *        |           |   |--EQUALS -> =
2060      *        |           |   `--ATTR_VALUE -> "text"
2061      *        |           |--WS ->
2062      *        |           |--ATTRIBUTE -> ATTRIBUTE
2063      *        |           |   |--HTML_TAG_NAME -> id
2064      *        |           |   |--EQUALS -> =
2065      *        |           |   `--ATTR_VALUE -> "id"
2066      *        |           |--WS ->
2067      *        |           |--ATTRIBUTE -> ATTRIBUTE
2068      *        |           |   |--HTML_TAG_NAME -> name
2069      *        |           |   |--EQUALS -> =
2070      *        |           |   `--ATTR_VALUE -> "name"
2071      *        |           `--END -> >
2072      *        |--NEWLINE -> \r\n
2073      *        |--TEXT ->
2074      * }
2075      * </pre>
2076      */
2077     public static final int INPUT_TAG = JavadocParser.RULE_inputTag + RULE_TYPES_OFFSET;
2078 
2079     /** Isindex html tag. */
2080     public static final int ISINDEX_TAG = JavadocParser.RULE_isindexTag + RULE_TYPES_OFFSET;
2081 
2082     /** Link html tag. */
2083     public static final int LINK_TAG = JavadocParser.RULE_linkTag + RULE_TYPES_OFFSET;
2084 
2085     /** Meta html tag. */
2086     public static final int META_TAG = JavadocParser.RULE_metaTag + RULE_TYPES_OFFSET;
2087 
2088     /** Param html tag. */
2089     public static final int PARAM_TAG = JavadocParser.RULE_paramTag + RULE_TYPES_OFFSET;
2090 
2091     /**
2092      * HTML void element {@code <embed>}.
2093      *
2094      * @see #SINGLETON_ELEMENT
2095      * @see <a href="https://www.w3.org/TR/html51/semantics-embedded-content.html#elementdef-embed">
2096      *     W3 docs</a>
2097      */
2098     public static final int EMBED_TAG = JavadocParser.RULE_embedTag + RULE_TYPES_OFFSET;
2099 
2100     /**
2101      * HTML void element {@code <keygen>}.
2102      *
2103      * @see #SINGLETON_ELEMENT
2104      * @see <a href="https://www.w3.org/TR/html51/sec-forms.html#elementdef-keygen">
2105      *     W3 docs</a>
2106      */
2107     public static final int KEYGEN_TAG = JavadocParser.RULE_keygenTag + RULE_TYPES_OFFSET;
2108 
2109     /**
2110      * HTML void element {@code <source>}.
2111      *
2112      * @see #SINGLETON_ELEMENT
2113      * @see <a href=
2114      *     "https://www.w3.org/TR/html51/semantics-embedded-content.html#elementdef-media-source">
2115      *     W3 docs</a>
2116      */
2117     public static final int SOURCE_TAG = JavadocParser.RULE_sourceTag + RULE_TYPES_OFFSET;
2118 
2119     /**
2120      * HTML void element {@code <track>}.
2121      *
2122      * @see #SINGLETON_ELEMENT
2123      * @see <a
2124      *     href="https://www.w3.org/TR/html51/semantics-embedded-content.html#elementdef-track">
2125      *     W3 docs</a>
2126      */
2127     public static final int TRACK_TAG = JavadocParser.RULE_trackTag + RULE_TYPES_OFFSET;
2128 
2129     /**
2130      * HTML void element {@code <wbr>}.
2131      *
2132      * @see #SINGLETON_ELEMENT
2133      * @see <a href="https://www.w3.org/TR/html51/textlevel-semantics.html#elementdef-wbr">
2134      *     W3 docs</a>
2135      */
2136     public static final int WBR_TAG = JavadocParser.RULE_wbrTag + RULE_TYPES_OFFSET;
2137 
2138     ///////////////////////////////////////////////////////////////////////////////////////////////
2139 
2140     /**
2141      * Html comment: <code>&lt;&#33;-- --&gt;</code>.
2142      *
2143      * @noinspection HtmlTagCanBeJavadocTag
2144      * @noinspectionreason HtmlTagCanBeJavadocTag - encoded symbols were not decoded when
2145      *      replaced with Javadoc tag
2146      */
2147     public static final int HTML_COMMENT = JavadocParser.RULE_htmlComment
2148             + RULE_TYPES_OFFSET;
2149     /**
2150      * CHAR and WS sequence.
2151      */
2152     public static final int TEXT = JavadocParser.RULE_text + RULE_TYPES_OFFSET;
2153 
2154     /** Empty private constructor of the current class. */
2155     private JavadocTokenTypes() {
2156     }
2157 
2158 }