IDEA-359853 get rid of JavaDocCommentSyntaxTokenTypes

GitOrigin-RevId: 33b901485eda8c73c3fe363be3e198979ac61a4c
This commit is contained in:
Max Medvedev
2025-04-01 00:38:44 +00:00
committed by intellij-monorepo-bot
parent 019bce4330
commit e3eece6804
5 changed files with 153 additions and 245 deletions
@@ -1,11 +1,11 @@
// Generated by JFlex 1.10.8 http://jflex.de/ (tweaked for IntelliJ platform)
// Generated by JFlex 1.10.9 http://jflex.de/ (tweaked for IntelliJ platform)
// source: _JavaDocLexer.flex
// skeleton: /Users/Maksim.Medvedev/work/Parsers/tools/lexer/../../community/tools/lexer/idea-flex-kotlin.skeleton
/* It's an automatically generated code. Do not modify it. */
package com.intellij.java.syntax.lexer;
import com.intellij.java.syntax.element.JavaDocCommentSyntaxTokenTypes;
import com.intellij.java.syntax.element.JavaDocSyntaxTokenType
import com.intellij.platform.syntax.SyntaxElementType;
import com.intellij.platform.syntax.util.lexer.FlexLexer
@@ -598,14 +598,12 @@ companion object {
/* user code: */
private var myJdk15Enabled: Boolean = false // todo must be val
private lateinit var myTokenTypes: JavaDocCommentSyntaxTokenTypes // todo must be val
private var mySnippetBracesLevel = 0;
/* Enable markdown support for java 23 */
private var myMarkdownMode = false;
constructor(isJdk15Enabled: Boolean, tokenTypes: JavaDocCommentSyntaxTokenTypes) {
constructor(isJdk15Enabled: Boolean) {
myJdk15Enabled = isJdk15Enabled;
myTokenTypes = tokenTypes;
}
/** Should be called right after a reset */
@@ -874,102 +872,102 @@ companion object {
else {
when (if (zzAction < 0) zzAction else ZZ_ACTION[zzAction]) {
1 -> {
return myTokenTypes.badCharacter;
return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER;
}
// fall through
43 -> break;
2 -> {
yybegin(COMMENT_DATA); return myTokenTypes.commentData;
yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
44 -> break;
3 -> {
return myTokenTypes.space;
return JavaDocSyntaxTokenType.DOC_SPACE;
}
// fall through
45 -> break;
4 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.sharp;
return JavaDocSyntaxTokenType.DOC_SHARP;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
46 -> break;
5 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.leftParenthesis;
return JavaDocSyntaxTokenType.DOC_LPAREN;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
47 -> break;
6 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.rightParenthesis;
return JavaDocSyntaxTokenType.DOC_RPAREN;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
48 -> break;
7 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.comma;
return JavaDocSyntaxTokenType.DOC_COMMA;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
49 -> break;
8 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.leftBracket;
return JavaDocSyntaxTokenType.DOC_LBRACKET;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
50 -> break;
9 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.rightBracket;
return JavaDocSyntaxTokenType.DOC_RBRACKET;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
51 -> break;
10 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.inlineCodeFence;
return JavaDocSyntaxTokenType.DOC_INLINE_CODE_FENCE;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
52 -> break;
11 -> {
if (checkAhead('@')) {
yybegin(INLINE_TAG_NAME);
return myTokenTypes.inlineTagStart;
return JavaDocSyntaxTokenType.DOC_INLINE_TAG_START;
}
else {
yybegin(COMMENT_DATA);
return myTokenTypes.inlineTagStart;
return JavaDocSyntaxTokenType.DOC_INLINE_TAG_START;
}
}
// fall through
53 -> break;
12 -> {
yybegin(COMMENT_DATA); return myTokenTypes.inlineTagEnd;
yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_INLINE_TAG_END;
}
// fall through
54 -> break;
13 -> {
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
55 -> break;
@@ -977,181 +975,181 @@ companion object {
if (checkAhead('<') || checkAhead('\"')) yybegin(COMMENT_DATA);
else if (checkAhead('\u007b')) yybegin(COMMENT_DATA); // lbrace - there's a error in JLex when typing lbrace directly
else yybegin(DOC_TAG_VALUE);
return myTokenTypes.space;
return JavaDocSyntaxTokenType.DOC_SPACE;
}
// fall through
56 -> break;
15 -> {
yybegin(DOC_TAG_VALUE); return myTokenTypes.space;
yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_SPACE;
}
// fall through
57 -> break;
16 -> {
yybegin(COMMENT_DATA); return myTokenTypes.space;
yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_SPACE;
}
// fall through
58 -> break;
17 -> {
return myTokenTypes.tagValueSharp;
return JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN;
}
// fall through
59 -> break;
18 -> {
return myTokenTypes.tagValueToken;
return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN;
}
// fall through
60 -> break;
19 -> {
yybegin(DOC_TAG_VALUE_IN_PAREN); return myTokenTypes.tagValueLParen;
yybegin(DOC_TAG_VALUE_IN_PAREN); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN;
}
// fall through
61 -> break;
20 -> {
return myTokenTypes.tagValueComma;
return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA;
}
// fall through
62 -> break;
21 -> {
if (myJdk15Enabled) {
yybegin(DOC_TAG_VALUE_IN_LTGT);
return myTokenTypes.tagValueLT;
return JavaDocSyntaxTokenType.DOC_TAG_VALUE_LT;
}
else {
yybegin(COMMENT_DATA);
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
}
// fall through
63 -> break;
22 -> {
yybegin(DOC_TAG_VALUE); return myTokenTypes.tagValueRParen;
yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN;
}
// fall through
64 -> break;
23 -> {
yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT;
yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_GT;
}
// fall through
65 -> break;
24 -> {
yybegin(CODE_TAG); return myTokenTypes.commentData;
yybegin(CODE_TAG); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
66 -> break;
25 -> {
yybegin(CODE_TAG); return myTokenTypes.space;
yybegin(CODE_TAG); return JavaDocSyntaxTokenType.DOC_SPACE;
}
// fall through
67 -> break;
26 -> {
yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.commentData;
yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
68 -> break;
27 -> {
yybegin(SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES); return myTokenTypes.tagValueQuote;
yybegin(SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE;
}
// fall through
69 -> break;
28 -> {
yybegin(SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES); return myTokenTypes.tagValueQuote;
yybegin(SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE;
}
// fall through
70 -> break;
29 -> {
if (myMarkdownMode) {
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
return myTokenTypes.commentLeadingAsterisks;
return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS;
}
// fall through
71 -> break;
30 -> {
yybegin(SNIPPET_TAG_BODY_DATA); return myTokenTypes.tagValueColon;
yybegin(SNIPPET_TAG_BODY_DATA); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COLON;
}
// fall through
72 -> break;
31 -> {
mySnippetBracesLevel++; return myTokenTypes.commentData;
mySnippetBracesLevel++; return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
73 -> break;
32 -> {
if (mySnippetBracesLevel > 0) {
mySnippetBracesLevel--;
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
} else {
yybegin(COMMENT_DATA);
return myTokenTypes.inlineTagEnd;
return JavaDocSyntaxTokenType.DOC_INLINE_TAG_END;
}
}
// fall through
74 -> break;
33 -> {
yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagValueQuote;
yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE;
}
// fall through
75 -> break;
34 -> {
if(myMarkdownMode) {
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
return myTokenTypes.commentEnd;
return JavaDocSyntaxTokenType.DOC_COMMENT_END;
}
// fall through
76 -> break;
35 -> {
yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName;
yybegin(TAG_DOC_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME;
}
// fall through
77 -> break;
36 -> {
if (myMarkdownMode) {
return myTokenTypes.badCharacter;
return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER;
}
yybegin(COMMENT_DATA_START);
return myTokenTypes.commentStart;
return JavaDocSyntaxTokenType.DOC_COMMENT_START;
}
// fall through
78 -> break;
37 -> {
if(myMarkdownMode) {
yybegin(COMMENT_DATA_START);
return myTokenTypes.commentLeadingAsterisks;
return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS;
}
return myTokenTypes.badCharacter;
return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER;
}
// fall through
79 -> break;
38 -> {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.codeFence;
return JavaDocSyntaxTokenType.DOC_CODE_FENCE;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
80 -> break;
39 -> {
if (myMarkdownMode) {
return myTokenTypes.commentLeadingAsterisks;
return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// fall through
81 -> break;
40 -> {
yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName;
yybegin(CODE_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME;
}
// fall through
82 -> break;
41 -> {
yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName;
yybegin(PARAM_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME;
}
// fall through
83 -> break;
42 -> {
yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagName;
yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_NAME;
}
// fall through
84 -> break;
@@ -1,59 +0,0 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.java.syntax.element
import com.intellij.platform.syntax.SyntaxElementType
import com.intellij.platform.syntax.SyntaxElementTypeSet
/**
* Describes JDoc comment specific to the Java Plugin (not part of the core-api)
* @see com.intellij.lexer.JavaDocCommentTokenTypes
*/
interface JavaDocCommentSyntaxTokenTypes {
val commentStart: SyntaxElementType
val commentEnd: SyntaxElementType
val commentData: SyntaxElementType
val spaceCommentsTokenSet: SyntaxElementTypeSet
val space: SyntaxElementType
val tagValueToken: SyntaxElementType
val tagValueLParen: SyntaxElementType
val tagValueRParen: SyntaxElementType
val tagValueSharp: SyntaxElementType
val tagValueComma: SyntaxElementType
val tagName: SyntaxElementType
val tagValueLT: SyntaxElementType
val tagValueGT: SyntaxElementType
val inlineTagStart: SyntaxElementType
val inlineTagEnd: SyntaxElementType
val badCharacter: SyntaxElementType
val commentLeadingAsterisks: SyntaxElementType
val tagValueQuote: SyntaxElementType
get() = commentData
val tagValueColon: SyntaxElementType
get() = commentData
val codeFence: SyntaxElementType
get() = commentData
val rightBracket: SyntaxElementType
get() = commentData
val leftBracket: SyntaxElementType
get() = commentData
val leftParenthesis: SyntaxElementType
get() = commentData
val rightParenthesis: SyntaxElementType
get() = commentData
val sharp: SyntaxElementType
get() = commentData
val inlineCodeFence: SyntaxElementType
get() = commentData
val comma: SyntaxElementType
get() = commentData
}
@@ -1,39 +1,12 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.java.syntax.element
import com.intellij.platform.syntax.SyntaxElementType
import com.intellij.platform.syntax.SyntaxElementTypeSet
import com.intellij.platform.syntax.syntaxElementTypeSetOf
/**
* @see com.intellij.lexer.JavaDocTokenTypes
*/
object JavaDocSyntaxTokenTypes : JavaDocCommentSyntaxTokenTypes {
override val commentStart: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_COMMENT_START
override val commentEnd: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_COMMENT_END
override val commentData: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_COMMENT_DATA
override val spaceCommentsTokenSet: SyntaxElementTypeSet = syntaxElementTypeSetOf(JavaDocSyntaxTokenType.DOC_SPACE, JavaDocSyntaxTokenType.DOC_COMMENT_DATA)
override val space: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_SPACE
override val tagValueToken: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN
override val tagValueLParen: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN
override val tagValueRParen: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN
override val tagValueQuote: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE
override val tagValueColon: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_COLON
override val tagValueSharp: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN
override val tagValueComma: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA
override val tagName: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_NAME
override val tagValueLT: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_LT
override val tagValueGT: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_TAG_VALUE_GT
override val inlineTagStart: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_INLINE_TAG_START
override val inlineTagEnd: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_INLINE_TAG_END
override val badCharacter: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER
override val commentLeadingAsterisks: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS
override val codeFence: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_CODE_FENCE
override val rightBracket: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_RBRACKET
override val leftBracket: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_LBRACKET
override val leftParenthesis: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_LPAREN
override val rightParenthesis: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_RPAREN
override val sharp: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_SHARP
override val inlineCodeFence: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_INLINE_CODE_FENCE
override val comma: SyntaxElementType get() = JavaDocSyntaxTokenType.DOC_COMMA
object JavaDocSyntaxTokenTypes {
val spaceCommentsTokenSet: SyntaxElementTypeSet = syntaxElementTypeSetOf(JavaDocSyntaxTokenType.DOC_SPACE, JavaDocSyntaxTokenType.DOC_COMMENT_DATA)
}
@@ -1,7 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.java.syntax.lexer
import com.intellij.java.syntax.element.JavaDocCommentSyntaxTokenTypes
import com.intellij.java.syntax.element.JavaDocSyntaxTokenType
import com.intellij.java.syntax.element.JavaDocSyntaxTokenTypes
import com.intellij.platform.syntax.SyntaxElementType
import com.intellij.platform.syntax.util.lexer.LexerBase
@@ -9,19 +9,17 @@ import com.intellij.platform.syntax.util.lexer.MergingLexerAdapter
import com.intellij.pom.java.LanguageLevel
import com.intellij.util.text.CharArrayUtilKmp.containLineBreaks
class JavaDocLexer private constructor(tokenTypes: JavaDocCommentSyntaxTokenTypes, isJdk15Enabled: Boolean) : MergingLexerAdapter(
class JavaDocLexer private constructor(isJdk15Enabled: Boolean) : MergingLexerAdapter(
original = AsteriskStripperLexer(
myFlex = _JavaDocLexer(isJdk15Enabled, tokenTypes),
myTokenTypes = tokenTypes
myFlex = _JavaDocLexer(isJdk15Enabled),
),
tokenSet = tokenTypes.spaceCommentsTokenSet
tokenSet = JavaDocSyntaxTokenTypes.spaceCommentsTokenSet
) {
constructor(level: LanguageLevel) : this(JavaDocSyntaxTokenTypes, level.isAtLeast(LanguageLevel.JDK_1_5))
constructor(level: LanguageLevel) : this(level.isAtLeast(LanguageLevel.JDK_1_5))
}
private class AsteriskStripperLexer(
private val myFlex: _JavaDocLexer,
private val myTokenTypes: JavaDocCommentSyntaxTokenTypes,
) : LexerBase() {
private lateinit var myBuffer: CharSequence
private var myBufferIndex = 0
@@ -81,7 +79,7 @@ private class AsteriskStripperLexer(
if (myTokenType != null) return
doLocateToken()
if (myTokenType === myTokenTypes.space) {
if (myTokenType === JavaDocSyntaxTokenType.DOC_SPACE) {
myAfterLineBreak = containLineBreaks(myBuffer, getTokenStart(), getTokenEnd())
}
}
@@ -117,7 +115,7 @@ private class AsteriskStripperLexer(
myInLeadingSpace = true
if (myBufferIndex < myTokenEndOffset) {
myTokenType = myTokenTypes.commentLeadingAsterisks
myTokenType = JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS
return
}
}
@@ -139,9 +137,9 @@ private class AsteriskStripperLexer(
if (myBufferIndex < myTokenEndOffset) {
myTokenType = if (lf || state == _JavaDocLexer.PARAM_TAG_SPACE || state == _JavaDocLexer.TAG_DOC_SPACE || state == _JavaDocLexer.INLINE_TAG_NAME || state == _JavaDocLexer.DOC_TAG_VALUE_IN_PAREN || state == _JavaDocLexer.SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON)
myTokenTypes.space
JavaDocSyntaxTokenType.DOC_SPACE
else
myTokenTypes.commentData
JavaDocSyntaxTokenType.DOC_COMMENT_DATA
return
}
@@ -1,7 +1,7 @@
/* It's an automatically generated code. Do not modify it. */
package com.intellij.java.syntax.lexer;
import com.intellij.java.syntax.element.JavaDocCommentSyntaxTokenTypes;
import com.intellij.java.syntax.element.JavaDocSyntaxTokenType
import com.intellij.platform.syntax.SyntaxElementType;
import com.intellij.platform.syntax.util.lexer.FlexLexer
@@ -10,14 +10,12 @@ import com.intellij.platform.syntax.util.lexer.FlexLexer
%{
private var myJdk15Enabled: Boolean = false // todo must be val
private lateinit var myTokenTypes: JavaDocCommentSyntaxTokenTypes // todo must be val
private var mySnippetBracesLevel = 0;
/* Enable markdown support for java 23 */
private var myMarkdownMode = false;
constructor(isJdk15Enabled: Boolean, tokenTypes: JavaDocCommentSyntaxTokenTypes) {
constructor(isJdk15Enabled: Boolean) {
myJdk15Enabled = isJdk15Enabled;
myTokenTypes = tokenTypes;
}
/** Should be called right after a reset */
@@ -81,204 +79,204 @@ LEADING_TOKEN_MARKDOWN="///"
<YYINITIAL> {START_COMMENT_HTML} {
if (myMarkdownMode) {
return myTokenTypes.badCharacter;
return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER;
}
yybegin(COMMENT_DATA_START);
return myTokenTypes.commentStart;
return JavaDocSyntaxTokenType.DOC_COMMENT_START;
}
<YYINITIAL> {LEADING_TOKEN_MARKDOWN} {
if(myMarkdownMode) {
yybegin(COMMENT_DATA_START);
return myTokenTypes.commentLeadingAsterisks;
return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS;
}
return myTokenTypes.badCharacter;
return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER;
}
<COMMENT_DATA_START> {WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; }
<COMMENT_DATA> {WHITE_DOC_SPACE_NO_LR}+ { return myTokenTypes.commentData; }
<COMMENT_DATA> [\n\r]+{WHITE_DOC_SPACE_CHAR}* { return myTokenTypes.space; }
<COMMENT_DATA_START> {WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; }
<COMMENT_DATA> {WHITE_DOC_SPACE_NO_LR}+ { return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
<COMMENT_DATA> [\n\r]+{WHITE_DOC_SPACE_CHAR}* { return JavaDocSyntaxTokenType.DOC_SPACE; }
<DOC_TAG_VALUE> {WHITE_DOC_SPACE_CHAR}+ { yybegin(COMMENT_DATA); return myTokenTypes.space; }
<DOC_TAG_VALUE, DOC_TAG_VALUE_IN_PAREN> ({ALPHA}|[_0-9\."$"\[\]])+ { return myTokenTypes.tagValueToken; }
<DOC_TAG_VALUE> [\(] { yybegin(DOC_TAG_VALUE_IN_PAREN); return myTokenTypes.tagValueLParen; }
<DOC_TAG_VALUE_IN_PAREN> [\)] { yybegin(DOC_TAG_VALUE); return myTokenTypes.tagValueRParen; }
<DOC_TAG_VALUE> [#] { return myTokenTypes.tagValueSharp; }
<DOC_TAG_VALUE, DOC_TAG_VALUE_IN_PAREN> [,] { return myTokenTypes.tagValueComma; }
<DOC_TAG_VALUE_IN_PAREN> {WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; }
<DOC_TAG_VALUE> {WHITE_DOC_SPACE_CHAR}+ { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_SPACE; }
<DOC_TAG_VALUE, DOC_TAG_VALUE_IN_PAREN> ({ALPHA}|[_0-9\."$"\[\]])+ { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; }
<DOC_TAG_VALUE> [\(] { yybegin(DOC_TAG_VALUE_IN_PAREN); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN; }
<DOC_TAG_VALUE_IN_PAREN> [\)] { yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN; }
<DOC_TAG_VALUE> [#] { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN; }
<DOC_TAG_VALUE, DOC_TAG_VALUE_IN_PAREN> [,] { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA; }
<DOC_TAG_VALUE_IN_PAREN> {WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; }
<INLINE_TAG_NAME, COMMENT_DATA_START> "@param" { yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName; }
<PARAM_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ {yybegin(DOC_TAG_VALUE); return myTokenTypes.space; }
<INLINE_TAG_NAME, COMMENT_DATA_START> "@param" { yybegin(PARAM_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; }
<PARAM_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ {yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_SPACE; }
<DOC_TAG_VALUE> [\<] {
if (myJdk15Enabled) {
yybegin(DOC_TAG_VALUE_IN_LTGT);
return myTokenTypes.tagValueLT;
return JavaDocSyntaxTokenType.DOC_TAG_VALUE_LT;
}
else {
yybegin(COMMENT_DATA);
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
}
<DOC_TAG_VALUE_IN_LTGT> {IDENTIFIER} { return myTokenTypes.tagValueToken; }
<DOC_TAG_VALUE_IN_LTGT> {IDENTIFIER} { return myTokenTypes.tagValueToken; }
<DOC_TAG_VALUE_IN_LTGT> [\>] { yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT; }
<DOC_TAG_VALUE_IN_LTGT> {IDENTIFIER} { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; }
<DOC_TAG_VALUE_IN_LTGT> {IDENTIFIER} { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; }
<DOC_TAG_VALUE_IN_LTGT> [\>] { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_GT; }
<COMMENT_DATA_START, COMMENT_DATA> {
{CODE_FENCE} {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.codeFence;
return JavaDocSyntaxTokenType.DOC_CODE_FENCE;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
// According to the JFlex user guide, lookahead should be avoided.
(\\\[) { yybegin(COMMENT_DATA); return myTokenTypes.commentData; }
(\\\]) { yybegin(COMMENT_DATA); return myTokenTypes.commentData; }
(\\\() { yybegin(COMMENT_DATA); return myTokenTypes.commentData; }
(\\\)) { yybegin(COMMENT_DATA); return myTokenTypes.commentData; }
(\\\[) { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
(\\\]) { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
(\\\() { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
(\\\)) { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
[,] {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.comma;
return JavaDocSyntaxTokenType.DOC_COMMA;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
"`" {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.inlineCodeFence;
return JavaDocSyntaxTokenType.DOC_INLINE_CODE_FENCE;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
"#" {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.sharp;
return JavaDocSyntaxTokenType.DOC_SHARP;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
\[ {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.leftBracket;
return JavaDocSyntaxTokenType.DOC_LBRACKET;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
\] {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.rightBracket;
return JavaDocSyntaxTokenType.DOC_RBRACKET;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
\( {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.leftParenthesis;
return JavaDocSyntaxTokenType.DOC_LPAREN;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
\) {
yybegin(COMMENT_DATA);
if(myMarkdownMode) {
return myTokenTypes.rightParenthesis;
return JavaDocSyntaxTokenType.DOC_RPAREN;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
}
<COMMENT_DATA_START, COMMENT_DATA, CODE_TAG> "{" {
if (checkAhead('@')) {
yybegin(INLINE_TAG_NAME);
return myTokenTypes.inlineTagStart;
return JavaDocSyntaxTokenType.DOC_INLINE_TAG_START;
}
else {
yybegin(COMMENT_DATA);
return myTokenTypes.inlineTagStart;
return JavaDocSyntaxTokenType.DOC_INLINE_TAG_START;
}
}
<INLINE_TAG_NAME> "@code" { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName; }
<INLINE_TAG_NAME> "@literal" { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName; }
<INLINE_TAG_NAME> "@snippet" { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagName; }
<INLINE_TAG_NAME> "@"{INLINE_TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName; }
<INLINE_TAG_NAME> "@code" { yybegin(CODE_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; }
<INLINE_TAG_NAME> "@literal" { yybegin(CODE_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; }
<INLINE_TAG_NAME> "@snippet" { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_NAME; }
<INLINE_TAG_NAME> "@"{INLINE_TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; }
<COMMENT_DATA_START, COMMENT_DATA, TAG_DOC_SPACE, DOC_TAG_VALUE, CODE_TAG, CODE_TAG_SPACE, SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES,
SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES, SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON> "}" { yybegin(COMMENT_DATA); return myTokenTypes.inlineTagEnd; }
SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES, SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON> "}" { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_INLINE_TAG_END; }
<COMMENT_DATA_START, COMMENT_DATA, DOC_TAG_VALUE> . { yybegin(COMMENT_DATA); return myTokenTypes.commentData; }
<CODE_TAG, CODE_TAG_SPACE> . { yybegin(CODE_TAG); return myTokenTypes.commentData; }
<COMMENT_DATA_START> "@"{TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName; }
<COMMENT_DATA_START, COMMENT_DATA, DOC_TAG_VALUE> . { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
<CODE_TAG, CODE_TAG_SPACE> . { yybegin(CODE_TAG); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
<COMMENT_DATA_START> "@"{TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; }
<SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES> {
{WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; }
[^\n\"]+ { return myTokenTypes.tagValueToken; }
\" { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagValueQuote; }
{WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; }
[^\n\"]+ { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; }
\" { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE; }
}
<SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES> {
{WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; }
[^\n']+ { return myTokenTypes.tagValueToken; }
' { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagValueQuote; }
{WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; }
[^\n']+ { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; }
' { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE; }
}
<SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON> {
{IDENTIFIER_WITHOUT_SYMBOLS} { return myTokenTypes.tagValueToken; }
= { return myTokenTypes.tagValueToken; }
\" { yybegin(SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES); return myTokenTypes.tagValueQuote; }
' { yybegin(SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES); return myTokenTypes.tagValueQuote; }
: { yybegin(SNIPPET_TAG_BODY_DATA); return myTokenTypes.tagValueColon; }
{IDENTIFIER_WITHOUT_SYMBOLS} { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; }
= { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; }
\" { yybegin(SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE; }
' { yybegin(SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE; }
: { yybegin(SNIPPET_TAG_BODY_DATA); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COLON; }
{LEADING_TOKEN_HTML} {
if (myMarkdownMode) {
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
return myTokenTypes.commentLeadingAsterisks;
return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS;
}
{LEADING_TOKEN_MARKDOWN} {
if (myMarkdownMode) {
return myTokenTypes.commentLeadingAsterisks;
return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS;
}
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
{WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; }
{WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; }
[^\*] { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.commentData; }
[^\/\/\/] { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.commentData; }
[^\*] { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
[^\/\/\/] { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
}
<SNIPPET_TAG_BODY_DATA> {
\} {
if (mySnippetBracesLevel > 0) {
mySnippetBracesLevel--;
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
} else {
yybegin(COMMENT_DATA);
return myTokenTypes.inlineTagEnd;
return JavaDocSyntaxTokenType.DOC_INLINE_TAG_END;
}
}
\{ { mySnippetBracesLevel++; return myTokenTypes.commentData; }
{WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; }
[^{}\n]+ {return myTokenTypes.commentData; }
\{ { mySnippetBracesLevel++; return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
{WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; }
[^{}\n]+ {return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; }
}
<TAG_DOC_SPACE> {WHITE_DOC_SPACE_CHAR}+ {
if (checkAhead('<') || checkAhead('\"')) yybegin(COMMENT_DATA);
else if (checkAhead('\u007b')) yybegin(COMMENT_DATA); // lbrace - there's a error in JLex when typing lbrace directly
else yybegin(DOC_TAG_VALUE);
return myTokenTypes.space;
return JavaDocSyntaxTokenType.DOC_SPACE;
}
<CODE_TAG, CODE_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ { yybegin(CODE_TAG); return myTokenTypes.space; }
<CODE_TAG, CODE_TAG_SPACE> {WHITE_DOC_SPACE_CHAR}+ { yybegin(CODE_TAG); return JavaDocSyntaxTokenType.DOC_SPACE; }
"*"+"/" {
if(myMarkdownMode) {
return myTokenTypes.commentData;
return JavaDocSyntaxTokenType.DOC_COMMENT_DATA;
}
return myTokenTypes.commentEnd;
return JavaDocSyntaxTokenType.DOC_COMMENT_END;
}
[^] { return myTokenTypes.badCharacter; }
[^] { return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER; }