From e3eece6804f2a52461d2172f153bf2e668269e03 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Tue, 25 Mar 2025 15:44:03 +0100 Subject: [PATCH] IDEA-359853 get rid of JavaDocCommentSyntaxTokenTypes GitOrigin-RevId: 33b901485eda8c73c3fe363be3e198979ac61a4c --- .../java/syntax/lexer/_JavaDocLexer.kt | 124 +++++++------ .../element/JavaDocCommentSyntaxTokenTypes.kt | 59 ------- .../syntax/element/JavaDocSyntaxTokenTypes.kt | 31 +--- .../java/syntax/lexer/JavaDocLexer.kt | 20 +-- .../java/syntax/lexer/_JavaDocLexer.flex | 164 +++++++++--------- 5 files changed, 153 insertions(+), 245 deletions(-) delete mode 100644 java/java-syntax/src/com/intellij/java/syntax/element/JavaDocCommentSyntaxTokenTypes.kt diff --git a/java/java-syntax/gen/com/intellij/java/syntax/lexer/_JavaDocLexer.kt b/java/java-syntax/gen/com/intellij/java/syntax/lexer/_JavaDocLexer.kt index fcbbff5a4927..ec155e2e1e86 100644 --- a/java/java-syntax/gen/com/intellij/java/syntax/lexer/_JavaDocLexer.kt +++ b/java/java-syntax/gen/com/intellij/java/syntax/lexer/_JavaDocLexer.kt @@ -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; diff --git a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocCommentSyntaxTokenTypes.kt b/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocCommentSyntaxTokenTypes.kt deleted file mode 100644 index e59ea2401e21..000000000000 --- a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocCommentSyntaxTokenTypes.kt +++ /dev/null @@ -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 -} diff --git a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenTypes.kt b/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenTypes.kt index 6cfb973bce0f..ec6aada52459 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenTypes.kt +++ b/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenTypes.kt @@ -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) } diff --git a/java/java-syntax/src/com/intellij/java/syntax/lexer/JavaDocLexer.kt b/java/java-syntax/src/com/intellij/java/syntax/lexer/JavaDocLexer.kt index 9659fd29fff3..6c7c365ac197 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/lexer/JavaDocLexer.kt +++ b/java/java-syntax/src/com/intellij/java/syntax/lexer/JavaDocLexer.kt @@ -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 } diff --git a/java/java-syntax/src/com/intellij/java/syntax/lexer/_JavaDocLexer.flex b/java/java-syntax/src/com/intellij/java/syntax/lexer/_JavaDocLexer.flex index 2af5fb08d118..493ed20549df 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/lexer/_JavaDocLexer.flex +++ b/java/java-syntax/src/com/intellij/java/syntax/lexer/_JavaDocLexer.flex @@ -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="///" {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; } {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; } - {WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; } - {WHITE_DOC_SPACE_NO_LR}+ { return myTokenTypes.commentData; } - [\n\r]+{WHITE_DOC_SPACE_CHAR}* { return myTokenTypes.space; } + {WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; } + {WHITE_DOC_SPACE_NO_LR}+ { return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } + [\n\r]+{WHITE_DOC_SPACE_CHAR}* { return JavaDocSyntaxTokenType.DOC_SPACE; } - {WHITE_DOC_SPACE_CHAR}+ { yybegin(COMMENT_DATA); return myTokenTypes.space; } - ({ALPHA}|[_0-9\."$"\[\]])+ { return myTokenTypes.tagValueToken; } - [\(] { yybegin(DOC_TAG_VALUE_IN_PAREN); return myTokenTypes.tagValueLParen; } - [\)] { yybegin(DOC_TAG_VALUE); return myTokenTypes.tagValueRParen; } - [#] { return myTokenTypes.tagValueSharp; } - [,] { return myTokenTypes.tagValueComma; } - {WHITE_DOC_SPACE_CHAR}+ { return myTokenTypes.space; } + {WHITE_DOC_SPACE_CHAR}+ { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_SPACE; } + ({ALPHA}|[_0-9\."$"\[\]])+ { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; } + [\(] { yybegin(DOC_TAG_VALUE_IN_PAREN); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN; } + [\)] { yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN; } + [#] { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN; } + [,] { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA; } + {WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; } - "@param" { yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName; } - {WHITE_DOC_SPACE_CHAR}+ {yybegin(DOC_TAG_VALUE); return myTokenTypes.space; } + "@param" { yybegin(PARAM_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } + {WHITE_DOC_SPACE_CHAR}+ {yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_SPACE; } [\<] { 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; } } - {IDENTIFIER} { return myTokenTypes.tagValueToken; } - {IDENTIFIER} { return myTokenTypes.tagValueToken; } - [\>] { yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT; } + {IDENTIFIER} { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; } + {IDENTIFIER} { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; } + [\>] { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_GT; } { {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; } } "{" { 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; } } - "@code" { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName; } - "@literal" { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName; } - "@snippet" { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return myTokenTypes.tagName; } - "@"{INLINE_TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName; } + "@code" { yybegin(CODE_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } + "@literal" { yybegin(CODE_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } + "@snippet" { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } + "@"{INLINE_TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } "}" { 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; } - . { yybegin(COMMENT_DATA); return myTokenTypes.commentData; } - . { yybegin(CODE_TAG); return myTokenTypes.commentData; } - "@"{TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName; } + . { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } + . { yybegin(CODE_TAG); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } + "@"{TAG_IDENTIFIER} { yybegin(TAG_DOC_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } { - {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; } } { - {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; } } { - {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; } } { \} { 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; } } {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; } - {WHITE_DOC_SPACE_CHAR}+ { yybegin(CODE_TAG); return myTokenTypes.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; }