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