From 01693af6d4b97bb6a477459e819f5e2de771a31c Mon Sep 17 00:00:00 2001 From: Louis Vignier Date: Wed, 3 Sep 2025 09:10:55 +0200 Subject: [PATCH] [javadoc] Parse fragment references - Added a token for `##` - Added a PSI element for fragment references - Added a PSI element for the fragment name #IDEA-376337 GitOrigin-RevId: e91c550106c2e84dd0d84680a7c1cb4e14df19b3 --- .../com/intellij/psi/JavaDocTokenType.java | 7 +- .../impl/source/BasicJavaDocElementType.java | 2 + .../AbstractBasicJavadocParsingTest.java | 10 + .../JavaElementTypeConverterExtension.kt | 4 + .../source/javadoc/PsiDocFragmentName.java | 25 + .../source/javadoc/PsiDocFragmentRef.java | 25 + .../impl/source/tree/JavaDocElementType.java | 2 + .../java/syntax/lexer/_JavaDocLexer.kt | 814 +++++++++--------- .../element/JavaDocSyntaxElementType.kt | 2 + .../syntax/element/JavaDocSyntaxTokenType.kt | 2 + .../syntax/element/JavaDocSyntaxTokenTypes.kt | 4 +- .../java/syntax/lexer/_JavaDocLexer.flex | 21 +- .../java/syntax/parser/JavaDocParser.kt | 50 +- .../parser-full/javadocParsing/LinkTag10.java | 6 + .../parser-full/javadocParsing/LinkTag10.txt | 56 ++ .../javadocParsing/LinkTag10Markdown.java | 4 + .../javadocParsing/LinkTag10Markdown.txt | 52 ++ .../javadocParsing/LinkTag10Markdown_node.txt | 52 ++ .../javadocParsing/LinkTag10_node.txt | 56 ++ .../parser-full/javadocParsing/LinkTag9.java | 6 + .../parser-full/javadocParsing/LinkTag9.txt | 75 ++ .../javadocParsing/LinkTag9Markdown.java | 4 + .../javadocParsing/LinkTag9Markdown.txt | 71 ++ .../javadocParsing/LinkTag9Markdown_node.txt | 71 ++ .../javadocParsing/LinkTag9_node.txt | 75 ++ .../parser-full/javadocParsing/SeeTag19.java | 4 + .../parser-full/javadocParsing/SeeTag19.txt | 39 + .../javadocParsing/SeeTag19Markdown.java | 2 + .../javadocParsing/SeeTag19Markdown.txt | 35 + .../javadocParsing/SeeTag19Markdown_node.txt | 35 + .../javadocParsing/SeeTag19_node.txt | 39 + .../parser-full/javadocParsing/SeeTag20.java | 4 + .../parser-full/javadocParsing/SeeTag20.txt | 53 ++ .../javadocParsing/SeeTag20Markdown.java | 4 + .../javadocParsing/SeeTag20Markdown.txt | 53 ++ .../javadocParsing/SeeTag20Markdown_node.txt | 53 ++ .../javadocParsing/SeeTag20_node.txt | 53 ++ .../parser-full/javadocParsing/SeeTag21.java | 4 + .../parser-full/javadocParsing/SeeTag21.txt | 34 + .../javadocParsing/SeeTag21Markdown.java | 2 + .../javadocParsing/SeeTag21Markdown.txt | 30 + .../javadocParsing/SeeTag21Markdown_node.txt | 30 + .../javadocParsing/SeeTag21_node.txt | 34 + .../parser-full/javadocParsing/Symbols01.java | 2 +- .../parser-full/javadocParsing/Symbols01.txt | 2 +- .../javadocParsing/Symbols01Markdown.java | 2 +- .../javadocParsing/Symbols01Markdown.txt | 2 +- .../parser-full/javadocParsing/Symbols02.java | 2 +- .../parser-full/javadocParsing/Symbols02.txt | 2 +- .../javadocParsing/Symbols02Markdown.java | 2 +- .../javadocParsing/Symbols02Markdown.txt | 2 +- .../parser-full/javadocParsing/Symbols03.java | 2 +- .../parser-full/javadocParsing/Symbols03.txt | 2 +- .../javadocParsing/Symbols03Markdown.java | 2 +- .../javadocParsing/Symbols03Markdown.txt | 2 +- .../parser-full/javadocParsing/Symbols04.java | 2 +- .../parser-full/javadocParsing/Symbols04.txt | 2 +- .../javadocParsing/Symbols04Markdown.java | 2 +- .../javadocParsing/Symbols04Markdown.txt | 2 +- .../parser-full/javadocParsing/Symbols05.java | 2 +- .../parser-full/javadocParsing/Symbols05.txt | 2 +- .../javadocParsing/Symbols05Markdown.java | 2 +- .../javadocParsing/Symbols05Markdown.txt | 2 +- 63 files changed, 1616 insertions(+), 428 deletions(-) create mode 100644 java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentName.java create mode 100644 java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentRef.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.java create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown_node.txt create mode 100644 java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21_node.txt diff --git a/java/java-frontback-psi-api/src/com/intellij/psi/JavaDocTokenType.java b/java/java-frontback-psi-api/src/com/intellij/psi/JavaDocTokenType.java index 882ccffdd645..7d184c3c2774 100644 --- a/java/java-frontback-psi-api/src/com/intellij/psi/JavaDocTokenType.java +++ b/java/java-frontback-psi-api/src/com/intellij/psi/JavaDocTokenType.java @@ -28,6 +28,7 @@ public interface JavaDocTokenType { IElementType DOC_TAG_VALUE_LT = new IJavaDocElementType("DOC_TAG_VALUE_LT"); IElementType DOC_TAG_VALUE_GT = new IJavaDocElementType("DOC_TAG_VALUE_GT"); IElementType DOC_TAG_VALUE_SHARP_TOKEN = new IJavaDocElementType("DOC_TAG_VALUE_SHARP_TOKEN"); + IElementType DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN = new IJavaDocElementType("DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN"); IElementType DOC_TAG_VALUE_SLASH = new IJavaDocElementType("DOC_TAG_VALUE_SLASH"); // Additional tokens for java 23 markdown @@ -37,6 +38,7 @@ public interface JavaDocTokenType { IElementType DOC_LPAREN = new IJavaDocElementType("DOC_LPAREN"); IElementType DOC_RPAREN = new IJavaDocElementType("DOC_RPAREN"); IElementType DOC_SHARP = new IJavaDocElementType("DOC_SHARP"); + IElementType DOC_DOUBLE_SHARP = new IJavaDocElementType("DOC_DOUBLE_SHARP"); IElementType DOC_INLINE_CODE_FENCE = new IJavaDocElementType("DOC_INLINE_CODE_FENCE"); IElementType DOC_COMMA = new IJavaDocElementType("DOC_COMMA"); @@ -45,8 +47,9 @@ public interface JavaDocTokenType { TokenSet ALL_JAVADOC_TOKENS = TokenSet.create( DOC_COMMENT_START, DOC_COMMENT_END, DOC_COMMENT_DATA, DOC_SPACE, DOC_COMMENT_LEADING_ASTERISKS, DOC_TAG_NAME, DOC_INLINE_TAG_START, DOC_INLINE_TAG_END, DOC_TAG_VALUE_TOKEN, DOC_TAG_VALUE_DOT, DOC_TAG_VALUE_COMMA, - DOC_TAG_VALUE_LPAREN, DOC_TAG_VALUE_RPAREN, DOC_TAG_VALUE_SHARP_TOKEN, DOC_TAG_VALUE_SLASH, DOC_TAG_VALUE_QUOTE, DOC_TAG_VALUE_COLON, + DOC_TAG_VALUE_LPAREN, DOC_TAG_VALUE_RPAREN, DOC_TAG_VALUE_SHARP_TOKEN, DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN, + DOC_TAG_VALUE_SLASH, DOC_TAG_VALUE_QUOTE, DOC_TAG_VALUE_COLON, DOC_TAG_ATTRIBUTE_NAME, DOC_TAG_ATTRIBUTE_VALUE, DOC_CODE_FENCE, DOC_RBRACKET, DOC_LBRACKET, DOC_LPAREN, DOC_RPAREN, - DOC_SHARP, DOC_INLINE_CODE_FENCE, DOC_COMMA + DOC_SHARP, DOC_DOUBLE_SHARP, DOC_INLINE_CODE_FENCE, DOC_COMMA ); } \ No newline at end of file diff --git a/java/java-frontback-psi-impl/src/com/intellij/psi/impl/source/BasicJavaDocElementType.java b/java/java-frontback-psi-impl/src/com/intellij/psi/impl/source/BasicJavaDocElementType.java index 53a7756cb3ce..da367772dc10 100644 --- a/java/java-frontback-psi-impl/src/com/intellij/psi/impl/source/BasicJavaDocElementType.java +++ b/java/java-frontback-psi-impl/src/com/intellij/psi/impl/source/BasicJavaDocElementType.java @@ -34,6 +34,8 @@ public interface BasicJavaDocElementType { IElementType BASIC_DOC_TAG = new IJavaDocElementType("DOC_TAG"); IElementType BASIC_DOC_INLINE_TAG = new IJavaDocElementType("DOC_INLINE_TAG"); IElementType BASIC_DOC_METHOD_OR_FIELD_REF = new IJavaDocElementType("DOC_METHOD_OR_FIELD_REF"); + IElementType BASIC_DOC_FRAGMENT_REF = new IJavaDocElementType("DOC_FRAGMENT_REF"); + IElementType BASIC_DOC_FRAGMENT_NAME = new IJavaDocElementType("DOC_FRAGMENT_NAME"); IElementType BASIC_DOC_PARAMETER_REF = new IJavaDocElementType("DOC_PARAMETER_REF"); IElementType BASIC_DOC_TAG_VALUE_ELEMENT = new IJavaDocElementType("DOC_TAG_VALUE_ELEMENT"); IElementType BASIC_DOC_SNIPPET_TAG = new IJavaDocElementType("DOC_SNIPPET_TAG"); diff --git a/java/java-frontback-tests/testSrc/com/intellij/java/parser/AbstractBasicJavadocParsingTest.java b/java/java-frontback-tests/testSrc/com/intellij/java/parser/AbstractBasicJavadocParsingTest.java index ab9ae461c8d8..ebf4422189b8 100644 --- a/java/java-frontback-tests/testSrc/com/intellij/java/parser/AbstractBasicJavadocParsingTest.java +++ b/java/java-frontback-tests/testSrc/com/intellij/java/parser/AbstractBasicJavadocParsingTest.java @@ -46,6 +46,9 @@ public abstract class AbstractBasicJavadocParsingTest extends AbstractBasicJavaP public void testSeeTag16() { doTest(true); } public void testSeeTag17() { doTest(true); } public void testSeeTag18() { doTest(true); } + public void testSeeTag19() { doTest(true); } + public void testSeeTag20() { doTest(true); } + public void testSeeTag21() { doTest(true); } public void testLinkTag0() { doTest(true); } public void testLinkTag1() { doTest(true); } @@ -56,6 +59,8 @@ public abstract class AbstractBasicJavadocParsingTest extends AbstractBasicJavaP public void testLinkTag6() { doTest(true); } public void testLinkTag7() { doTest(true); } public void testLinkTag8() { doTest(true); } + public void testLinkTag9() { doTest(true); } + public void testLinkTag10() { doTest(true); } public void testParamTag0() { doTest(true); } public void testParamTag1() { doTest(true); } @@ -139,6 +144,8 @@ public abstract class AbstractBasicJavadocParsingTest extends AbstractBasicJavaP public void testLinkTag4Markdown() { doTest(true); } public void testLinkTag5Markdown() { doTest(true); } public void testLinkTag6Markdown() { doTest(true); } + public void testLinkTag9Markdown() { doTest(true); } + public void testLinkTag10Markdown() { doTest(true); } public void testLiteralTagMarkdown() { doTest(true); } public void testMultilineCodeTagMarkdown() { doTest(true); } @@ -164,6 +171,9 @@ public abstract class AbstractBasicJavadocParsingTest extends AbstractBasicJavaP public void testSeeTag14Markdown() { doTest(true); } public void testSeeTag15Markdown() { doTest(true); } public void testSeeTag16Markdown() { doTest(true); } + public void testSeeTag19Markdown() { doTest(true); } + public void testSeeTag20Markdown() { doTest(true); } + public void testSeeTag21Markdown() { doTest(true); } public void testSeparated01Markdown() { doTest(true); } diff --git a/java/java-psi-impl/src/com/intellij/lang/java/syntax/JavaElementTypeConverterExtension.kt b/java/java-psi-impl/src/com/intellij/lang/java/syntax/JavaElementTypeConverterExtension.kt index 8d227e471803..62e16ade7fe5 100644 --- a/java/java-psi-impl/src/com/intellij/lang/java/syntax/JavaElementTypeConverterExtension.kt +++ b/java/java-psi-impl/src/com/intellij/lang/java/syntax/JavaElementTypeConverterExtension.kt @@ -274,6 +274,8 @@ class JavaElementTypeConverterExtension : ElementTypeConverterFactory { JavaDocSyntaxElementType.DOC_TAG to JavaDocElementType.DOC_TAG, JavaDocSyntaxElementType.DOC_INLINE_TAG to JavaDocElementType.DOC_INLINE_TAG, JavaDocSyntaxElementType.DOC_METHOD_OR_FIELD_REF to JavaDocElementType.DOC_METHOD_OR_FIELD_REF, + JavaDocSyntaxElementType.DOC_FRAGMENT_REF to JavaDocElementType.DOC_FRAGMENT_REF, + JavaDocSyntaxElementType.DOC_FRAGMENT_NAME to JavaDocElementType.DOC_FRAGMENT_NAME, JavaDocSyntaxElementType.DOC_PARAMETER_REF to JavaDocElementType.DOC_PARAMETER_REF, JavaDocSyntaxElementType.DOC_TAG_VALUE_ELEMENT to JavaDocElementType.DOC_TAG_VALUE_ELEMENT, JavaDocSyntaxElementType.DOC_SNIPPET_TAG to JavaDocElementType.DOC_SNIPPET_TAG, @@ -310,12 +312,14 @@ class JavaElementTypeConverterExtension : ElementTypeConverterFactory { JavaDocSyntaxTokenType.DOC_TAG_VALUE_GT to JavaDocTokenType.DOC_TAG_VALUE_GT, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SLASH to JavaDocTokenType.DOC_TAG_VALUE_SLASH, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN to JavaDocTokenType.DOC_TAG_VALUE_SHARP_TOKEN, + JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN to JavaDocTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN, JavaDocSyntaxTokenType.DOC_CODE_FENCE to JavaDocTokenType.DOC_CODE_FENCE, JavaDocSyntaxTokenType.DOC_RBRACKET to JavaDocTokenType.DOC_RBRACKET, JavaDocSyntaxTokenType.DOC_LBRACKET to JavaDocTokenType.DOC_LBRACKET, JavaDocSyntaxTokenType.DOC_LPAREN to JavaDocTokenType.DOC_LPAREN, JavaDocSyntaxTokenType.DOC_RPAREN to JavaDocTokenType.DOC_RPAREN, JavaDocSyntaxTokenType.DOC_SHARP to JavaDocTokenType.DOC_SHARP, + JavaDocSyntaxTokenType.DOC_DOUBLE_SHARP to JavaDocTokenType.DOC_DOUBLE_SHARP, JavaDocSyntaxTokenType.DOC_INLINE_CODE_FENCE to JavaDocTokenType.DOC_INLINE_CODE_FENCE, JavaDocSyntaxTokenType.DOC_COMMA to JavaDocTokenType.DOC_COMMA, JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER to JavaDocTokenType.DOC_COMMENT_BAD_CHARACTER, diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentName.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentName.java new file mode 100644 index 000000000000..3483337a574c --- /dev/null +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentName.java @@ -0,0 +1,25 @@ +// 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.psi.impl.source.javadoc; + +import com.intellij.psi.JavaElementVisitor; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.impl.source.Constants; +import com.intellij.psi.impl.source.tree.CompositePsiElement; +import com.intellij.psi.javadoc.PsiDocTagValue; +import org.jetbrains.annotations.NotNull; + +public class PsiDocFragmentName extends CompositePsiElement implements PsiDocTagValue, Constants { + public PsiDocFragmentName() { + super(DOC_FRAGMENT_NAME); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof JavaElementVisitor) { + ((JavaElementVisitor)visitor).visitDocTagValue(this); + } + else { + visitor.visitElement(this); + } + } +} diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentRef.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentRef.java new file mode 100644 index 000000000000..b178823f5a13 --- /dev/null +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocFragmentRef.java @@ -0,0 +1,25 @@ +// 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.psi.impl.source.javadoc; + +import com.intellij.psi.JavaElementVisitor; +import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.impl.source.Constants; +import com.intellij.psi.impl.source.tree.CompositePsiElement; +import com.intellij.psi.javadoc.PsiDocTagValue; +import org.jetbrains.annotations.NotNull; + +public class PsiDocFragmentRef extends CompositePsiElement implements PsiDocTagValue, Constants { + public PsiDocFragmentRef() { + super(DOC_FRAGMENT_REF); + } + + @Override + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof JavaElementVisitor) { + ((JavaElementVisitor)visitor).visitDocTagValue(this); + } + else { + visitor.visitElement(this); + } + } +} diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaDocElementType.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaDocElementType.java index 31fa8cb9a7b0..c725a75365b1 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaDocElementType.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/JavaDocElementType.java @@ -44,6 +44,8 @@ public interface JavaDocElementType { IElementType DOC_TAG = new JavaDocCompositeElementType("DOC_TAG", () -> new PsiDocTagImpl(), BasicJavaDocElementType.BASIC_DOC_TAG); IElementType DOC_INLINE_TAG = new JavaDocCompositeElementType("DOC_INLINE_TAG", () -> new PsiInlineDocTagImpl(), BasicJavaDocElementType.BASIC_DOC_INLINE_TAG); IElementType DOC_METHOD_OR_FIELD_REF = new JavaDocCompositeElementType("DOC_METHOD_OR_FIELD_REF", () -> new PsiDocMethodOrFieldRef(), BasicJavaDocElementType.BASIC_DOC_METHOD_OR_FIELD_REF); + IElementType DOC_FRAGMENT_REF = new JavaDocCompositeElementType("DOC_FRAGMENT_REF", () -> new PsiDocFragmentRef(), BasicJavaDocElementType.BASIC_DOC_FRAGMENT_REF); + IElementType DOC_FRAGMENT_NAME = new JavaDocCompositeElementType("DOC_FRAGMENT_NAME", () -> new PsiDocFragmentName(), BasicJavaDocElementType.BASIC_DOC_FRAGMENT_NAME); IElementType DOC_PARAMETER_REF = new JavaDocCompositeElementType("DOC_PARAMETER_REF", () -> new PsiDocParamRef(), BasicJavaDocElementType.BASIC_DOC_PARAMETER_REF); IElementType DOC_TAG_VALUE_ELEMENT = new JavaDocParentProviderElementType("DOC_TAG_VALUE_ELEMENT", BasicJavaDocElementType.BASIC_DOC_TAG_VALUE_ELEMENT); IElementType DOC_SNIPPET_TAG = new JavaDocCompositeElementType("DOC_SNIPPET_TAG", () -> new PsiSnippetDocTagImpl(), BasicJavaDocElementType.BASIC_DOC_SNIPPET_TAG); 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 420fa4c5c979..d1413c552049 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,3 +1,5 @@ +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. + // Generated by JFlex 1.10.15 http://jflex.de/ (tweaked for IntelliJ platform) // source: _JavaDocLexer.flex @@ -57,21 +59,22 @@ companion object { "\u0001\u1000\u0001\u0100\u0001\u1100\u0001\u1200\u0001\u1300\u0001\u0100\u0001\u1400\u0001\u1500"+ "\u0001\u1600\u0001\u1700\u0001\u1800\u0001\u1900\u0001\u1a00\u0001\u1b00\u0001\u0100\u0001\u1c00"+ "\u0001\u1d00\u0001\u1e00\u000a\u1f00\u0001\u2000\u0001\u2100\u0001\u2200\u0001\u1f00\u0001\u2300"+ - "\u0001\u2400\u0002\u1f00\u0019\u0100\u0001\u1b00\u0051\u0100\u0001\u2500\u0004\u0100\u0001\u2600"+ - "\u0001\u0100\u0001\u2700\u0001\u2800\u0001\u2900\u0001\u2a00\u0001\u2b00\u0001\u2c00\u002b\u0100"+ - "\u0001\u2d00\u0008\u2e00\u0019\u1f00\u0001\u0100\u0001\u2f00\u0001\u3000\u0001\u0100\u0001\u3100"+ - "\u0001\u3200\u0001\u3300\u0001\u3400\u0001\u3500\u0001\u3600\u0001\u3700\u0001\u3800\u0001\u3900"+ - "\u0001\u0100\u0001\u3a00\u0001\u3b00\u0001\u3c00\u0001\u3d00\u0001\u3e00\u0001\u3f00\u0001\u4000"+ - "\u0001\u4100\u0001\u4200\u0001\u4300\u0001\u4400\u0001\u4500\u0001\u4600\u0001\u4700\u0001\u4800"+ - "\u0001\u4900\u0001\u4a00\u0001\u4b00\u0001\u4c00\u0001\u4d00\u0001\u1f00\u0001\u4e00\u0001\u4f00"+ - "\u0001\u5000\u0001\u5100\u0003\u0100\u0001\u5200\u0001\u5300\u0001\u5400\u000a\u1f00\u0004\u0100"+ - "\u0001\u5500\u000f\u1f00\u0002\u0100\u0001\u5600\u0021\u1f00\u0002\u0100\u0001\u5700\u0001\u5800"+ - "\u0002\u1f00\u0001\u5900\u0001\u5a00\u0017\u0100\u0001\u5b00\u0004\u0100\u0001\u5c00\u0001\u5d00"+ - "\u0022\u1f00\u0001\u0100\u0001\u5e00\u0001\u5f00\u0009\u1f00\u0001\u6000\u0017\u1f00\u0001\u6100"+ - "\u0001\u6200\u0001\u6300\u0001\u6400\u0009\u1f00\u0001\u6500\u0001\u6600\u0005\u1f00\u0001\u6700"+ - "\u0001\u6800\u0002\u1f00\u0001\u6900\u0001\u1f00\u0001\u6a00\u0011\u1f00\u00a6\u0100\u0001\u6b00"+ - "\u0010\u0100\u0001\u6c00\u0001\u6d00\u0015\u0100\u0001\u6e00\u001c\u0100\u0001\u6f00\u000c\u1f00"+ - "\u0002\u0100\u0001\u7000\u0005\u1f00\u0013\u0100\u0001\u7100\u0dec\u1f00" + "\u0001\u2400\u0002\u1f00\u0019\u0100\u0001\u1b00\u0056\u0100\u0001\u2500\u0001\u0100\u0001\u2600"+ + "\u0001\u2700\u0001\u2800\u0001\u2900\u0001\u2a00\u0001\u2b00\u002b\u0100\u0001\u2c00\u0008\u2d00"+ + "\u0019\u1f00\u0001\u0100\u0001\u2e00\u0001\u2f00\u0001\u0100\u0001\u3000\u0001\u3100\u0001\u3200"+ + "\u0001\u3300\u0001\u3400\u0001\u3500\u0001\u3600\u0001\u3700\u0001\u3800\u0001\u0100\u0001\u3900"+ + "\u0001\u3a00\u0001\u3b00\u0001\u3c00\u0001\u3d00\u0001\u3e00\u0001\u3f00\u0001\u4000\u0001\u4100"+ + "\u0001\u4200\u0001\u4300\u0001\u4400\u0001\u4500\u0001\u4600\u0001\u4700\u0001\u4800\u0001\u4900"+ + "\u0001\u4a00\u0001\u4b00\u0001\u4c00\u0001\u1f00\u0001\u4d00\u0001\u4e00\u0001\u4f00\u0001\u5000"+ + "\u0003\u0100\u0001\u5100\u0001\u5200\u0001\u5300\u0009\u1f00\u0001\u5400\u0004\u0100\u0001\u5500"+ + "\u000f\u1f00\u0002\u0100\u0001\u5600\u0021\u1f00\u0002\u0100\u0001\u5700\u0001\u5800\u0002\u1f00"+ + "\u0001\u5900\u0001\u5a00\u0017\u0100\u0001\u5b00\u0004\u0100\u0001\u5c00\u0001\u5d00\u0021\u1f00"+ + "\u0001\u5e00\u0001\u0100\u0001\u5f00\u0001\u6000\u0009\u1f00\u0001\u6100\u0017\u1f00\u0001\u6200"+ + "\u0001\u6300\u0001\u6400\u0001\u6500\u0007\u1f00\u0001\u6600\u0001\u6700\u0001\u6800\u0001\u6900"+ + "\u0001\u1f00\u0001\u6a00\u0002\u1f00\u0001\u6b00\u0001\u6c00\u0001\u6d00\u0002\u1f00\u0001\u6e00"+ + "\u0001\u1f00\u0001\u6f00\u0011\u1f00\u00a6\u0100\u0001\u7000\u0010\u0100\u0001\u7100\u0001\u7200"+ + "\u0015\u0100\u0001\u7300\u001c\u0100\u0001\u7400\u000c\u1f00\u0002\u0100\u0001\u7500\u0005\u1f00"+ + "\u0013\u0100\u0001\u7600\u000f\u0100\u0001\u7700\u0ddc\u1f00" @JvmStatic private fun zzUnpackcmap_top(): IntArray { @@ -106,177 +109,187 @@ companion object { private const val ZZ_CMAP_BLOCKS_PACKED_0: String = "\u0009\u0000\u0001\u0001\u0001\u0002\u0001\u0003\u0001\u0004\u0001\u0005\u0012\u0000\u0001\u0001"+ "\u0001\u0000\u0001\u0006\u0001\u0007\u0001\u0008\u0002\u0000\u0001\u0009\u0001\u000a\u0001\u000b"+ - "\u0001\u000c\u0001\u0000\u0001\u000d\u0001\u000e\u0001\u000f\u0001\u0010\u000a\u0011\u0001\u0012"+ - "\u0001\u0000\u0001\u0013\u0001\u0014\u0001\u0015\u0001\u0000\u0001\u0016\u000d\u0008\u0001\u0017"+ - "\u0003\u0008\u0001\u0018\u0008\u0008\u0001\u0019\u0001\u001a\u0001\u001b\u0001\u0000\u0001\u0008"+ - "\u0001\u001c\u0001\u001d\u0001\u0008\u0001\u001e\u0001\u001f\u0001\u0020\u0002\u0008\u0001\u0021"+ - "\u0001\u0022\u0002\u0008\u0001\u0023\u0001\u0024\u0001\u0025\u0001\u0026\u0001\u0027\u0001\u0008"+ - "\u0001\u0028\u0001\u0029\u0001\u002a\u0001\u002b\u0002\u0008\u0001\u002c\u0001\u002d\u0001\u0008"+ - "\u0001\u002e\u0001\u0000\u0001\u002f\u0001\u0030\u0006\u0000\u0001\u0003\u001c\u0000\u0004\u0008"+ - "\u0004\u0000\u0001\u0008\u000a\u0000\u0001\u0008\u0004\u0000\u0001\u0008\u0005\u0000\u0017\u0008"+ - "\u0001\u0000\u001f\u0008\u0001\u0000\u01ca\u0008\u0004\u0000\u000c\u0008\u000e\u0000\u0005\u0008"+ - "\u0007\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0081\u0000\u0005\u0008\u0001\u0000\u0002\u0008"+ - "\u0002\u0000\u0004\u0008\u0001\u0000\u0001\u0008\u0006\u0000\u0001\u0008\u0001\u0000\u0003\u0008"+ - "\u0001\u0000\u0001\u0008\u0001\u0000\u0014\u0008\u0001\u0000\u0053\u0008\u0001\u0000\u008b\u0008"+ - "\u0008\u0000\u00a6\u0008\u0001\u0000\u0026\u0008\u0002\u0000\u0001\u0008\u0006\u0000\u0029\u0008"+ - "\u0006\u0000\u0001\u0008\u0040\u0000\u001b\u0008\u0004\u0000\u0004\u0008\u0018\u0000\u0001\u0008"+ - "\u0014\u0000\u002b\u0008\u0023\u0000\u0002\u0008\u0001\u0000\u0063\u0008\u0001\u0000\u0001\u0008"+ - "\u000f\u0000\u0002\u0008\u0007\u0000\u0002\u0008\u000a\u0000\u0003\u0008\u0002\u0000\u0001\u0008"+ - "\u0010\u0000\u0001\u0008\u0001\u0000\u001e\u0008\u001d\u0000\u0059\u0008\u000b\u0000\u0001\u0008"+ - "\u0018\u0000\u0021\u0008\u0009\u0000\u0002\u0008\u0004\u0000\u0001\u0008\u0003\u0000\u0018\u0008"+ - "\u0004\u0000\u0001\u0008\u0009\u0000\u0001\u0008\u0003\u0000\u0001\u0008\u0017\u0000\u0019\u0008"+ - "\u0007\u0000\u000b\u0008\u0035\u0000\u0015\u0008\u0001\u0000\u0012\u0008\u003c\u0000\u0036\u0008"+ - "\u0003\u0000\u0001\u0008\u0012\u0000\u0001\u0008\u0007\u0000\u000a\u0008\u000f\u0000\u0010\u0008"+ - "\u0004\u0000\u0008\u0008\u0002\u0000\u0002\u0008\u0002\u0000\u0016\u0008\u0001\u0000\u0007\u0008"+ - "\u0001\u0000\u0001\u0008\u0003\u0000\u0004\u0008\u0003\u0000\u0001\u0008\u0010\u0000\u0001\u0008"+ - "\u000d\u0000\u0002\u0008\u0001\u0000\u0003\u0008\u000e\u0000\u0004\u0008\u0007\u0000\u0002\u0008"+ - "\u0008\u0000\u0006\u0008\u0004\u0000\u0002\u0008\u0002\u0000\u0016\u0008\u0001\u0000\u0007\u0008"+ - "\u0001\u0000\u0002\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0002\u0008\u001f\u0000\u0004\u0008"+ - "\u0001\u0000\u0001\u0008\u0013\u0000\u0003\u0008\u0010\u0000\u0009\u0008\u0001\u0000\u0003\u0008"+ - "\u0001\u0000\u0016\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0005\u0008"+ - "\u0003\u0000\u0001\u0008\u0012\u0000\u0001\u0008\u000f\u0000\u0002\u0008\u000f\u0000\u0001\u0008"+ - "\u0007\u0000\u0001\u0008\u000b\u0000\u0008\u0008\u0002\u0000\u0002\u0008\u0002\u0000\u0016\u0008"+ - "\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0005\u0008\u0003\u0000\u0001\u0008"+ - "\u001e\u0000\u0002\u0008\u0001\u0000\u0003\u0008\u000f\u0000\u0001\u0008\u0011\u0000\u0001\u0008"+ - "\u0001\u0000\u0006\u0008\u0003\u0000\u0003\u0008\u0001\u0000\u0004\u0008\u0003\u0000\u0002\u0008"+ - "\u0001\u0000\u0001\u0008\u0001\u0000\u0002\u0008\u0003\u0000\u0002\u0008\u0003\u0000\u0003\u0008"+ - "\u0003\u0000\u000c\u0008\u0016\u0000\u0001\u0008\u0028\u0000\u0001\u0008\u000b\u0000\u0008\u0008"+ - "\u0001\u0000\u0003\u0008\u0001\u0000\u0017\u0008\u0001\u0000\u0010\u0008\u0003\u0000\u0001\u0008"+ - "\u001a\u0000\u0003\u0008\u0005\u0000\u0002\u0008\u001e\u0000\u0001\u0008\u0004\u0000\u0008\u0008"+ - "\u0001\u0000\u0003\u0008\u0001\u0000\u0017\u0008\u0001\u0000\u000a\u0008\u0001\u0000\u0005\u0008"+ - "\u0003\u0000\u0001\u0008\u0020\u0000\u0001\u0008\u0001\u0000\u0002\u0008\u000f\u0000\u0002\u0008"+ - "\u0011\u0000\u0009\u0008\u0001\u0000\u0003\u0008\u0001\u0000\u0029\u0008\u0002\u0000\u0001\u0008"+ - "\u0010\u0000\u0001\u0008\u0005\u0000\u0003\u0008\u0008\u0000\u0003\u0008\u0018\u0000\u0006\u0008"+ - "\u0005\u0000\u0012\u0008\u0003\u0000\u0018\u0008\u0001\u0000\u0009\u0008\u0001\u0000\u0001\u0008"+ - "\u0002\u0000\u0007\u0008\u003a\u0000\u0030\u0008\u0001\u0000\u0002\u0008\u000b\u0000\u0008\u0008"+ - "\u003a\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0005\u0008\u0001\u0000\u0018\u0008"+ - "\u0001\u0000\u0001\u0008\u0001\u0000\u000a\u0008\u0001\u0000\u0002\u0008\u0009\u0000\u0001\u0008"+ - "\u0002\u0000\u0005\u0008\u0001\u0000\u0001\u0008\u0015\u0000\u0004\u0008\u0020\u0000\u0001\u0008"+ - "\u003f\u0000\u0008\u0008\u0001\u0000\u0024\u0008\u001b\u0000\u0005\u0008\u0073\u0000\u002b\u0008"+ - "\u0014\u0000\u0001\u0008\u0010\u0000\u0006\u0008\u0004\u0000\u0004\u0008\u0003\u0000\u0001\u0008"+ - "\u0003\u0000\u0002\u0008\u0007\u0000\u0003\u0008\u0004\u0000\u000d\u0008\u000c\u0000\u0001\u0008"+ - "\u0011\u0000\u0026\u0008\u0001\u0000\u0001\u0008\u0005\u0000\u0001\u0008\u0002\u0000\u002b\u0008"+ - "\u0001\u0000\u004d\u0008\u0001\u0000\u0004\u0008\u0002\u0000\u0007\u0008\u0001\u0000\u0001\u0008"+ - "\u0001\u0000\u0004\u0008\u0002\u0000\u0029\u0008\u0001\u0000\u0004\u0008\u0002\u0000\u0021\u0008"+ - "\u0001\u0000\u0004\u0008\u0002\u0000\u0007\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0004\u0008"+ - "\u0002\u0000\u000f\u0008\u0001\u0000\u0039\u0008\u0001\u0000\u0004\u0008\u0002\u0000\u0043\u0008"+ - "\u0025\u0000\u0010\u0008\u0010\u0000\u0056\u0008\u0002\u0000\u0006\u0008\u0003\u0000\u016c\u0008"+ - "\u0002\u0000\u0011\u0008\u0001\u0000\u001a\u0008\u0005\u0000\u004b\u0008\u0003\u0000\u000b\u0008"+ - "\u0007\u0000\u000d\u0008\u0001\u0000\u0004\u0008\u000e\u0000\u0012\u0008\u000e\u0000\u0012\u0008"+ - "\u000e\u0000\u000d\u0008\u0001\u0000\u0003\u0008\u000f\u0000\u0034\u0008\u0023\u0000\u0001\u0008"+ - "\u0003\u0000\u0002\u0008\u0043\u0000\u0059\u0008\u0007\u0000\u0005\u0008\u0002\u0000\u0022\u0008"+ - "\u0001\u0000\u0001\u0008\u0005\u0000\u0046\u0008\u000a\u0000\u001f\u0008\u0031\u0000\u001e\u0008"+ - "\u0002\u0000\u0005\u0008\u000b\u0000\u002c\u0008\u0004\u0000\u001a\u0008\u0036\u0000\u0017\u0008"+ - "\u0009\u0000\u0035\u0008\u0052\u0000\u0001\u0008\u005d\u0000\u002f\u0008\u0011\u0000\u0007\u0008"+ - "\u0037\u0000\u001e\u0008\u000d\u0000\u0002\u0008\u000a\u0000\u002c\u0008\u001a\u0000\u0024\u0008"+ - "\u0029\u0000\u0003\u0008\u000a\u0000\u0024\u0008\u0002\u0000\u0009\u0008\u0007\u0000\u002b\u0008"+ - "\u0002\u0000\u0003\u0008\u0029\u0000\u0004\u0008\u0001\u0000\u0006\u0008\u0001\u0000\u0002\u0008"+ - "\u0003\u0000\u0001\u0008\u0005\u0000\u00c0\u0008\u0040\u0000\u0016\u0008\u0002\u0000\u0006\u0008"+ - "\u0002\u0000\u0026\u0008\u0002\u0000\u0006\u0008\u0002\u0000\u0008\u0008\u0001\u0000\u0001\u0008"+ - "\u0001\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u001f\u0008\u0002\u0000\u0035\u0008"+ - "\u0001\u0000\u0007\u0008\u0001\u0000\u0001\u0008\u0003\u0000\u0003\u0008\u0001\u0000\u0007\u0008"+ - "\u0003\u0000\u0004\u0008\u0002\u0000\u0006\u0008\u0004\u0000\u000d\u0008\u0005\u0000\u0003\u0008"+ - "\u0001\u0000\u0007\u0008\u002b\u0000\u0002\u0003\u0015\u0000\u0002\u0008\u0013\u0000\u0001\u0008"+ - "\u001c\u0000\u0001\u0008\u000d\u0000\u0001\u0008\u0010\u0000\u000d\u0008\u0003\u0000\u0020\u0008"+ - "\u0042\u0000\u0001\u0008\u0004\u0000\u0001\u0008\u0002\u0000\u000a\u0008\u0001\u0000\u0001\u0008"+ - "\u0003\u0000\u0005\u0008\u0006\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0001\u0008"+ - "\u0001\u0000\u0004\u0008\u0001\u0000\u000b\u0008\u0002\u0000\u0004\u0008\u0005\u0000\u0005\u0008"+ - "\u0004\u0000\u0001\u0008\u0011\u0000\u0029\u0008\u0177\u0000\u002f\u0008\u0001\u0000\u002f\u0008"+ - "\u0001\u0000\u0085\u0008\u0006\u0000\u0004\u0008\u0003\u0000\u0002\u0008\u000c\u0000\u0026\u0008"+ - "\u0001\u0000\u0001\u0008\u0005\u0000\u0001\u0008\u0002\u0000\u0038\u0008\u0007\u0000\u0001\u0008"+ - "\u0010\u0000\u0017\u0008\u0009\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008"+ - "\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008"+ - "\u0001\u0000\u0007\u0008\u0050\u0000\u0001\u0008\u00d5\u0000\u0003\u0008\u0019\u0000\u0009\u0008"+ - "\u0007\u0000\u0005\u0008\u0002\u0000\u0005\u0008\u0004\u0000\u0056\u0008\u0006\u0000\u0003\u0008"+ - "\u0001\u0000\u005a\u0008\u0001\u0000\u0004\u0008\u0005\u0000\u002b\u0008\u0001\u0000\u005e\u0008"+ - "\u0011\u0000\u0020\u0008\u0030\u0000\u010d\u0008\u0003\u0000\u008d\u0008\u0043\u0000\u002e\u0008"+ - "\u0002\u0000\u000d\u0008\u0003\u0000\u0010\u0008\u000a\u0000\u0002\u0008\u0014\u0000\u002f\u0008"+ - "\u0010\u0000\u001f\u0008\u0002\u0000\u0050\u0008\u0027\u0000\u0009\u0008\u0002\u0000\u0067\u0008"+ - "\u0002\u0000\u0035\u0008\u0002\u0000\u0009\u0008\u002a\u0000\u000d\u0008\u0001\u0000\u0003\u0008"+ - "\u0001\u0000\u0004\u0008\u0001\u0000\u0017\u0008\u0015\u0000\u0001\u0008\u0007\u0000\u0034\u0008"+ - "\u000e\u0000\u0032\u0008\u003e\u0000\u0006\u0008\u0003\u0000\u0001\u0008\u0001\u0000\u0002\u0008"+ - "\u000b\u0000\u001c\u0008\u000a\u0000\u0017\u0008\u0019\u0000\u001d\u0008\u0007\u0000\u002f\u0008"+ - "\u001c\u0000\u0001\u0008\u0010\u0000\u0005\u0008\u0001\u0000\u000a\u0008\u000a\u0000\u0005\u0008"+ - "\u0001\u0000\u0029\u0008\u0017\u0000\u0003\u0008\u0001\u0000\u0008\u0008\u0014\u0000\u0017\u0008"+ - "\u0003\u0000\u0001\u0008\u0003\u0000\u0032\u0008\u0001\u0000\u0001\u0008\u0003\u0000\u0002\u0008"+ - "\u0002\u0000\u0005\u0008\u0002\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0018\u0000\u0003\u0008"+ - "\u0002\u0000\u000b\u0008\u0007\u0000\u0003\u0008\u000c\u0000\u0006\u0008\u0002\u0000\u0006\u0008"+ - "\u0002\u0000\u0006\u0008\u0009\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u002b\u0008"+ - "\u0001\u0000\u000e\u0008\u0006\u0000\u0073\u0008\u001d\u0000\u00a4\u0008\u000c\u0000\u0017\u0008"+ - "\u0004\u0000\u0031\u0008\u0004\u0000\u0100\u0003\u006e\u0008\u0002\u0000\u006a\u0008\u0026\u0000"+ - "\u0007\u0008\u000c\u0000\u0005\u0008\u0005\u0000\u0001\u0008\u0001\u0000\u000a\u0008\u0001\u0000"+ - "\u000d\u0008\u0001\u0000\u0005\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0002\u0008\u0001\u0000"+ - "\u0002\u0008\u0001\u0000\u006c\u0008\u0021\u0000\u006b\u0008\u0012\u0000\u0040\u0008\u0002\u0000"+ - "\u0036\u0008\u0028\u0000\u000d\u0008\u0036\u0000\u0002\u0008\u0018\u0000\u0003\u0008\u0019\u0000"+ - "\u0001\u0008\u0006\u0000\u0005\u0008\u0001\u0000\u0087\u0008\u0007\u0000\u0001\u0008\u001c\u0000"+ - "\u001a\u0008\u0004\u0000\u0001\u0008\u0001\u0000\u001a\u0008\u000b\u0000\u0059\u0008\u0003\u0000"+ - "\u0006\u0008\u0002\u0000\u0006\u0008\u0002\u0000\u0006\u0008\u0002\u0000\u0003\u0008\u0003\u0000"+ - "\u0002\u0008\u0003\u0000\u0002\u0008\u0019\u0000\u000c\u0008\u0001\u0000\u001a\u0008\u0001\u0000"+ - "\u0013\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u000f\u0008\u0002\u0000\u000e\u0008\u0022\u0000"+ - "\u007b\u0008\u0045\u0000\u0035\u0008\u010b\u0000\u001d\u0008\u0003\u0000\u0031\u0008\u002f\u0000"+ - "\u0020\u0008\u000d\u0000\u001e\u0008\u0005\u0000\u0026\u0008\u000a\u0000\u001e\u0008\u0002\u0000"+ - "\u0024\u0008\u0004\u0000\u0008\u0008\u0001\u0000\u0005\u0008\u002a\u0000\u009e\u0008\u0012\u0000"+ - "\u0024\u0008\u0004\u0000\u0024\u0008\u0004\u0000\u0028\u0008\u0008\u0000\u0034\u0008\u009c\u0000"+ - "\u0037\u0008\u0009\u0000\u0016\u0008\u000a\u0000\u0008\u0008\u0098\u0000\u0006\u0008\u0002\u0000"+ - "\u0001\u0008\u0001\u0000\u002c\u0008\u0001\u0000\u0002\u0008\u0003\u0000\u0001\u0008\u0002\u0000"+ - "\u0017\u0008\u000a\u0000\u0017\u0008\u0009\u0000\u001f\u0008\u0041\u0000\u0013\u0008\u0001\u0000"+ - "\u0002\u0008\u000a\u0000\u0016\u0008\u000a\u0000\u001a\u0008\u0046\u0000\u0038\u0008\u0006\u0000"+ - "\u0002\u0008\u0040\u0000\u0001\u0008\u000f\u0000\u0004\u0008\u0001\u0000\u0003\u0008\u0001\u0000"+ - "\u001d\u0008\u002a\u0000\u001d\u0008\u0003\u0000\u001d\u0008\u0023\u0000\u0008\u0008\u0001\u0000"+ - "\u001c\u0008\u001b\u0000\u0036\u0008\u000a\u0000\u0016\u0008\u000a\u0000\u0013\u0008\u000d\u0000"+ - "\u0012\u0008\u006e\u0000\u0049\u0008\u0037\u0000\u0033\u0008\u000d\u0000\u0033\u0008\u000d\u0000"+ - "\u0024\u0008\u015c\u0000\u002a\u0008\u0006\u0000\u0002\u0008\u004e\u0000\u001d\u0008\u000a\u0000"+ - "\u0001\u0008\u0008\u0000\u0016\u0008\u006a\u0000\u0015\u0008\u001b\u0000\u0017\u0008\u000c\u0000"+ - "\u0035\u0008\u004b\u0000\u002d\u0008\u0020\u0000\u0019\u0008\u001a\u0000\u0024\u0008\u001d\u0000"+ - "\u0001\u0008\u0002\u0000\u0001\u0008\u0008\u0000\u0023\u0008\u0003\u0000\u0001\u0008\u000c\u0000"+ - "\u0030\u0008\u000e\u0000\u0004\u0008\u0015\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0023\u0000"+ - "\u0012\u0008\u0001\u0000\u0019\u0008\u0054\u0000\u0007\u0008\u0001\u0000\u0001\u0008\u0001\u0000"+ - "\u0004\u0008\u0001\u0000\u000f\u0008\u0001\u0000\u000a\u0008\u0007\u0000\u002f\u0008\u0026\u0000"+ - "\u0008\u0008\u0002\u0000\u0002\u0008\u0002\u0000\u0016\u0008\u0001\u0000\u0007\u0008\u0001\u0000"+ - "\u0002\u0008\u0001\u0000\u0005\u0008\u0003\u0000\u0001\u0008\u0012\u0000\u0001\u0008\u000c\u0000"+ - "\u0005\u0008\u009e\u0000\u0035\u0008\u0012\u0000\u0004\u0008\u0014\u0000\u0003\u0008\u001e\u0000"+ - "\u0030\u0008\u0014\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u00b8\u0000\u002f\u0008\u0029\u0000"+ - "\u0004\u0008\u0024\u0000\u0030\u0008\u0014\u0000\u0001\u0008\u003b\u0000\u002b\u0008\u000d\u0000"+ - "\u0001\u0008\u0047\u0000\u001b\u0008\u00e5\u0000\u002c\u0008\u0074\u0000\u0040\u0008\u001f\u0000"+ - "\u0008\u0008\u0002\u0000\u0001\u0008\u0002\u0000\u0008\u0008\u0001\u0000\u0002\u0008\u0001\u0000"+ - "\u0018\u0008\u000f\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u005e\u0000\u0008\u0008\u0002\u0000"+ - "\u0027\u0008\u0010\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u001c\u0000\u0001\u0008\u000a\u0000"+ - "\u0028\u0008\u0007\u0000\u0001\u0008\u0015\u0000\u0001\u0008\u000b\u0000\u002e\u0008\u0013\u0000"+ - "\u0001\u0008\u0022\u0000\u0039\u0008\u0007\u0000\u0009\u0008\u0001\u0000\u0025\u0008\u0011\u0000"+ - "\u0001\u0008\u0031\u0000\u001e\u0008\u0070\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000"+ - "\u0026\u0008\u0015\u0000\u0001\u0008\u0019\u0000\u0006\u0008\u0001\u0000\u0002\u0008\u0001\u0000"+ - "\u0020\u0008\u000e\u0000\u0001\u0008\u0147\u0000\u0013\u0008\u00bd\u0000\u0001\u0008\u002c\u0000"+ - "\u0004\u0008\u001f\u0000\u009a\u0008\u0066\u0000\u006f\u0008\u0011\u0000\u00c4\u0008\u00bc\u0000"+ - "\u002f\u0008\u00d1\u0000\u0047\u0008\u00b9\u0000\u0039\u0008\u0007\u0000\u001f\u0008\u0071\u0000"+ - "\u001e\u0008\u0012\u0000\u0030\u0008\u0010\u0000\u0004\u0008\u001f\u0000\u0015\u0008\u0005\u0000"+ - "\u0013\u0008\u00b0\u0000\u0040\u0008\u0080\u0000\u004b\u0008\u0005\u0000\u0001\u0008\u0042\u0000"+ - "\u000d\u0008\u0040\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u001c\u0000\u00f8\u0008\u0008\u0000"+ - "\u00d6\u0008\u002a\u0000\u0009\u0008\u00f7\u0000\u001f\u0008\u0031\u0000\u0003\u0008\u0011\u0000"+ - "\u0004\u0008\u0008\u0000\u018c\u0008\u0004\u0000\u006b\u0008\u0005\u0000\u000d\u0008\u0003\u0000"+ - "\u0009\u0008\u0007\u0000\u000a\u0008\u0066\u0000\u0055\u0008\u0001\u0000\u0047\u0008\u0001\u0000"+ - "\u0002\u0008\u0002\u0000\u0001\u0008\u0002\u0000\u0002\u0008\u0002\u0000\u0004\u0008\u0001\u0000"+ - "\u000c\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0041\u0008\u0001\u0000"+ - "\u0004\u0008\u0002\u0000\u0008\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u001c\u0008\u0001\u0000"+ - "\u0004\u0008\u0001\u0000\u0005\u0008\u0001\u0000\u0001\u0008\u0003\u0000\u0007\u0008\u0001\u0000"+ - "\u0154\u0008\u0002\u0000\u0019\u0008\u0001\u0000\u0019\u0008\u0001\u0000\u001f\u0008\u0001\u0000"+ - "\u0019\u0008\u0001\u0000\u001f\u0008\u0001\u0000\u0019\u0008\u0001\u0000\u001f\u0008\u0001\u0000"+ - "\u0019\u0008\u0001\u0000\u001f\u0008\u0001\u0000\u0019\u0008\u0001\u0000\u0008\u0008\u0034\u0000"+ - "\u002d\u0008\u000a\u0000\u0007\u0008\u0010\u0000\u0001\u0008\u0171\u0000\u002c\u0008\u0013\u0000"+ - "\u00c6\u0008\u003b\u0000\u0044\u0008\u0007\u0000\u0001\u0008\u0164\u0000\u0001\u0008\u004f\u0000"+ - "\u0004\u0008\u0001\u0000\u001b\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u0002\u0000"+ - "\u0001\u0008\u0001\u0000\u000a\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0001\u0008\u0001\u0000"+ - "\u0001\u0008\u0006\u0000\u0001\u0008\u0004\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000"+ - "\u0001\u0008\u0001\u0000\u0003\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u0002\u0000"+ - "\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000"+ - "\u0001\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u0002\u0000\u0004\u0008\u0001\u0000"+ - "\u0007\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0001\u0008\u0001\u0000"+ - "\u000a\u0008\u0001\u0000\u0011\u0008\u0005\u0000\u0003\u0008\u0001\u0000\u0005\u0008\u0001\u0000"+ - "\u0011\u0008\u0044\u0000\u00de\u0008\u0022\u0000\u0035\u0008\u000b\u0000\u00de\u0008\u0002\u0000"+ - "\u0182\u0008\u000e\u0000\u0131\u0008\u001f\u0000\u001e\u0008\u00e2\u0000\u004b\u0008\u00b5\u0000" + "\u0001\u000c\u0001\u0000\u0001\u000d\u0002\u000e\u0001\u000f\u000a\u0010\u0001\u0011\u0001\u0000"+ + "\u0001\u0012\u0001\u0013\u0001\u0014\u0001\u0000\u0001\u0015\u000d\u0008\u0001\u0016\u0003\u0008"+ + "\u0001\u0017\u0008\u0008\u0001\u0018\u0001\u0019\u0001\u001a\u0001\u0000\u0001\u0008\u0001\u001b"+ + "\u0001\u001c\u0001\u0008\u0001\u001d\u0001\u001e\u0001\u001f\u0002\u0008\u0001\u0020\u0001\u0021"+ + "\u0002\u0008\u0001\u0022\u0001\u0023\u0001\u0024\u0001\u0025\u0001\u0026\u0001\u0008\u0001\u0027"+ + "\u0001\u0028\u0001\u0029\u0001\u002a\u0002\u0008\u0001\u002b\u0001\u002c\u0001\u0008\u0001\u002d"+ + "\u0001\u0000\u0001\u002e\u0001\u002f\u0006\u0000\u0001\u0003\u001c\u0000\u0004\u0008\u0004\u0000"+ + "\u0001\u0008\u000a\u0000\u0001\u0008\u0004\u0000\u0001\u0008\u0005\u0000\u0017\u0008\u0001\u0000"+ + "\u001f\u0008\u0001\u0000\u01ca\u0008\u0004\u0000\u000c\u0008\u000e\u0000\u0005\u0008\u0007\u0000"+ + "\u0001\u0008\u0001\u0000\u0001\u0008\u0081\u0000\u0005\u0008\u0001\u0000\u0002\u0008\u0002\u0000"+ + "\u0004\u0008\u0001\u0000\u0001\u0008\u0006\u0000\u0001\u0008\u0001\u0000\u0003\u0008\u0001\u0000"+ + "\u0001\u0008\u0001\u0000\u0014\u0008\u0001\u0000\u0053\u0008\u0001\u0000\u008b\u0008\u0008\u0000"+ + "\u00a6\u0008\u0001\u0000\u0026\u0008\u0002\u0000\u0001\u0008\u0006\u0000\u0029\u0008\u0006\u0000"+ + "\u0001\u0008\u0040\u0000\u001b\u0008\u0004\u0000\u0004\u0008\u0018\u0000\u0001\u0008\u0014\u0000"+ + "\u002b\u0008\u0023\u0000\u0002\u0008\u0001\u0000\u0063\u0008\u0001\u0000\u0001\u0008\u000f\u0000"+ + "\u0002\u0008\u0007\u0000\u0002\u0008\u000a\u0000\u0003\u0008\u0002\u0000\u0001\u0008\u0010\u0000"+ + "\u0001\u0008\u0001\u0000\u001e\u0008\u001d\u0000\u0059\u0008\u000b\u0000\u0001\u0008\u0018\u0000"+ + "\u0021\u0008\u0009\u0000\u0002\u0008\u0004\u0000\u0001\u0008\u0003\u0000\u0018\u0008\u0004\u0000"+ + "\u0001\u0008\u0009\u0000\u0001\u0008\u0003\u0000\u0001\u0008\u0017\u0000\u0019\u0008\u0007\u0000"+ + "\u000b\u0008\u0005\u0000\u0018\u0008\u0001\u0000\u0006\u0008\u0011\u0000\u002a\u0008\u003a\u0000"+ + "\u0036\u0008\u0003\u0000\u0001\u0008\u0012\u0000\u0001\u0008\u0007\u0000\u000a\u0008\u000f\u0000"+ + "\u0010\u0008\u0004\u0000\u0008\u0008\u0002\u0000\u0002\u0008\u0002\u0000\u0016\u0008\u0001\u0000"+ + "\u0007\u0008\u0001\u0000\u0001\u0008\u0003\u0000\u0004\u0008\u0003\u0000\u0001\u0008\u0010\u0000"+ + "\u0001\u0008\u000d\u0000\u0002\u0008\u0001\u0000\u0003\u0008\u000e\u0000\u0004\u0008\u0007\u0000"+ + "\u0002\u0008\u0008\u0000\u0006\u0008\u0004\u0000\u0002\u0008\u0002\u0000\u0016\u0008\u0001\u0000"+ + "\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0002\u0008\u001f\u0000"+ + "\u0004\u0008\u0001\u0000\u0001\u0008\u0013\u0000\u0003\u0008\u0010\u0000\u0009\u0008\u0001\u0000"+ + "\u0003\u0008\u0001\u0000\u0016\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000"+ + "\u0005\u0008\u0003\u0000\u0001\u0008\u0012\u0000\u0001\u0008\u000f\u0000\u0002\u0008\u000f\u0000"+ + "\u0001\u0008\u0007\u0000\u0001\u0008\u000b\u0000\u0008\u0008\u0002\u0000\u0002\u0008\u0002\u0000"+ + "\u0016\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0005\u0008\u0003\u0000"+ + "\u0001\u0008\u001e\u0000\u0002\u0008\u0001\u0000\u0003\u0008\u000f\u0000\u0001\u0008\u0011\u0000"+ + "\u0001\u0008\u0001\u0000\u0006\u0008\u0003\u0000\u0003\u0008\u0001\u0000\u0004\u0008\u0003\u0000"+ + "\u0002\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0002\u0008\u0003\u0000\u0002\u0008\u0003\u0000"+ + "\u0003\u0008\u0003\u0000\u000c\u0008\u0016\u0000\u0001\u0008\u0028\u0000\u0001\u0008\u000b\u0000"+ + "\u0008\u0008\u0001\u0000\u0003\u0008\u0001\u0000\u0017\u0008\u0001\u0000\u0010\u0008\u0003\u0000"+ + "\u0001\u0008\u001a\u0000\u0003\u0008\u0002\u0000\u0001\u0008\u0002\u0000\u0002\u0008\u001e\u0000"+ + "\u0001\u0008\u0004\u0000\u0008\u0008\u0001\u0000\u0003\u0008\u0001\u0000\u0017\u0008\u0001\u0000"+ + "\u000a\u0008\u0001\u0000\u0005\u0008\u0003\u0000\u0001\u0008\u001f\u0000\u0002\u0008\u0001\u0000"+ + "\u0002\u0008\u000f\u0000\u0002\u0008\u0011\u0000\u0009\u0008\u0001\u0000\u0003\u0008\u0001\u0000"+ + "\u0029\u0008\u0002\u0000\u0001\u0008\u0010\u0000\u0001\u0008\u0005\u0000\u0003\u0008\u0008\u0000"+ + "\u0003\u0008\u0018\u0000\u0006\u0008\u0005\u0000\u0012\u0008\u0003\u0000\u0018\u0008\u0001\u0000"+ + "\u0009\u0008\u0001\u0000\u0001\u0008\u0002\u0000\u0007\u0008\u003a\u0000\u0030\u0008\u0001\u0000"+ + "\u0002\u0008\u000b\u0000\u0008\u0008\u003a\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u0001\u0000"+ + "\u0005\u0008\u0001\u0000\u0018\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u000a\u0008\u0001\u0000"+ + "\u0002\u0008\u0009\u0000\u0001\u0008\u0002\u0000\u0005\u0008\u0001\u0000\u0001\u0008\u0015\u0000"+ + "\u0004\u0008\u0020\u0000\u0001\u0008\u003f\u0000\u0008\u0008\u0001\u0000\u0024\u0008\u001b\u0000"+ + "\u0005\u0008\u0073\u0000\u002b\u0008\u0014\u0000\u0001\u0008\u0010\u0000\u0006\u0008\u0004\u0000"+ + "\u0004\u0008\u0003\u0000\u0001\u0008\u0003\u0000\u0002\u0008\u0007\u0000\u0003\u0008\u0004\u0000"+ + "\u000d\u0008\u000c\u0000\u0001\u0008\u0011\u0000\u0026\u0008\u0001\u0000\u0001\u0008\u0005\u0000"+ + "\u0001\u0008\u0002\u0000\u002b\u0008\u0001\u0000\u004d\u0008\u0001\u0000\u0004\u0008\u0002\u0000"+ + "\u0007\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0004\u0008\u0002\u0000\u0029\u0008\u0001\u0000"+ + "\u0004\u0008\u0002\u0000\u0021\u0008\u0001\u0000\u0004\u0008\u0002\u0000\u0007\u0008\u0001\u0000"+ + "\u0001\u0008\u0001\u0000\u0004\u0008\u0002\u0000\u000f\u0008\u0001\u0000\u0039\u0008\u0001\u0000"+ + "\u0004\u0008\u0002\u0000\u0043\u0008\u0025\u0000\u0010\u0008\u0010\u0000\u0056\u0008\u0002\u0000"+ + "\u0006\u0008\u0003\u0000\u016c\u0008\u0002\u0000\u0011\u0008\u0001\u0000\u001a\u0008\u0005\u0000"+ + "\u004b\u0008\u0003\u0000\u000b\u0008\u0007\u0000\u0012\u0008\u000d\u0000\u0013\u0008\u000e\u0000"+ + "\u0012\u0008\u000e\u0000\u000d\u0008\u0001\u0000\u0003\u0008\u000f\u0000\u0034\u0008\u0023\u0000"+ + "\u0001\u0008\u0003\u0000\u0002\u0008\u0043\u0000\u0059\u0008\u0007\u0000\u0005\u0008\u0002\u0000"+ + "\u0022\u0008\u0001\u0000\u0001\u0008\u0005\u0000\u0046\u0008\u000a\u0000\u001f\u0008\u0031\u0000"+ + "\u001e\u0008\u0002\u0000\u0005\u0008\u000b\u0000\u002c\u0008\u0004\u0000\u001a\u0008\u0036\u0000"+ + "\u0017\u0008\u0009\u0000\u0035\u0008\u0052\u0000\u0001\u0008\u005d\u0000\u002f\u0008\u0011\u0000"+ + "\u0008\u0008\u0036\u0000\u001e\u0008\u000d\u0000\u0002\u0008\u000a\u0000\u002c\u0008\u001a\u0000"+ + "\u0024\u0008\u0029\u0000\u0003\u0008\u000a\u0000\u0024\u0008\u0002\u0000\u0009\u0008\u0007\u0000"+ + "\u002b\u0008\u0002\u0000\u0003\u0008\u0029\u0000\u0004\u0008\u0001\u0000\u0006\u0008\u0001\u0000"+ + "\u0002\u0008\u0003\u0000\u0001\u0008\u0005\u0000\u00c0\u0008\u0040\u0000\u0016\u0008\u0002\u0000"+ + "\u0006\u0008\u0002\u0000\u0026\u0008\u0002\u0000\u0006\u0008\u0002\u0000\u0008\u0008\u0001\u0000"+ + "\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u001f\u0008\u0002\u0000"+ + "\u0035\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0001\u0008\u0003\u0000\u0003\u0008\u0001\u0000"+ + "\u0007\u0008\u0003\u0000\u0004\u0008\u0002\u0000\u0006\u0008\u0004\u0000\u000d\u0008\u0005\u0000"+ + "\u0003\u0008\u0001\u0000\u0007\u0008\u002b\u0000\u0002\u0003\u0015\u0000\u0002\u0008\u0013\u0000"+ + "\u0001\u0008\u001c\u0000\u0001\u0008\u000d\u0000\u0001\u0008\u0010\u0000\u000d\u0008\u0003\u0000"+ + "\u0021\u0008\u0041\u0000\u0001\u0008\u0004\u0000\u0001\u0008\u0002\u0000\u000a\u0008\u0001\u0000"+ + "\u0001\u0008\u0003\u0000\u0005\u0008\u0006\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000"+ + "\u0001\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u000b\u0008\u0002\u0000\u0004\u0008\u0005\u0000"+ + "\u0005\u0008\u0004\u0000\u0001\u0008\u0011\u0000\u0029\u0008\u0177\u0000\u00e5\u0008\u0006\u0000"+ + "\u0004\u0008\u0003\u0000\u0002\u0008\u000c\u0000\u0026\u0008\u0001\u0000\u0001\u0008\u0005\u0000"+ + "\u0001\u0008\u0002\u0000\u0038\u0008\u0007\u0000\u0001\u0008\u0010\u0000\u0017\u0008\u0009\u0000"+ + "\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000"+ + "\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0050\u0000"+ + "\u0001\u0008\u00d5\u0000\u0003\u0008\u0019\u0000\u0009\u0008\u0007\u0000\u0005\u0008\u0002\u0000"+ + "\u0005\u0008\u0004\u0000\u0056\u0008\u0006\u0000\u0003\u0008\u0001\u0000\u005a\u0008\u0001\u0000"+ + "\u0004\u0008\u0005\u0000\u002b\u0008\u0001\u0000\u005e\u0008\u0011\u0000\u0020\u0008\u0030\u0000"+ + "\u009d\u0008\u0043\u0000\u002e\u0008\u0002\u0000\u000d\u0008\u0003\u0000\u0010\u0008\u000a\u0000"+ + "\u0002\u0008\u0014\u0000\u002f\u0008\u0010\u0000\u001f\u0008\u0002\u0000\u0050\u0008\u0027\u0000"+ + "\u0009\u0008\u0002\u0000\u0067\u0008\u0002\u0000\u0040\u0008\u0005\u0000\u0002\u0008\u0001\u0000"+ + "\u0001\u0008\u0001\u0000\u0005\u0008\u0018\u0000\u0010\u0008\u0001\u0000\u0003\u0008\u0001\u0000"+ + "\u0004\u0008\u0001\u0000\u0017\u0008\u0015\u0000\u0001\u0008\u0007\u0000\u0034\u0008\u000e\u0000"+ + "\u0032\u0008\u003e\u0000\u0006\u0008\u0003\u0000\u0001\u0008\u0001\u0000\u0002\u0008\u000b\u0000"+ + "\u001c\u0008\u000a\u0000\u0017\u0008\u0019\u0000\u001d\u0008\u0007\u0000\u002f\u0008\u001c\u0000"+ + "\u0001\u0008\u0010\u0000\u0005\u0008\u0001\u0000\u000a\u0008\u000a\u0000\u0005\u0008\u0001\u0000"+ + "\u0029\u0008\u0017\u0000\u0003\u0008\u0001\u0000\u0008\u0008\u0014\u0000\u0017\u0008\u0003\u0000"+ + "\u0001\u0008\u0003\u0000\u0032\u0008\u0001\u0000\u0001\u0008\u0003\u0000\u0002\u0008\u0002\u0000"+ + "\u0005\u0008\u0002\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0018\u0000\u0003\u0008\u0002\u0000"+ + "\u000b\u0008\u0007\u0000\u0003\u0008\u000c\u0000\u0006\u0008\u0002\u0000\u0006\u0008\u0002\u0000"+ + "\u0006\u0008\u0009\u0000\u0007\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u002b\u0008\u0001\u0000"+ + "\u000e\u0008\u0006\u0000\u0073\u0008\u001d\u0000\u00a4\u0008\u000c\u0000\u0017\u0008\u0004\u0000"+ + "\u0031\u0008\u0004\u0000\u0100\u0003\u006e\u0008\u0002\u0000\u006a\u0008\u0026\u0000\u0007\u0008"+ + "\u000c\u0000\u0005\u0008\u0005\u0000\u0001\u0008\u0001\u0000\u000a\u0008\u0001\u0000\u000d\u0008"+ + "\u0001\u0000\u0005\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0002\u0008"+ + "\u0001\u0000\u006c\u0008\u0021\u0000\u006b\u0008\u0012\u0000\u0040\u0008\u0002\u0000\u0036\u0008"+ + "\u0028\u0000\u000d\u0008\u0036\u0000\u0002\u0008\u0018\u0000\u0003\u0008\u0019\u0000\u0001\u0008"+ + "\u0006\u0000\u0005\u0008\u0001\u0000\u0087\u0008\u0007\u0000\u0001\u0008\u001c\u0000\u001a\u0008"+ + "\u0004\u0000\u0001\u0008\u0001\u0000\u001a\u0008\u000b\u0000\u0059\u0008\u0003\u0000\u0006\u0008"+ + "\u0002\u0000\u0006\u0008\u0002\u0000\u0006\u0008\u0002\u0000\u0003\u0008\u0003\u0000\u0002\u0008"+ + "\u0003\u0000\u0002\u0008\u0019\u0000\u000c\u0008\u0001\u0000\u001a\u0008\u0001\u0000\u0013\u0008"+ + "\u0001\u0000\u0002\u0008\u0001\u0000\u000f\u0008\u0002\u0000\u000e\u0008\u0022\u0000\u007b\u0008"+ + "\u0045\u0000\u0035\u0008\u010b\u0000\u001d\u0008\u0003\u0000\u0031\u0008\u002f\u0000\u0020\u0008"+ + "\u000d\u0000\u001e\u0008\u0005\u0000\u0026\u0008\u000a\u0000\u001e\u0008\u0002\u0000\u0024\u0008"+ + "\u0004\u0000\u0008\u0008\u0001\u0000\u0005\u0008\u002a\u0000\u009e\u0008\u0012\u0000\u0024\u0008"+ + "\u0004\u0000\u0024\u0008\u0004\u0000\u0028\u0008\u0008\u0000\u0034\u0008\u000c\u0000\u000b\u0008"+ + "\u0001\u0000\u000f\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u000b\u0008"+ + "\u0001\u0000\u000f\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0043\u0000\u0037\u0008"+ + "\u0009\u0000\u0016\u0008\u000a\u0000\u0008\u0008\u0018\u0000\u0006\u0008\u0001\u0000\u002a\u0008"+ + "\u0001\u0000\u0009\u0008\u0045\u0000\u0006\u0008\u0002\u0000\u0001\u0008\u0001\u0000\u002c\u0008"+ + "\u0001\u0000\u0002\u0008\u0003\u0000\u0001\u0008\u0002\u0000\u0017\u0008\u000a\u0000\u0017\u0008"+ + "\u0009\u0000\u001f\u0008\u0041\u0000\u0013\u0008\u0001\u0000\u0002\u0008\u000a\u0000\u0016\u0008"+ + "\u000a\u0000\u001a\u0008\u0046\u0000\u0038\u0008\u0006\u0000\u0002\u0008\u0040\u0000\u0001\u0008"+ + "\u000f\u0000\u0004\u0008\u0001\u0000\u0003\u0008\u0001\u0000\u001d\u0008\u002a\u0000\u001d\u0008"+ + "\u0003\u0000\u001d\u0008\u0023\u0000\u0008\u0008\u0001\u0000\u001c\u0008\u001b\u0000\u0036\u0008"+ + "\u000a\u0000\u0016\u0008\u000a\u0000\u0013\u0008\u000d\u0000\u0012\u0008\u006e\u0000\u0049\u0008"+ + "\u0037\u0000\u0033\u0008\u000d\u0000\u0033\u0008\u000d\u0000\u0024\u0008\u015c\u0000\u002a\u0008"+ + "\u0006\u0000\u0002\u0008\u004e\u0000\u001d\u0008\u000a\u0000\u0001\u0008\u0008\u0000\u0016\u0008"+ + "\u002a\u0000\u0012\u0008\u002e\u0000\u0015\u0008\u001b\u0000\u0017\u0008\u000c\u0000\u0035\u0008"+ + "\u0039\u0000\u0002\u0008\u0002\u0000\u0001\u0008\u000d\u0000\u002d\u0008\u0020\u0000\u0019\u0008"+ + "\u001a\u0000\u0024\u0008\u001d\u0000\u0001\u0008\u0002\u0000\u0001\u0008\u0008\u0000\u0023\u0008"+ + "\u0003\u0000\u0001\u0008\u000c\u0000\u0030\u0008\u000e\u0000\u0004\u0008\u0015\u0000\u0001\u0008"+ + "\u0001\u0000\u0001\u0008\u0023\u0000\u0012\u0008\u0001\u0000\u0019\u0008\u0013\u0000\u0002\u0008"+ + "\u003f\u0000\u0007\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u000f\u0008"+ + "\u0001\u0000\u000a\u0008\u0007\u0000\u002f\u0008\u0026\u0000\u0008\u0008\u0002\u0000\u0002\u0008"+ + "\u0002\u0000\u0016\u0008\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0005\u0008"+ + "\u0003\u0000\u0001\u0008\u0012\u0000\u0001\u0008\u000c\u0000\u0005\u0008\u009e\u0000\u0035\u0008"+ + "\u0012\u0000\u0004\u0008\u0014\u0000\u0003\u0008\u001e\u0000\u0030\u0008\u0014\u0000\u0002\u0008"+ + "\u0001\u0000\u0001\u0008\u00b8\u0000\u002f\u0008\u0029\u0000\u0004\u0008\u0024\u0000\u0030\u0008"+ + "\u0014\u0000\u0001\u0008\u003b\u0000\u002b\u0008\u000d\u0000\u0001\u0008\u0047\u0000\u001b\u0008"+ + "\u0025\u0000\u0007\u0008\u00b9\u0000\u002c\u0008\u0074\u0000\u0040\u0008\u001f\u0000\u0008\u0008"+ + "\u0002\u0000\u0001\u0008\u0002\u0000\u0008\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0018\u0008"+ + "\u000f\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u005e\u0000\u0008\u0008\u0002\u0000\u0027\u0008"+ + "\u0010\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u001c\u0000\u0001\u0008\u000a\u0000\u0028\u0008"+ + "\u0007\u0000\u0001\u0008\u0015\u0000\u0001\u0008\u000b\u0000\u002e\u0008\u0013\u0000\u0001\u0008"+ + "\u0012\u0000\u0049\u0008\u0007\u0000\u0009\u0008\u0001\u0000\u0025\u0008\u0011\u0000\u0001\u0008"+ + "\u0031\u0000\u001e\u0008\u0070\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0026\u0008"+ + "\u0015\u0000\u0001\u0008\u0019\u0000\u0006\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0020\u0008"+ + "\u000e\u0000\u0001\u0008\u0147\u0000\u0013\u0008\u000f\u0000\u0001\u0008\u0001\u0000\u000d\u0008"+ + "\u0001\u0000\u0022\u0008\u007c\u0000\u0001\u0008\u002c\u0000\u0004\u0008\u001f\u0000\u009a\u0008"+ + "\u0066\u0000\u006f\u0008\u0011\u0000\u00c4\u0008\u014c\u0000\u0061\u0008\u000f\u0000\u0030\u0008"+ + "\u0011\u0000\u0006\u0008\u00b9\u0000\u0047\u0008\u00b9\u0000\u0039\u0008\u0007\u0000\u001f\u0008"+ + "\u0011\u0000\u004f\u0008\u0011\u0000\u001e\u0008\u0012\u0000\u0030\u0008\u0010\u0000\u0004\u0008"+ + "\u001f\u0000\u0015\u0008\u0005\u0000\u0013\u0008\u00b0\u0000\u0040\u0008\u0080\u0000\u004b\u0008"+ + "\u0005\u0000\u0001\u0008\u0042\u0000\u000d\u0008\u0040\u0000\u0002\u0008\u0001\u0000\u0001\u0008"+ + "\u001c\u0000\u00f8\u0008\u0008\u0000\u00d6\u0008\u002a\u0000\u0009\u0008\u01e7\u0000\u0004\u0008"+ + "\u0001\u0000\u0007\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0023\u0008\u000f\u0000\u0001\u0008"+ + "\u001d\u0000\u0003\u0008\u0002\u0000\u0001\u0008\u000e\u0000\u0004\u0008\u0008\u0000\u018c\u0008"+ + "\u0004\u0000\u006b\u0008\u0005\u0000\u000d\u0008\u0003\u0000\u0009\u0008\u0007\u0000\u000a\u0008"+ + "\u0066\u0000\u0055\u0008\u0001\u0000\u0047\u0008\u0001\u0000\u0002\u0008\u0002\u0000\u0001\u0008"+ + "\u0002\u0000\u0002\u0008\u0002\u0000\u0004\u0008\u0001\u0000\u000c\u0008\u0001\u0000\u0001\u0008"+ + "\u0001\u0000\u0007\u0008\u0001\u0000\u0041\u0008\u0001\u0000\u0004\u0008\u0002\u0000\u0008\u0008"+ + "\u0001\u0000\u0007\u0008\u0001\u0000\u001c\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0005\u0008"+ + "\u0001\u0000\u0001\u0008\u0003\u0000\u0007\u0008\u0001\u0000\u0154\u0008\u0002\u0000\u0019\u0008"+ + "\u0001\u0000\u0019\u0008\u0001\u0000\u001f\u0008\u0001\u0000\u0019\u0008\u0001\u0000\u001f\u0008"+ + "\u0001\u0000\u0019\u0008\u0001\u0000\u001f\u0008\u0001\u0000\u0019\u0008\u0001\u0000\u001f\u0008"+ + "\u0001\u0000\u0019\u0008\u0001\u0000\u0008\u0008\u0034\u0000\u001f\u0008\u0006\u0000\u0006\u0008"+ + "\u0105\u0000\u003e\u0008\u0092\u0000\u002d\u0008\u000a\u0000\u0007\u0008\u0010\u0000\u0001\u0008"+ + "\u0141\u0000\u001e\u0008\u0012\u0000\u002c\u0008\u0013\u0000\u0001\u0008\u00d0\u0000\u001c\u0008"+ + "\u00f4\u0000\u0007\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u000f\u0008"+ + "\u0001\u0000\u00c5\u0008\u003b\u0000\u0044\u0008\u0007\u0000\u0001\u0008\u0164\u0000\u0001\u0008"+ + "\u004f\u0000\u0004\u0008\u0001\u0000\u001b\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0001\u0008"+ + "\u0002\u0000\u0001\u0008\u0001\u0000\u000a\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0001\u0008"+ + "\u0001\u0000\u0001\u0008\u0006\u0000\u0001\u0008\u0004\u0000\u0001\u0008\u0001\u0000\u0001\u0008"+ + "\u0001\u0000\u0001\u0008\u0001\u0000\u0003\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0001\u0008"+ + "\u0002\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0001\u0008\u0001\u0000\u0001\u0008"+ + "\u0001\u0000\u0001\u0008\u0001\u0000\u0002\u0008\u0001\u0000\u0001\u0008\u0002\u0000\u0004\u0008"+ + "\u0001\u0000\u0007\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0004\u0008\u0001\u0000\u0001\u0008"+ + "\u0001\u0000\u000a\u0008\u0001\u0000\u0011\u0008\u0005\u0000\u0003\u0008\u0001\u0000\u0005\u0008"+ + "\u0001\u0000\u0011\u0008\u0044\u0000\u00e0\u0008\u0020\u0000\u003a\u0008\u0006\u0000\u00de\u0008"+ + "\u0002\u0000\u0182\u0008\u000e\u0000\u0131\u0008\u001f\u0000\u001e\u0008\u00e2\u0000\u004b\u0008"+ + "\u0005\u0000\u0160\u0008\u0050\u0000" @JvmStatic private fun zzUnpackcmap_blocks(): IntArray { - val result: IntArray = IntArray(29184) + val result: IntArray = IntArray(30720) var offset: Int = 0 offset = zzUnpackcmap_blocks(ZZ_CMAP_BLOCKS_PACKED_0, offset, result) return result @@ -311,15 +324,15 @@ companion object { "\u0002\u001a\u0001\u001b\u0001\u001a\u0001\u001c\u0001\u001d\u0001\u0013\u0001\u001e\u0001\u001f"+ "\u0001\u001c\u0001\u0020\u0001\u0013\u0001\u000e\u0001\u0003\u0001\u0021\u0001\u0022\u0001\u0013"+ "\u0001\u0003\u0001\u0023\u0001\u000d\u0001\u0013\u0001\u0003\u0001\u000d\u0001\u0000\u0001\u0024"+ - "\u0002\u0000\u000a\u0025\u0002\u0000\u0005\u0025\u0001\u0000\u0001\u0026\u0001\u0027\u000c\u0025"+ - "\u0002\u0028\u0004\u0025\u0001\u0029\u000c\u0025\u0002\u0028\u0005\u0025\u0001\u002a\u000a\u0025"+ - "\u0002\u0028\u0001\u002b\u0008\u0025\u0001\u002c\u0002\u0025\u0002\u0028\u0001\u0025\u0001\u002c"+ - "\u0005\u0025\u0002\u0028\u0003\u0025\u0002\u0028\u0001\u002d\u0001\u0025\u0002\u0028\u0001\u0025"+ - "\u0015\u0028" + "\u0002\u0000\u0001\u0025\u000a\u0026\u0002\u0000\u0001\u0027\u0005\u0026\u0001\u0000\u0001\u0028"+ + "\u0001\u0029\u000c\u0026\u0002\u002a\u0004\u0026\u0001\u002b\u000c\u0026\u0002\u002a\u0005\u0026"+ + "\u0001\u002c\u000a\u0026\u0002\u002a\u0001\u002d\u0008\u0026\u0001\u002e\u0002\u0026\u0002\u002a"+ + "\u0001\u0026\u0001\u002e\u0005\u0026\u0002\u002a\u0003\u0026\u0002\u002a\u0001\u002f\u0001\u0026"+ + "\u0002\u002a\u0001\u0026\u0015\u002a" @JvmStatic private fun zzUnpackAction(): IntArray { - val result: IntArray = IntArray(200) + val result: IntArray = IntArray(202) var offset: Int = 0 offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result) return result @@ -348,35 +361,36 @@ companion object { * Translates a state to a row index in the transition table */ private const val ZZ_ROWMAP_PACKED_0: String = - "\u0000\u0000\u0000\u0031\u0000\u0062\u0000\u0093\u0000\u00c4\u0000\u00f5\u0000\u0126\u0000\u0157"+ - "\u0000\u0188\u0000\u01b9\u0000\u01ea\u0000\u021b\u0000\u024c\u0000\u027d\u0000\u02ae\u0000\u02df"+ - "\u0000\u0310\u0000\u0341\u0000\u02df\u0000\u0372\u0000\u02df\u0000\u02df\u0000\u02df\u0000\u0310"+ - "\u0000\u02df\u0000\u02df\u0000\u03a3\u0000\u02df\u0000\u03d4\u0000\u02df\u0000\u0405\u0000\u02df"+ - "\u0000\u02df\u0000\u0436\u0000\u0467\u0000\u0498\u0000\u04c9\u0000\u04fa\u0000\u02df\u0000\u052b"+ - "\u0000\u02df\u0000\u02df\u0000\u02df\u0000\u02df\u0000\u02df\u0000\u055c\u0000\u02df\u0000\u058d"+ - "\u0000\u02df\u0000\u05be\u0000\u05be\u0000\u0310\u0000\u02df\u0000\u02df\u0000\u05ef\u0000\u02df"+ - "\u0000\u0310\u0000\u0620\u0000\u02df\u0000\u02df\u0000\u0651\u0000\u0682\u0000\u02df\u0000\u02df"+ - "\u0000\u06b3\u0000\u06e4\u0000\u02df\u0000\u06b3\u0000\u0715\u0000\u0746\u0000\u0715\u0000\u0310"+ - "\u0000\u02df\u0000\u0777\u0000\u07a8\u0000\u07d9\u0000\u080a\u0000\u083b\u0000\u086c\u0000\u089d"+ - "\u0000\u08ce\u0000\u08ff\u0000\u0930\u0000\u0961\u0000\u0992\u0000\u09c3\u0000\u09f4\u0000\u0a25"+ - "\u0000\u0a56\u0000\u0a87\u0000\u0ab8\u0000\u0ae9\u0000\u0b1a\u0000\u02df\u0000\u02df\u0000\u0b4b"+ - "\u0000\u0b7c\u0000\u0bad\u0000\u0bde\u0000\u0c0f\u0000\u0c40\u0000\u0c71\u0000\u0ca2\u0000\u0cd3"+ - "\u0000\u0d04\u0000\u0d35\u0000\u0d66\u0000\u0d97\u0000\u0dc8\u0000\u0df9\u0000\u0e2a\u0000\u0e5b"+ - "\u0000\u0e8c\u0000\u02df\u0000\u0ebd\u0000\u0eee\u0000\u0f1f\u0000\u0f50\u0000\u0f81\u0000\u0fb2"+ - "\u0000\u0fe3\u0000\u1014\u0000\u1045\u0000\u1076\u0000\u10a7\u0000\u10d8\u0000\u1109\u0000\u113a"+ - "\u0000\u116b\u0000\u119c\u0000\u11cd\u0000\u11fe\u0000\u122f\u0000\u07d9\u0000\u1260\u0000\u1291"+ - "\u0000\u12c2\u0000\u12f3\u0000\u1324\u0000\u1355\u0000\u1386\u0000\u13b7\u0000\u13e8\u0000\u1419"+ - "\u0000\u144a\u0000\u147b\u0000\u0a25\u0000\u14ac\u0000\u14dd\u0000\u150e\u0000\u153f\u0000\u1570"+ - "\u0000\u15a1\u0000\u15d2\u0000\u1603\u0000\u07d9\u0000\u1634\u0000\u1665\u0000\u1696\u0000\u16c7"+ - "\u0000\u16f8\u0000\u0a25\u0000\u1729\u0000\u175a\u0000\u178b\u0000\u17bc\u0000\u17ed\u0000\u181e"+ - "\u0000\u184f\u0000\u1880\u0000\u18b1\u0000\u18e2\u0000\u1913\u0000\u1944\u0000\u0a25\u0000\u1975"+ - "\u0000\u19a6\u0000\u19d7\u0000\u1a08\u0000\u1a39\u0000\u1a6a\u0000\u1a9b\u0000\u1acc\u0000\u1afd"+ - "\u0000\u1b2e\u0000\u1b5f\u0000\u1b90\u0000\u1bc1\u0000\u1bf2\u0000\u1c23\u0000\u1c54\u0000\u1c85"+ - "\u0000\u1cb6\u0000\u1ce7\u0000\u1d18\u0000\u1d49\u0000\u1d7a\u0000\u1dab\u0000\u1ddc\u0000\u02df" + "\u0000\u0000\u0000\u0030\u0000\u0060\u0000\u0090\u0000\u00c0\u0000\u00f0\u0000\u0120\u0000\u0150"+ + "\u0000\u0180\u0000\u01b0\u0000\u01e0\u0000\u0210\u0000\u0240\u0000\u0270\u0000\u02a0\u0000\u02d0"+ + "\u0000\u0300\u0000\u0330\u0000\u02d0\u0000\u0360\u0000\u0390\u0000\u02d0\u0000\u02d0\u0000\u0300"+ + "\u0000\u02d0\u0000\u02d0\u0000\u03c0\u0000\u02d0\u0000\u03f0\u0000\u02d0\u0000\u0420\u0000\u02d0"+ + "\u0000\u02d0\u0000\u0450\u0000\u0480\u0000\u04b0\u0000\u04e0\u0000\u0510\u0000\u0540\u0000\u0570"+ + "\u0000\u02d0\u0000\u02d0\u0000\u02d0\u0000\u02d0\u0000\u02d0\u0000\u05a0\u0000\u02d0\u0000\u05d0"+ + "\u0000\u02d0\u0000\u0600\u0000\u0600\u0000\u0300\u0000\u02d0\u0000\u02d0\u0000\u0630\u0000\u02d0"+ + "\u0000\u0300\u0000\u0660\u0000\u02d0\u0000\u02d0\u0000\u0690\u0000\u06c0\u0000\u02d0\u0000\u02d0"+ + "\u0000\u06f0\u0000\u0720\u0000\u02d0\u0000\u06f0\u0000\u0750\u0000\u0780\u0000\u0750\u0000\u0300"+ + "\u0000\u02d0\u0000\u07b0\u0000\u07e0\u0000\u02d0\u0000\u0810\u0000\u0840\u0000\u0870\u0000\u08a0"+ + "\u0000\u08d0\u0000\u0900\u0000\u0930\u0000\u0960\u0000\u0990\u0000\u09c0\u0000\u09f0\u0000\u0a20"+ + "\u0000\u02d0\u0000\u0a50\u0000\u0a80\u0000\u0ab0\u0000\u0ae0\u0000\u0b10\u0000\u0b40\u0000\u02d0"+ + "\u0000\u02d0\u0000\u0b70\u0000\u0ba0\u0000\u0bd0\u0000\u0c00\u0000\u0c30\u0000\u0c60\u0000\u0c90"+ + "\u0000\u0cc0\u0000\u0cf0\u0000\u0d20\u0000\u0d50\u0000\u0d80\u0000\u0db0\u0000\u0de0\u0000\u0e10"+ + "\u0000\u0e40\u0000\u0e70\u0000\u0ea0\u0000\u02d0\u0000\u0ed0\u0000\u0f00\u0000\u0f30\u0000\u0f60"+ + "\u0000\u0f90\u0000\u0fc0\u0000\u0ff0\u0000\u1020\u0000\u1050\u0000\u1080\u0000\u10b0\u0000\u10e0"+ + "\u0000\u1110\u0000\u1140\u0000\u1170\u0000\u11a0\u0000\u11d0\u0000\u1200\u0000\u1230\u0000\u0810"+ + "\u0000\u1260\u0000\u1290\u0000\u12c0\u0000\u12f0\u0000\u1320\u0000\u1350\u0000\u1380\u0000\u13b0"+ + "\u0000\u13e0\u0000\u1410\u0000\u1440\u0000\u1470\u0000\u0a50\u0000\u14a0\u0000\u14d0\u0000\u1500"+ + "\u0000\u1530\u0000\u1560\u0000\u1590\u0000\u15c0\u0000\u15f0\u0000\u0810\u0000\u1620\u0000\u1650"+ + "\u0000\u1680\u0000\u16b0\u0000\u16e0\u0000\u0a50\u0000\u1710\u0000\u1740\u0000\u1770\u0000\u17a0"+ + "\u0000\u17d0\u0000\u1800\u0000\u1830\u0000\u1860\u0000\u1890\u0000\u18c0\u0000\u18f0\u0000\u1920"+ + "\u0000\u0a50\u0000\u1950\u0000\u1980\u0000\u19b0\u0000\u19e0\u0000\u1a10\u0000\u1a40\u0000\u1a70"+ + "\u0000\u1aa0\u0000\u1ad0\u0000\u1b00\u0000\u1b30\u0000\u1b60\u0000\u1b90\u0000\u1bc0\u0000\u1bf0"+ + "\u0000\u1c20\u0000\u1c50\u0000\u1c80\u0000\u1cb0\u0000\u1ce0\u0000\u1d10\u0000\u1d40\u0000\u1d70"+ + "\u0000\u1da0\u0000\u02d0" @JvmStatic private fun zzUnpackRowMap(): IntArray { - val result: IntArray = IntArray(200) + val result: IntArray = IntArray(202) var offset: Int = 0 offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result) return result @@ -401,130 +415,130 @@ companion object { * The transition table of the DFA */ private const val ZZ_TRANS_PACKED_0: String = - "\u000c\u0010\u0001\u0011\u0003\u0010\u0001\u0012\u0020\u0010\u0001\u0013\u0002\u0014\u0001\u0010"+ + "\u000c\u0010\u0001\u0011\u0002\u0010\u0001\u0012\u0020\u0010\u0001\u0013\u0002\u0014\u0001\u0010"+ "\u0002\u0014\u0001\u0013\u0001\u0015\u0002\u0013\u0001\u0016\u0001\u0017\u0001\u0018\u0001\u0019"+ - "\u0002\u0013\u0001\u001a\u0005\u0013\u0001\u001b\u0002\u0013\u0001\u001c\u0001\u001d\u0001\u001e"+ + "\u0001\u0013\u0001\u001a\u0005\u0013\u0001\u001b\u0002\u0013\u0001\u001c\u0001\u001d\u0001\u001e"+ "\u0001\u001f\u0011\u0013\u0001\u0020\u0001\u0021\u0001\u0022\u0001\u0013\u0001\u0023\u0001\u0014"+ "\u0001\u0010\u0001\u0023\u0001\u0014\u0001\u0013\u0001\u0015\u0002\u0013\u0001\u0016\u0001\u0017"+ - "\u0001\u0018\u0001\u0019\u0002\u0013\u0001\u001a\u0008\u0013\u0001\u001c\u0001\u001d\u0001\u001e"+ + "\u0001\u0018\u0001\u0019\u0001\u0013\u0001\u001a\u0008\u0013\u0001\u001c\u0001\u001d\u0001\u001e"+ "\u0001\u001f\u0011\u0013\u0001\u0020\u0001\u0021\u0001\u0022\u0001\u0010\u0002\u0024\u0001\u0010"+ - "\u0002\u0024\u0006\u0010\u0001\u0011\u0022\u0010\u0001\u0021\u0002\u0010\u0002\u0025\u0001\u0010"+ - "\u0002\u0025\u0006\u0010\u0001\u0011\u0024\u0010\u0001\u0013\u0002\u0026\u0001\u0010\u0002\u0026"+ + "\u0002\u0024\u0006\u0010\u0001\u0011\u0021\u0010\u0001\u0021\u0002\u0010\u0002\u0025\u0001\u0010"+ + "\u0002\u0025\u0006\u0010\u0001\u0011\u0023\u0010\u0001\u0013\u0002\u0026\u0001\u0010\u0002\u0026"+ "\u0001\u0013\u0001\u0027\u0001\u0028\u0001\u0013\u0001\u0029\u0001\u0013\u0001\u0018\u0001\u002a"+ - "\u0001\u0013\u0001\u0028\u0001\u002b\u0001\u0028\u0001\u0013\u0001\u002c\u0003\u0013\u0003\u0028"+ - "\u0001\u0013\u0001\u0028\u0001\u0013\u0011\u0028\u0001\u0013\u0001\u0021\u0001\u0013\u0001\u0010"+ - "\u0002\u0014\u0001\u0010\u0002\u0014\u0002\u0010\u0001\u0028\u0002\u0010\u0001\u002d\u0001\u0011"+ - "\u0001\u002a\u0001\u0010\u0001\u0028\u0001\u0010\u0001\u0028\u0005\u0010\u0003\u0028\u0001\u0010"+ - "\u0001\u0028\u0001\u0010\u0011\u0028\u000b\u0010\u0001\u002e\u0003\u0010\u0001\u0011\u0008\u0010"+ - "\u0001\u002f\u0001\u0010\u0002\u002e\u0004\u0010\u0011\u002e\u000f\u0010\u0001\u0011\u0009\u0010"+ - "\u0001\u0030\u001a\u0010\u0001\u0031\u0001\u0032\u0001\u0033\u0001\u0010\u0002\u0033\u0006\u0031"+ - "\u0001\u0034\u0021\u0031\u0001\u0020\u0001\u0021\u0002\u0031\u0001\u0032\u0001\u0033\u0001\u0010"+ - "\u0002\u0033\u0006\u0031\u0001\u0034\u0022\u0031\u0001\u0021\u0001\u0031\u0001\u0035\u0002\u0014"+ - "\u0001\u0035\u0002\u0014\u0001\u0036\u0001\u0035\u0001\u0037\u0001\u0038\u0002\u0035\u0001\u0039"+ - "\u0003\u0035\u0001\u003a\u0001\u0035\u0001\u003b\u0001\u0035\u0001\u003c\u0002\u0035\u0002\u0037"+ - "\u0004\u0035\u0011\u0037\u0001\u0035\u0001\u0021\u0001\u0035\u0001\u003d\u0001\u003e\u0001\u0014"+ - "\u0001\u003d\u0002\u003e\u0028\u003d\u0001\u003f\u0001\u0040\u0001\u003d\u0001\u0041\u0001\u0042"+ - "\u0001\u0014\u0001\u0041\u0002\u0042\u0001\u0043\u0028\u0041\u0001\u0044\u0001\u0041\u0001\u0045"+ - "\u0001\u0046\u0001\u0014\u0001\u0045\u0002\u0046\u0003\u0045\u0001\u0043\u0025\u0045\u0001\u0047"+ - "\u0001\u0045\u003d\u0000\u0001\u0048\u0003\u0000\u0001\u0049\u002c\u0000\u0001\u004a\u0003\u0000"+ - "\u0001\u004b\u0021\u0000\u0002\u0014\u0001\u0000\u0002\u0014\u002b\u0000\u0001\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0017\u004c\u0001\u004d\u0001\u004e\u0001\u004f\u0001\u004c\u0001\u0050"+ - "\u0001\u0051\u0001\u0052\u0003\u004c\u0001\u0053\u0001\u0054\u0001\u0055\u0007\u004c\u000a\u0000"+ - "\u0002\u0013\u000d\u0000\u0001\u0013\u0001\u0000\u0001\u0013\u0031\u0000\u0001\u0056\u0044\u0000"+ - "\u0001\u0057\u0001\u0000\u0001\u0023\u0002\u0000\u0001\u0023\u002d\u0000\u0002\u0024\u0001\u0000"+ - "\u0002\u0024\u002c\u0000\u0002\u0025\u0001\u0000\u0002\u0025\u002c\u0000\u0002\u0026\u0001\u0000"+ - "\u0002\u0026\u0033\u0000\u0001\u0028\u0006\u0000\u0001\u0028\u0001\u0000\u0001\u0028\u0005\u0000"+ - "\u0003\u0028\u0001\u0000\u0001\u0028\u0001\u0000\u0011\u0028\u000b\u0000\u0001\u002e\u0005\u0000"+ - "\u0002\u002e\u0001\u0000\u0002\u002e\u0004\u0000\u0002\u002e\u0004\u0000\u0011\u002e\u0003\u0000"+ - "\u0001\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u0018\u0058\u0001\u0059\u0004\u0058\u0001\u005a"+ - "\u0003\u0058\u0001\u005b\u0001\u0058\u0001\u005c\u0005\u0058\u0001\u0000\u0001\u0058\u0001\u0000"+ - "\u0002\u0033\u0001\u0000\u0002\u0033\u0033\u0000\u0001\u0037\u0008\u0000\u0001\u0037\u0005\u0000"+ - "\u0002\u0037\u0004\u0000\u0011\u0037\u0013\u0000\u0001\u005d\u0020\u0000\u0002\u003d\u0001\u0000"+ - "\u002b\u003d\u0002\u0000\u0002\u003d\u0001\u003e\u0001\u0014\u0001\u003d\u0002\u003e\u0028\u003d"+ - "\u0002\u0000\u0001\u003d\u0002\u0041\u0001\u0000\u0003\u0041\u0001\u0000\u002b\u0041\u0001\u0042"+ - "\u0001\u0014\u0001\u0041\u0002\u0042\u0001\u0000\u002a\u0041\u0002\u0045\u0001\u0000\u0006\u0045"+ - "\u0001\u0000\u0028\u0045\u0001\u0046\u0001\u0014\u0001\u0045\u0002\u0046\u0003\u0045\u0001\u0000"+ - "\u0027\u0045\u000c\u0000\u0001\u005e\u0034\u0000\u0001\u005f\u0020\u0000\u0001\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u002c\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0025\u004c\u0001\u0060"+ - "\u0006\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0020\u004c\u0001\u0061\u000b\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u001a\u004c\u0001\u0062\u0005\u004c\u0001\u0063\u000b\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u001c\u004c\u0001\u0064\u000f\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u001e\u004c\u0001\u0065\u0001\u0066\u000c\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001c\u004c"+ - "\u0001\u0067\u000f\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0017\u004c\u0001\u0068\u0014\u004c"+ - "\u0002\u0000\u0001\u004c\u0002\u0000\u001a\u004c\u0001\u0069\u0011\u004c\u0002\u0000\u0001\u004c"+ - "\u0002\u0000\u001a\u004c\u0001\u006a\u000a\u004c\u0001\u006b\u0005\u004c\u001c\u0000\u0001\u006c"+ - "\u0044\u0000\u0001\u006d\u0001\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u0029\u0058\u0001\u0000"+ - "\u0002\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u0020\u0058\u0001\u006e\u0008\u0058\u0001\u0000"+ - "\u0002\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u001c\u0058\u0001\u006f\u000c\u0058\u0001\u0000"+ - "\u0002\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u0017\u0058\u0001\u0070\u0011\u0058\u0001\u0000"+ - "\u0002\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u001f\u0058\u0001\u0071\u0009\u0058\u0001\u0000"+ - "\u0001\u0058\u0010\u0000\u0001\u0072\u0020\u0000\u0001\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0024\u004c\u0001\u0073\u0007\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0019\u004c\u0001\u0074"+ - "\u0012\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0021\u004c\u0001\u0075\u000a\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0018\u004c\u0001\u0076\u0013\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0019\u004c\u0001\u0077\u0012\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0021\u004c\u0001\u0078"+ - "\u000a\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0019\u004c\u0001\u0079\u0012\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0024\u004c\u0001\u007a\u0007\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0022\u004c\u0001\u007b\u0009\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0024\u004c\u0001\u007c"+ - "\u0007\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0022\u004c\u0001\u007d\u0009\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u001e\u004c\u0001\u007e\u000c\u004c\u001c\u0000\u0001\u007f\u0044\u0000"+ - "\u0001\u0080\u0001\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u0019\u0058\u0001\u0081\u000f\u0058"+ - "\u0001\u0000\u0002\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u0024\u0058\u0001\u0082\u0004\u0058"+ - "\u0001\u0000\u0002\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u0022\u0058\u0001\u0083\u0006\u0058"+ - "\u0001\u0000\u0002\u0058\u0002\u0000\u0001\u0058\u0002\u0000\u001c\u0058\u0001\u0084\u000c\u0058"+ - "\u0001\u0000\u0001\u0058\u0001\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001b\u004c\u0001\u0085"+ - "\u0010\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001a\u004c\u0001\u0086\u0011\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0022\u004c\u0001\u0087\u0009\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0012\u004c\u0001\u0088\u0019\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0019\u004c\u0001\u0089"+ - "\u0012\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001d\u004c\u0001\u008a\u000e\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u001a\u004c\u0001\u008b\u0011\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u001a\u004c\u0001\u008c\u0011\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0017\u004c\u0001\u008d"+ - "\u0014\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0025\u004c\u0001\u008e\u0006\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u001c\u004c\u0001\u008f\u000f\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u001e\u004c\u0001\u0090\u000c\u004c\u001c\u0000\u0001\u0091\u0044\u0000\u0001\u0092\u0001\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u001a\u0058\u0001\u0093\u000e\u0058\u0001\u0000\u0002\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u001a\u0058\u0001\u0094\u000e\u0058\u0001\u0000\u0002\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u0017\u0058\u0001\u0095\u0011\u0058\u0001\u0000\u0002\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u0021\u0058\u0001\u0096\u0007\u0058\u0001\u0000\u0001\u0058"+ - "\u0001\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0020\u004c\u0001\u0097\u000b\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u001a\u004c\u0001\u0098\u0011\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0020\u004c\u0001\u0099\u000b\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001a\u004c\u0001\u009a"+ - "\u0011\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0011\u004c\u0001\u009b\u001a\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0026\u004c\u0001\u0086\u0005\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0022\u004c\u0001\u008f\u0009\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001e\u004c\u0001\u009c"+ - "\u000d\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0022\u004c\u0001\u009a\u0009\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0017\u004c\u0001\u009d\u0014\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0017\u004c\u0001\u009e\u0013\u004c\u001c\u0000\u0001\u009f\u0044\u0000\u0001\u00a0\u0001\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u0022\u0058\u0001\u00a1\u0006\u0058\u0001\u0000\u0002\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u001e\u0058\u0001\u00a2\u000a\u0058\u0001\u0000\u0002\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u0021\u0058\u0001\u00a3\u0007\u0058\u0001\u0000\u0001\u0058"+ - "\u0001\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0022\u004c\u0001\u0086\u0009\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0018\u004c\u0001\u00a4\u0013\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0020\u004c\u0001\u00a5\u000b\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001f\u004c\u0001\u0086"+ - "\u000c\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0020\u004c\u0001\u00a6\u000b\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u001d\u004c\u0001\u0086\u000e\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0022\u004c\u0001\u00a7\u0008\u004c\u001c\u0000\u0001\u00a8\u0044\u0000\u0001\u00a9\u0001\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u0017\u0058\u0001\u00aa\u0011\u0058\u0001\u0000\u0002\u0058"+ - "\u0002\u0000\u0001\u0058\u0002\u0000\u001a\u0058\u0001\u00ab\u000e\u0058\u0001\u0000\u0001\u0058"+ - "\u0001\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0017\u004c\u0001\u00ac\u0014\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0024\u004c\u0001\u0086\u0007\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0024\u004c\u0001\u0074\u0007\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u0027\u004c\u0001\u0086"+ - "\u0003\u004c\u001c\u0000\u0001\u00ad\u0044\u0000\u0001\u00ae\u0001\u0058\u0002\u0000\u0001\u0058"+ - "\u0002\u0000\u001d\u0058\u0001\u0093\u000b\u0058\u0001\u0000\u0002\u0058\u0002\u0000\u0001\u0058"+ - "\u0002\u0000\u0024\u0058\u0001\u00af\u0004\u0058\u0001\u0000\u0001\u0058\u0001\u004c\u0002\u0000"+ - "\u0001\u004c\u0002\u0000\u0024\u004c\u0001\u00b0\u0006\u004c\u001c\u0000\u0001\u00b1\u0044\u0000"+ - "\u0001\u00b2\u0001\u004c\u0002\u0000\u0001\u004c\u0002\u0000\u001a\u004c\u0001\u00b3\u0010\u004c"+ - "\u001c\u0000\u0001\u00b4\u0044\u0000\u0001\u00b5\u0001\u004c\u0002\u0000\u0001\u004c\u0002\u0000"+ - "\u0019\u004c\u0001\u0086\u0011\u004c\u001c\u0000\u0001\u00b6\u0044\u0000\u0001\u00b7\u001c\u0000"+ - "\u0001\u00b8\u0044\u0000\u0001\u00b9\u001c\u0000\u0001\u00ba\u0044\u0000\u0001\u00bb\u001c\u0000"+ - "\u0001\u00bc\u0044\u0000\u0001\u00bd\u001c\u0000\u0001\u00be\u0044\u0000\u0001\u00bf\u001c\u0000"+ - "\u0001\u00c0\u0044\u0000\u0001\u00c1\u001c\u0000\u0001\u00c2\u0044\u0000\u0001\u00c3\u001c\u0000"+ - "\u0001\u00c4\u0044\u0000\u0001\u00c5\u001c\u0000\u0001\u00c6\u0044\u0000\u0001\u00c7\u001c\u0000"+ - "\u0001\u00c8\u0044\u0000\u0001\u00c8" + "\u0001\u0028\u0001\u002b\u0001\u0028\u0001\u0013\u0001\u002c\u0003\u0013\u0003\u0028\u0001\u0013"+ + "\u0001\u0028\u0001\u0013\u0011\u0028\u0001\u0013\u0001\u0021\u0001\u0013\u0001\u0010\u0002\u0014"+ + "\u0001\u0010\u0002\u0014\u0002\u0010\u0001\u0028\u0002\u0010\u0001\u002d\u0001\u0011\u0001\u002a"+ + "\u0001\u0028\u0001\u0010\u0001\u0028\u0005\u0010\u0003\u0028\u0001\u0010\u0001\u0028\u0001\u0010"+ + "\u0011\u0028\u000b\u0010\u0001\u002e\u0003\u0010\u0001\u0011\u0007\u0010\u0001\u002f\u0001\u0010"+ + "\u0002\u002e\u0004\u0010\u0011\u002e\u000f\u0010\u0001\u0011\u0008\u0010\u0001\u0030\u001a\u0010"+ + "\u0001\u0031\u0001\u0032\u0001\u0033\u0001\u0010\u0002\u0033\u0006\u0031\u0001\u0034\u0020\u0031"+ + "\u0001\u0020\u0001\u0021\u0002\u0031\u0001\u0032\u0001\u0033\u0001\u0010\u0002\u0033\u0006\u0031"+ + "\u0001\u0034\u0021\u0031\u0001\u0021\u0001\u0031\u0001\u0035\u0002\u0014\u0001\u0035\u0002\u0014"+ + "\u0001\u0036\u0001\u0035\u0001\u0037\u0001\u0038\u0002\u0035\u0001\u0039\u0002\u0035\u0001\u003a"+ + "\u0001\u0035\u0001\u003b\u0001\u0035\u0001\u003c\u0002\u0035\u0002\u0037\u0004\u0035\u0011\u0037"+ + "\u0001\u0035\u0001\u0021\u0001\u0035\u0001\u003d\u0001\u003e\u0001\u0014\u0001\u003d\u0002\u003e"+ + "\u0027\u003d\u0001\u003f\u0001\u0040\u0001\u003d\u0001\u0041\u0001\u0042\u0001\u0014\u0001\u0041"+ + "\u0002\u0042\u0001\u0043\u0027\u0041\u0001\u0044\u0001\u0041\u0001\u0045\u0001\u0046\u0001\u0014"+ + "\u0001\u0045\u0002\u0046\u0003\u0045\u0001\u0043\u0024\u0045\u0001\u0047\u0001\u0045\u003c\u0000"+ + "\u0001\u0048\u0002\u0000\u0001\u0049\u002c\u0000\u0001\u004a\u0002\u0000\u0001\u004b\u0021\u0000"+ + "\u0002\u0014\u0001\u0000\u0002\u0014\u0031\u0000\u0001\u004c\u0028\u0000\u0001\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0016\u004d\u0001\u004e\u0001\u004f\u0001\u0050\u0001\u004d\u0001\u0051"+ + "\u0001\u0052\u0001\u0053\u0003\u004d\u0001\u0054\u0001\u0055\u0001\u0056\u0007\u004d\u000a\u0000"+ + "\u0002\u0013\u000c\u0000\u0001\u0013\u0001\u0000\u0001\u0013\u0030\u0000\u0001\u0057\u0043\u0000"+ + "\u0001\u0058\u0001\u0000\u0001\u0023\u0002\u0000\u0001\u0023\u002c\u0000\u0002\u0024\u0001\u0000"+ + "\u0002\u0024\u002b\u0000\u0002\u0025\u0001\u0000\u0002\u0025\u002b\u0000\u0002\u0026\u0001\u0000"+ + "\u0002\u0026\u0031\u0000\u0001\u0059\u0030\u0000\u0001\u0028\u0005\u0000\u0001\u0028\u0001\u0000"+ + "\u0001\u0028\u0005\u0000\u0003\u0028\u0001\u0000\u0001\u0028\u0001\u0000\u0011\u0028\u000b\u0000"+ + "\u0001\u002e\u0005\u0000\u0001\u002e\u0001\u0000\u0002\u002e\u0004\u0000\u0002\u002e\u0004\u0000"+ + "\u0011\u002e\u0003\u0000\u0001\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0017\u005a\u0001\u005b"+ + "\u0004\u005a\u0001\u005c\u0003\u005a\u0001\u005d\u0001\u005a\u0001\u005e\u0005\u005a\u0001\u0000"+ + "\u0001\u005a\u0001\u0000\u0002\u0033\u0001\u0000\u0002\u0033\u0032\u0000\u0001\u0037\u0007\u0000"+ + "\u0001\u0037\u0005\u0000\u0002\u0037\u0004\u0000\u0011\u0037\u0012\u0000\u0001\u005f\u0020\u0000"+ + "\u0002\u003d\u0001\u0000\u002a\u003d\u0002\u0000\u0002\u003d\u0001\u003e\u0001\u0014\u0001\u003d"+ + "\u0002\u003e\u0027\u003d\u0002\u0000\u0001\u003d\u0002\u0041\u0001\u0000\u0003\u0041\u0001\u0000"+ + "\u002a\u0041\u0001\u0042\u0001\u0014\u0001\u0041\u0002\u0042\u0001\u0000\u0029\u0041\u0002\u0045"+ + "\u0001\u0000\u0006\u0045\u0001\u0000\u0027\u0045\u0001\u0046\u0001\u0014\u0001\u0045\u0002\u0046"+ + "\u0003\u0045\u0001\u0000\u0026\u0045\u000c\u0000\u0001\u0060\u0032\u0000\u0001\u0061\u0020\u0000"+ + "\u0001\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u002b\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0024\u004d\u0001\u0062\u0006\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001f\u004d\u0001\u0063"+ + "\u000b\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0019\u004d\u0001\u0064\u0005\u004d\u0001\u0065"+ + "\u000b\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001b\u004d\u0001\u0066\u000f\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u001d\u004d\u0001\u0067\u0001\u0068\u000c\u004d\u0002\u0000\u0001\u004d"+ + "\u0002\u0000\u001b\u004d\u0001\u0069\u000f\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0016\u004d"+ + "\u0001\u006a\u0014\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0019\u004d\u0001\u006b\u0011\u004d"+ + "\u0002\u0000\u0001\u004d\u0002\u0000\u0019\u004d\u0001\u006c\u000a\u004d\u0001\u006d\u0005\u004d"+ + "\u001b\u0000\u0001\u006e\u0043\u0000\u0001\u006f\u0001\u005a\u0002\u0000\u0001\u005a\u0002\u0000"+ + "\u0028\u005a\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u001f\u005a\u0001\u0070"+ + "\u0008\u005a\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u001b\u005a\u0001\u0071"+ + "\u000c\u005a\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0016\u005a\u0001\u0072"+ + "\u0011\u005a\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u001e\u005a\u0001\u0073"+ + "\u0009\u005a\u0001\u0000\u0001\u005a\u000f\u0000\u0001\u0074\u0020\u0000\u0001\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0023\u004d\u0001\u0075\u0007\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0018\u004d\u0001\u0076\u0012\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0020\u004d\u0001\u0077"+ + "\u000a\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0017\u004d\u0001\u0078\u0013\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0018\u004d\u0001\u0079\u0012\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0020\u004d\u0001\u007a\u000a\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0018\u004d\u0001\u007b"+ + "\u0012\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0023\u004d\u0001\u007c\u0007\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0021\u004d\u0001\u007d\u0009\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0023\u004d\u0001\u007e\u0007\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0021\u004d\u0001\u007f"+ + "\u0009\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001d\u004d\u0001\u0080\u000c\u004d\u001b\u0000"+ + "\u0001\u0081\u0043\u0000\u0001\u0082\u0001\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0018\u005a"+ + "\u0001\u0083\u000f\u005a\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0023\u005a"+ + "\u0001\u0084\u0004\u005a\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0021\u005a"+ + "\u0001\u0085\u0006\u005a\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u001b\u005a"+ + "\u0001\u0086\u000c\u005a\u0001\u0000\u0001\u005a\u0001\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u001a\u004d\u0001\u0087\u0010\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0019\u004d\u0001\u0088"+ + "\u0011\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0021\u004d\u0001\u0089\u0009\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0011\u004d\u0001\u008a\u0019\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0018\u004d\u0001\u008b\u0012\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001c\u004d\u0001\u008c"+ + "\u000e\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0019\u004d\u0001\u008d\u0011\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0019\u004d\u0001\u008e\u0011\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0016\u004d\u0001\u008f\u0014\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0024\u004d\u0001\u0090"+ + "\u0006\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001b\u004d\u0001\u0091\u000f\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u001d\u004d\u0001\u0092\u000c\u004d\u001b\u0000\u0001\u0093\u0043\u0000"+ + "\u0001\u0094\u0001\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0019\u005a\u0001\u0095\u000e\u005a"+ + "\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0019\u005a\u0001\u0096\u000e\u005a"+ + "\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0016\u005a\u0001\u0097\u0011\u005a"+ + "\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0020\u005a\u0001\u0098\u0007\u005a"+ + "\u0001\u0000\u0001\u005a\u0001\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001f\u004d\u0001\u0099"+ + "\u000b\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0019\u004d\u0001\u009a\u0011\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u001f\u004d\u0001\u009b\u000b\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0019\u004d\u0001\u009c\u0011\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0010\u004d\u0001\u009d"+ + "\u001a\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0025\u004d\u0001\u0088\u0005\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0021\u004d\u0001\u0091\u0009\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u001d\u004d\u0001\u009e\u000d\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0021\u004d\u0001\u009c"+ + "\u0009\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0016\u004d\u0001\u009f\u0014\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0016\u004d\u0001\u00a0\u0013\u004d\u001b\u0000\u0001\u00a1\u0043\u0000"+ + "\u0001\u00a2\u0001\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0021\u005a\u0001\u00a3\u0006\u005a"+ + "\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u001d\u005a\u0001\u00a4\u000a\u005a"+ + "\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0020\u005a\u0001\u00a5\u0007\u005a"+ + "\u0001\u0000\u0001\u005a\u0001\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0021\u004d\u0001\u0088"+ + "\u0009\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0017\u004d\u0001\u00a6\u0013\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u001f\u004d\u0001\u00a7\u000b\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u001e\u004d\u0001\u0088\u000c\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001f\u004d\u0001\u00a8"+ + "\u000b\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u001c\u004d\u0001\u0088\u000e\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0021\u004d\u0001\u00a9\u0008\u004d\u001b\u0000\u0001\u00aa\u0043\u0000"+ + "\u0001\u00ab\u0001\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0016\u005a\u0001\u00ac\u0011\u005a"+ + "\u0001\u0000\u0002\u005a\u0002\u0000\u0001\u005a\u0002\u0000\u0019\u005a\u0001\u00ad\u000e\u005a"+ + "\u0001\u0000\u0001\u005a\u0001\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0016\u004d\u0001\u00ae"+ + "\u0014\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0023\u004d\u0001\u0088\u0007\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0023\u004d\u0001\u0076\u0007\u004d\u0002\u0000\u0001\u004d\u0002\u0000"+ + "\u0026\u004d\u0001\u0088\u0003\u004d\u001b\u0000\u0001\u00af\u0043\u0000\u0001\u00b0\u0001\u005a"+ + "\u0002\u0000\u0001\u005a\u0002\u0000\u001c\u005a\u0001\u0095\u000b\u005a\u0001\u0000\u0002\u005a"+ + "\u0002\u0000\u0001\u005a\u0002\u0000\u0023\u005a\u0001\u00b1\u0004\u005a\u0001\u0000\u0001\u005a"+ + "\u0001\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0023\u004d\u0001\u00b2\u0006\u004d\u001b\u0000"+ + "\u0001\u00b3\u0043\u0000\u0001\u00b4\u0001\u004d\u0002\u0000\u0001\u004d\u0002\u0000\u0019\u004d"+ + "\u0001\u00b5\u0010\u004d\u001b\u0000\u0001\u00b6\u0043\u0000\u0001\u00b7\u0001\u004d\u0002\u0000"+ + "\u0001\u004d\u0002\u0000\u0018\u004d\u0001\u0088\u0011\u004d\u001b\u0000\u0001\u00b8\u0043\u0000"+ + "\u0001\u00b9\u001b\u0000\u0001\u00ba\u0043\u0000\u0001\u00bb\u001b\u0000\u0001\u00bc\u0043\u0000"+ + "\u0001\u00bd\u001b\u0000\u0001\u00be\u0043\u0000\u0001\u00bf\u001b\u0000\u0001\u00c0\u0043\u0000"+ + "\u0001\u00c1\u001b\u0000\u0001\u00c2\u0043\u0000\u0001\u00c3\u001b\u0000\u0001\u00c4\u0043\u0000"+ + "\u0001\u00c5\u001b\u0000\u0001\u00c6\u0043\u0000\u0001\u00c7\u001b\u0000\u0001\u00c8\u0043\u0000"+ + "\u0001\u00c9\u001b\u0000\u0001\u00ca\u0043\u0000\u0001\u00ca" @JvmStatic private fun zzUnpacktrans(): IntArray { - val result: IntArray = IntArray(7693) + val result: IntArray = IntArray(7632) var offset: Int = 0 offset = zzUnpacktrans(ZZ_TRANS_PACKED_0, offset, result) return result @@ -567,16 +581,16 @@ companion object { * ZZ_ATTRIBUTE[aState] contains the attributes of state {@code aState} */ private const val ZZ_ATTRIBUTE_PACKED_0: String = - "\u000f\u0000\u0001\u0009\u0002\u0001\u0001\u0009\u0001\u0001\u0003\u0009\u0001\u0001\u0002\u0009"+ - "\u0001\u0001\u0001\u0009\u0001\u0001\u0001\u0009\u0001\u0001\u0002\u0009\u0005\u0001\u0001\u0009"+ - "\u0001\u0001\u0005\u0009\u0001\u0001\u0001\u0009\u0001\u0001\u0001\u0009\u0003\u0001\u0002\u0009"+ - "\u0001\u0001\u0001\u0009\u0002\u0001\u0002\u0009\u0002\u0001\u0002\u0009\u0002\u0001\u0001\u0009"+ - "\u0004\u0001\u0001\u0000\u0001\u0009\u0002\u0000\u000a\u0001\u0002\u0000\u0005\u0001\u0001\u0000"+ + "\u000f\u0000\u0001\u0009\u0002\u0001\u0001\u0009\u0002\u0001\u0002\u0009\u0001\u0001\u0002\u0009"+ + "\u0001\u0001\u0001\u0009\u0001\u0001\u0001\u0009\u0001\u0001\u0002\u0009\u0007\u0001\u0005\u0009"+ + "\u0001\u0001\u0001\u0009\u0001\u0001\u0001\u0009\u0003\u0001\u0002\u0009\u0001\u0001\u0001\u0009"+ + "\u0002\u0001\u0002\u0009\u0002\u0001\u0002\u0009\u0002\u0001\u0001\u0009\u0004\u0001\u0001\u0000"+ + "\u0001\u0009\u0002\u0000\u0001\u0009\u000a\u0001\u0002\u0000\u0001\u0009\u0005\u0001\u0001\u0000"+ "\u0002\u0009\u0012\u0001\u0001\u0009\u0055\u0001\u0001\u0009" @JvmStatic private fun zzUnpackAttribute(): IntArray { - val result: IntArray = IntArray(200) + val result: IntArray = IntArray(202) var offset: Int = 0 offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result) return result @@ -974,23 +988,23 @@ companion object { 1 -> { return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER; } - 46 -> { /* do nothing */ } + 48 -> { /* do nothing */ } 2 -> { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 47 -> { /* do nothing */ } + 49 -> { /* do nothing */ } 3 -> { return JavaDocSyntaxTokenType.DOC_SPACE; } - 48 -> { /* do nothing */ } + 50 -> { /* do nothing */ } 4 -> { yybegin(COMMENT_DATA); - if(myMarkdownMode) { - return JavaDocSyntaxTokenType.DOC_SHARP; - } - return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; + if(myMarkdownMode) { + return JavaDocSyntaxTokenType.DOC_SHARP; + } + return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 49 -> { /* do nothing */ } + 51 -> { /* do nothing */ } 5 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { @@ -998,7 +1012,7 @@ companion object { } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 50 -> { /* do nothing */ } + 52 -> { /* do nothing */ } 6 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { @@ -1006,7 +1020,7 @@ companion object { } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 51 -> { /* do nothing */ } + 53 -> { /* do nothing */ } 7 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { @@ -1014,7 +1028,7 @@ companion object { } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 52 -> { /* do nothing */ } + 54 -> { /* do nothing */ } 8 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { @@ -1022,7 +1036,7 @@ companion object { } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 53 -> { /* do nothing */ } + 55 -> { /* do nothing */ } 9 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { @@ -1030,7 +1044,7 @@ companion object { } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 54 -> { /* do nothing */ } + 56 -> { /* do nothing */ } 10 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { @@ -1038,7 +1052,7 @@ companion object { } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 55 -> { /* do nothing */ } + 57 -> { /* do nothing */ } 11 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { @@ -1046,7 +1060,7 @@ companion object { } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 56 -> { /* do nothing */ } + 58 -> { /* do nothing */ } 12 -> { if (checkAhead('@')) { yybegin(INLINE_TAG_NAME); @@ -1057,50 +1071,50 @@ companion object { return JavaDocSyntaxTokenType.DOC_INLINE_TAG_START; } } - 57 -> { /* do nothing */ } + 59 -> { /* do nothing */ } 13 -> { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_INLINE_TAG_END; } - 58 -> { /* do nothing */ } + 60 -> { /* do nothing */ } 14 -> { return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 59 -> { /* do nothing */ } + 61 -> { /* do nothing */ } 15 -> { 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 JavaDocSyntaxTokenType.DOC_SPACE; } - 60 -> { /* do nothing */ } + 62 -> { /* do nothing */ } 16 -> { yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_SPACE; } - 61 -> { /* do nothing */ } + 63 -> { /* do nothing */ } 17 -> { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_SPACE; } - 62 -> { /* do nothing */ } + 64 -> { /* do nothing */ } 18 -> { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN; } - 63 -> { /* do nothing */ } + 65 -> { /* do nothing */ } 19 -> { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; } - 64 -> { /* do nothing */ } + 66 -> { /* do nothing */ } 20 -> { yybegin(DOC_TAG_VALUE_IN_PAREN); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN; } - 65 -> { /* do nothing */ } + 67 -> { /* do nothing */ } 21 -> { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA; } - 66 -> { /* do nothing */ } + 68 -> { /* do nothing */ } 22 -> { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_SLASH; } - 67 -> { /* do nothing */ } + 69 -> { /* do nothing */ } 23 -> { if (myJdk15Enabled) { yybegin(DOC_TAG_VALUE_IN_LTGT); @@ -1111,50 +1125,50 @@ companion object { return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } } - 68 -> { /* do nothing */ } + 70 -> { /* do nothing */ } 24 -> { yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN; } - 69 -> { /* do nothing */ } + 71 -> { /* do nothing */ } 25 -> { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_GT; } - 70 -> { /* do nothing */ } + 72 -> { /* do nothing */ } 26 -> { yybegin(CODE_TAG); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 71 -> { /* do nothing */ } + 73 -> { /* do nothing */ } 27 -> { yybegin(CODE_TAG); return JavaDocSyntaxTokenType.DOC_SPACE; } - 72 -> { /* do nothing */ } + 74 -> { /* do nothing */ } 28 -> { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 73 -> { /* do nothing */ } + 75 -> { /* do nothing */ } 29 -> { yybegin(SNIPPET_ATTRIBUTE_VALUE_DOUBLE_QUOTES); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE; } - 74 -> { /* do nothing */ } + 76 -> { /* do nothing */ } 30 -> { yybegin(SNIPPET_ATTRIBUTE_VALUE_SINGLE_QUOTES); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE; } - 75 -> { /* do nothing */ } + 77 -> { /* do nothing */ } 31 -> { if (myMarkdownMode) { return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS; } - 76 -> { /* do nothing */ } + 78 -> { /* do nothing */ } 32 -> { yybegin(SNIPPET_TAG_BODY_DATA); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COLON; } - 77 -> { /* do nothing */ } + 79 -> { /* do nothing */ } 33 -> { mySnippetBracesLevel++; return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 78 -> { /* do nothing */ } + 80 -> { /* do nothing */ } 34 -> { if (mySnippetBracesLevel > 0) { mySnippetBracesLevel--; @@ -1164,69 +1178,81 @@ companion object { return JavaDocSyntaxTokenType.DOC_INLINE_TAG_END; } } - 79 -> { /* do nothing */ } + 81 -> { /* do nothing */ } 35 -> { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE; } - 80 -> { /* do nothing */ } + 82 -> { /* do nothing */ } 36 -> { if(myMarkdownMode) { return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } return JavaDocSyntaxTokenType.DOC_COMMENT_END; } - 81 -> { /* do nothing */ } + 83 -> { /* do nothing */ } 37 -> { + yybegin(COMMENT_DATA); + if(myMarkdownMode) { + return JavaDocSyntaxTokenType.DOC_DOUBLE_SHARP; + } + return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; + } + 84 -> { /* do nothing */ } + 38 -> { yybegin(TAG_DOC_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } - 82 -> { /* do nothing */ } - 38 -> { + 85 -> { /* do nothing */ } + 39 -> { + return JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN; + } + 86 -> { /* do nothing */ } + 40 -> { if (myMarkdownMode) { return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER; } yybegin(COMMENT_DATA_START); return JavaDocSyntaxTokenType.DOC_COMMENT_START; } - 83 -> { /* do nothing */ } - 39 -> { + 87 -> { /* do nothing */ } + 41 -> { if(myMarkdownMode) { yybegin(COMMENT_DATA_START); return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS; } return JavaDocSyntaxTokenType.DOC_COMMENT_BAD_CHARACTER; } - 84 -> { /* do nothing */ } - 40 -> { + 88 -> { /* do nothing */ } + 42 -> { yybegin(COMMENT_DATA); if(myMarkdownMode) { return JavaDocSyntaxTokenType.DOC_CODE_FENCE; } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 85 -> { /* do nothing */ } - 41 -> { + 89 -> { /* do nothing */ } + 43 -> { if (myMarkdownMode) { return JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS; } return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } - 86 -> { /* do nothing */ } - 42 -> { + 90 -> { /* do nothing */ } + 44 -> { yybegin(DOC_TAG_VALUE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } - 87 -> { /* do nothing */ } - 43 -> { + 91 -> { /* do nothing */ } + 45 -> { yybegin(CODE_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } - 88 -> { /* do nothing */ } - 44 -> { + 92 -> { /* do nothing */ } + 46 -> { yybegin(PARAM_TAG_SPACE); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } - 89 -> { /* do nothing */ } - 45 -> { + 93 -> { /* do nothing */ } + 47 -> { yybegin(SNIPPET_TAG_COMMENT_DATA_UNTIL_COLON); return JavaDocSyntaxTokenType.DOC_TAG_NAME; } - 90 -> { /* do nothing */ } + 94 -> { /* do nothing */ } else -> zzScanError(ZZ_NO_MATCH) } diff --git a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxElementType.kt b/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxElementType.kt index 38a6c5712689..03ab21f477e3 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxElementType.kt +++ b/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxElementType.kt @@ -14,6 +14,8 @@ object JavaDocSyntaxElementType { @JvmField val DOC_TAG: SyntaxElementType = SyntaxElementType("DOC_TAG") @JvmField val DOC_INLINE_TAG: SyntaxElementType = SyntaxElementType("DOC_INLINE_TAG") @JvmField val DOC_METHOD_OR_FIELD_REF: SyntaxElementType = SyntaxElementType("DOC_METHOD_OR_FIELD_REF") + @JvmField val DOC_FRAGMENT_REF: SyntaxElementType = SyntaxElementType("DOC_FRAGMENT_REF") + @JvmField val DOC_FRAGMENT_NAME: SyntaxElementType = SyntaxElementType("DOC_FRAGMENT_NAME") @JvmField val DOC_PARAMETER_REF: SyntaxElementType = SyntaxElementType("DOC_PARAMETER_REF") @JvmField val DOC_TAG_VALUE_ELEMENT: SyntaxElementType = SyntaxElementType("DOC_TAG_VALUE_ELEMENT") @JvmField val DOC_SNIPPET_TAG: SyntaxElementType = SyntaxElementType("DOC_SNIPPET_TAG") diff --git a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenType.kt b/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenType.kt index f547743b34fe..31532e5350dd 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenType.kt +++ b/java/java-syntax/src/com/intellij/java/syntax/element/JavaDocSyntaxTokenType.kt @@ -30,6 +30,7 @@ object JavaDocSyntaxTokenType { @JvmField val DOC_TAG_VALUE_GT: SyntaxElementType = SyntaxElementType("DOC_TAG_VALUE_GT") @JvmField val DOC_TAG_VALUE_SLASH: SyntaxElementType = SyntaxElementType("DOC_TAG_VALUE_SLASH") @JvmField val DOC_TAG_VALUE_SHARP_TOKEN: SyntaxElementType = SyntaxElementType("DOC_TAG_VALUE_SHARP_TOKEN") + @JvmField val DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN: SyntaxElementType = SyntaxElementType("DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN") // Additional tokens for java 23 markdown @JvmField val DOC_CODE_FENCE: SyntaxElementType = SyntaxElementType("DOC_CODE_FENCE") @@ -38,6 +39,7 @@ object JavaDocSyntaxTokenType { @JvmField val DOC_LPAREN: SyntaxElementType = SyntaxElementType("DOC_LPAREN") @JvmField val DOC_RPAREN: SyntaxElementType = SyntaxElementType("DOC_RPAREN") @JvmField val DOC_SHARP: SyntaxElementType = SyntaxElementType("DOC_SHARP") + @JvmField val DOC_DOUBLE_SHARP: SyntaxElementType = SyntaxElementType("DOC_DOUBLE_SHARP") @JvmField val DOC_INLINE_CODE_FENCE: SyntaxElementType = SyntaxElementType("DOC_INLINE_CODE_FENCE") @JvmField val DOC_COMMA: SyntaxElementType = SyntaxElementType("DOC_COMMA") 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 7f616e180df4..059567e2b2a9 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 @@ -13,8 +13,8 @@ object JavaDocSyntaxTokenTypes { val allJavaDocTypes: SyntaxElementTypeSet = syntaxElementTypeSetOf( JavaDocSyntaxTokenType.DOC_COMMENT_START, JavaDocSyntaxTokenType.DOC_COMMENT_END, JavaDocSyntaxTokenType.DOC_COMMENT_DATA, JavaDocSyntaxTokenType.DOC_SPACE, JavaDocSyntaxTokenType.DOC_COMMENT_LEADING_ASTERISKS, JavaDocSyntaxTokenType.DOC_TAG_NAME, JavaDocSyntaxTokenType.DOC_INLINE_TAG_START, JavaDocSyntaxTokenType.DOC_INLINE_TAG_END, JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOT, JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA, - JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SLASH, JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE, JavaDocSyntaxTokenType.DOC_TAG_VALUE_COLON, + JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SLASH, JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE, JavaDocSyntaxTokenType.DOC_TAG_VALUE_COLON, JavaDocSyntaxTokenType.DOC_TAG_ATTRIBUTE_NAME, JavaDocSyntaxTokenType.DOC_TAG_ATTRIBUTE_VALUE, JavaDocSyntaxTokenType.DOC_CODE_FENCE, JavaDocSyntaxTokenType.DOC_RBRACKET, JavaDocSyntaxTokenType.DOC_LBRACKET, JavaDocSyntaxTokenType.DOC_LPAREN, JavaDocSyntaxTokenType.DOC_RPAREN, - JavaDocSyntaxTokenType.DOC_SHARP, JavaDocSyntaxTokenType.DOC_INLINE_CODE_FENCE, JavaDocSyntaxTokenType.DOC_COMMA + JavaDocSyntaxTokenType.DOC_SHARP, JavaDocSyntaxTokenType.DOC_DOUBLE_SHARP, JavaDocSyntaxTokenType.DOC_INLINE_CODE_FENCE, JavaDocSyntaxTokenType.DOC_COMMA ) } 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 e8fe0c206b6c..bdbb8a11a879 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 @@ -98,10 +98,11 @@ LEADING_TOKEN_MARKDOWN="///" [\n\r]+{WHITE_DOC_SPACE_CHAR}* { return JavaDocSyntaxTokenType.DOC_SPACE; } {WHITE_DOC_SPACE_CHAR}+ { yybegin(COMMENT_DATA); return JavaDocSyntaxTokenType.DOC_SPACE; } - ({ALPHA}|[_0-9\."$"\[\]])+ { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN; } + ({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_SLASH; } + "##" { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN; } [#] { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN; } [,] { return JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA; } {WHITE_DOC_SPACE_CHAR}+ { return JavaDocSyntaxTokenType.DOC_SPACE; } @@ -154,11 +155,19 @@ LEADING_TOKEN_MARKDOWN="///" } "#" { - yybegin(COMMENT_DATA); - if(myMarkdownMode) { - return JavaDocSyntaxTokenType.DOC_SHARP; - } - return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; + yybegin(COMMENT_DATA); + if(myMarkdownMode) { + return JavaDocSyntaxTokenType.DOC_SHARP; + } + return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; + } + + "##" { + yybegin(COMMENT_DATA); + if(myMarkdownMode) { + return JavaDocSyntaxTokenType.DOC_DOUBLE_SHARP; + } + return JavaDocSyntaxTokenType.DOC_COMMENT_DATA; } [/] { diff --git a/java/java-syntax/src/com/intellij/java/syntax/parser/JavaDocParser.kt b/java/java-syntax/src/com/intellij/java/syntax/parser/JavaDocParser.kt index b6a379dc632d..989a04ea30ab 100644 --- a/java/java-syntax/src/com/intellij/java/syntax/parser/JavaDocParser.kt +++ b/java/java-syntax/src/com/intellij/java/syntax/parser/JavaDocParser.kt @@ -319,6 +319,7 @@ class JavaDocParser( val moduleMarker = parseModuleRef(builder.mark()) var referenceParsed = false var referenceEnded = false + var fragmentReference = false if (getTokenType() === JavaDocSyntaxTokenType.DOC_RBRACKET) { if (moduleMarker == null) { @@ -329,7 +330,7 @@ class JavaDocParser( } } - if (!referenceEnded && getTokenType() !== JavaDocSyntaxTokenType.DOC_SHARP) { + if (!referenceEnded && getTokenType() !== JavaDocSyntaxTokenType.DOC_SHARP && getTokenType() !== JavaDocSyntaxTokenType.DOC_DOUBLE_SHARP) { builder.remapCurrentToken(JavaDocSyntaxElementType.DOC_REFERENCE_HOLDER) builder.advanceLexer() } @@ -370,10 +371,31 @@ class JavaDocParser( referenceParsed = true } + else if (!referenceEnded && getTokenType() === JavaDocSyntaxTokenType.DOC_DOUBLE_SHARP) { + // auto-completion token + builder.remapCurrentToken(JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN) + builder.advanceLexer() + + // fragment name + val nameMarker = builder.mark() + + if (getTokenType() !== JavaDocSyntaxTokenType.DOC_COMMENT_DATA) { + nameMarker.rollbackTo() + } + else { + builder.advanceLexer() + nameMarker.done(JavaDocSyntaxElementType.DOC_FRAGMENT_NAME) + referenceParsed = true + fragmentReference = true + } + } if (referenceParsed || moduleMarker != null) { moduleMarker?.done(JavaDocSyntaxElementType.DOC_TAG_VALUE_ELEMENT) - refStart.done(JavaDocSyntaxElementType.DOC_METHOD_OR_FIELD_REF) + when (fragmentReference) { + true -> refStart.done(JavaDocSyntaxElementType.DOC_FRAGMENT_REF) + false -> refStart.done(JavaDocSyntaxElementType.DOC_METHOD_OR_FIELD_REF) + } } else { refStart.drop() } @@ -525,6 +547,9 @@ class JavaDocParser( if (tokenType === JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN) { parseMethodRef(builder.mark()) } + else if (tokenType === JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN) { + parseFragmentRef(builder.mark()) + } else if (tokenType === JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN) { val refStart = builder.mark() builder.remapCurrentToken(JavaDocSyntaxElementType.DOC_REFERENCE_HOLDER) @@ -533,6 +558,9 @@ class JavaDocParser( if (getTokenType() === JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN) { parseMethodRef(refStart) } + else if (getTokenType() === JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN) { + parseFragmentRef(refStart) + } else if (allowBareFieldReference) { refStart.rollbackTo() builder.remapCurrentToken(JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN) @@ -569,6 +597,19 @@ class JavaDocParser( } } + private fun parseFragmentRef(mark: SyntaxTreeBuilder.Marker) { + builder.advanceLexer() + val fragmentName = builder.mark() + if (getTokenType() !== JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN) { + fragmentName.drop() + mark.done(JavaDocSyntaxElementType.DOC_FRAGMENT_REF) + } else { + builder.advanceLexer() + fragmentName.done(JavaDocSyntaxElementType.DOC_FRAGMENT_NAME) + mark.done(JavaDocSyntaxElementType.DOC_FRAGMENT_REF) + } + } + private fun parseMethodRef( refStart: SyntaxTreeBuilder.Marker, ) { @@ -667,7 +708,7 @@ class JavaDocParser( private val TAG_VALUES_SET: SyntaxElementTypeSet = syntaxElementTypeSetOf( JavaDocSyntaxTokenType.DOC_TAG_VALUE_TOKEN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_COMMA, JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOT, JavaDocSyntaxTokenType.DOC_TAG_VALUE_LPAREN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_RPAREN, - JavaDocSyntaxTokenType.DOC_TAG_VALUE_SLASH, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN, + JavaDocSyntaxTokenType.DOC_TAG_VALUE_SLASH, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SHARP_TOKEN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN, JavaDocSyntaxTokenType.DOC_TAG_VALUE_LT, JavaDocSyntaxTokenType.DOC_TAG_VALUE_GT, JavaDocSyntaxTokenType.DOC_TAG_VALUE_COLON, JavaDocSyntaxTokenType.DOC_TAG_VALUE_QUOTE ) @@ -680,7 +721,8 @@ private val SKIP_TOKENS: SyntaxElementTypeSet = syntaxElementTypeSetOf(JavaDocSy private val COMMENT_DATA_TOKENS: SyntaxElementTypeSet = syntaxElementTypeSetOf( JavaDocSyntaxTokenType.DOC_COMMENT_DATA, JavaDocSyntaxTokenType.DOC_TAG_VALUE_SLASH, - JavaDocSyntaxTokenType.DOC_COMMA, JavaDocSyntaxTokenType.DOC_SHARP, + JavaDocSyntaxTokenType.DOC_COMMA, + JavaDocSyntaxTokenType.DOC_SHARP, JavaDocSyntaxTokenType.DOC_DOUBLE_SHARP, ) private const val SEE_TAG = "@see" diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.java b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.java new file mode 100644 index 000000000000..24dea2e27f78 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.java @@ -0,0 +1,6 @@ +import java.lang.String; + +/** + * {@link ##fragment-name text for the link} + */ +public class C {} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.txt new file mode 100644 index 000000000000..6eb8252a8c0d --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10.txt @@ -0,0 +1,56 @@ +PsiJavaFile:LinkTag10.java + PsiImportList + PsiImportStatement + PsiKeyword:import('import') + PsiWhiteSpace(' ') + PsiJavaCodeReferenceElement:java.lang.String + PsiJavaCodeReferenceElement:java.lang + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:lang('lang') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:String('String') + PsiReferenceParameterList + + PsiJavaToken:SEMICOLON(';') + PsiWhiteSpace('\n\n') + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_START('/**') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*') + PsiDocToken:DOC_COMMENT_DATA(' ') + PsiInlineDocTag:@link + PsiDocToken:DOC_INLINE_TAG_START('{') + PsiDocToken:DOC_TAG_NAME('@link') + PsiWhiteSpace(' ') + PsiElement(DOC_FRAGMENT_REF) + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragment-name') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('text for the link') + PsiDocToken:DOC_INLINE_TAG_END('}') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_END('*/') + PsiWhiteSpace('\n') + PsiModifierList:public + PsiKeyword:public('public') + PsiWhiteSpace(' ') + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiWhiteSpace(' ') + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.java new file mode 100644 index 000000000000..27b1bee9b4fa --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.java @@ -0,0 +1,4 @@ +import java.lang.String; + +/// [text for the link][##fragment-name] +public class C {} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.txt new file mode 100644 index 000000000000..a46d3430897a --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown.txt @@ -0,0 +1,52 @@ +PsiJavaFile:LinkTag10Markdown.java + PsiImportList + PsiImportStatement + PsiKeyword:import('import') + PsiWhiteSpace(' ') + PsiJavaCodeReferenceElement:java.lang.String + PsiJavaCodeReferenceElement:java.lang + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:lang('lang') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:String('String') + PsiReferenceParameterList + + PsiJavaToken:SEMICOLON(';') + PsiWhiteSpace('\n\n') + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('///') + PsiWhiteSpace(' ') + PsiReferenceLink: + PsiDocToken:DOC_LBRACKET('[') + PsiReferenceLabel: + PsiDocToken:DOC_COMMENT_DATA('text for the link') + PsiDocToken:DOC_RBRACKET(']') + PsiDocToken:DOC_LBRACKET('[') + PsiElement(DOC_FRAGMENT_REF) + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_COMMENT_DATA('fragment-name') + PsiDocToken:DOC_RBRACKET(']') + PsiWhiteSpace('\n') + PsiModifierList:public + PsiKeyword:public('public') + PsiWhiteSpace(' ') + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiWhiteSpace(' ') + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown_node.txt new file mode 100644 index 000000000000..9127102f17cb --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10Markdown_node.txt @@ -0,0 +1,52 @@ +java.FILE + IMPORT_LIST + IMPORT_STATEMENT + IMPORT_KEYWORD + WHITE_SPACE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + SEMICOLON + WHITE_SPACE + CLASS + DOC_COMMENT + DOC_COMMENT_LEADING_ASTERISKS + WHITE_SPACE + DOC_REFERENCE_LINK + DOC_LBRACKET + DOC_REFERENCE_LABEL + DOC_COMMENT_DATA + DOC_RBRACKET + DOC_LBRACKET + DOC_FRAGMENT_REF + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_COMMENT_DATA + DOC_RBRACKET + WHITE_SPACE + MODIFIER_LIST + PUBLIC_KEYWORD + WHITE_SPACE + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + WHITE_SPACE + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10_node.txt new file mode 100644 index 000000000000..782140275842 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag10_node.txt @@ -0,0 +1,56 @@ +java.FILE + IMPORT_LIST + IMPORT_STATEMENT + IMPORT_KEYWORD + WHITE_SPACE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + SEMICOLON + WHITE_SPACE + CLASS + DOC_COMMENT + DOC_COMMENT_START + WHITE_SPACE + DOC_COMMENT_LEADING_ASTERISKS + DOC_COMMENT_DATA + DOC_INLINE_TAG + DOC_INLINE_TAG_START + DOC_TAG_NAME + WHITE_SPACE + DOC_FRAGMENT_REF + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + DOC_INLINE_TAG_END + WHITE_SPACE + DOC_COMMENT_END + WHITE_SPACE + MODIFIER_LIST + PUBLIC_KEYWORD + WHITE_SPACE + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + WHITE_SPACE + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.java b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.java new file mode 100644 index 000000000000..d0c5f1a484c8 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.java @@ -0,0 +1,6 @@ +import java.lang.String; + +/** + * {@link java.base/java.lang.String##fragment-name text for the link} + */ +public class C {} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.txt new file mode 100644 index 000000000000..8e43dc9b3451 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9.txt @@ -0,0 +1,75 @@ +PsiJavaFile:LinkTag9.java + PsiImportList + PsiImportStatement + PsiKeyword:import('import') + PsiWhiteSpace(' ') + PsiJavaCodeReferenceElement:java.lang.String + PsiJavaCodeReferenceElement:java.lang + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:lang('lang') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:String('String') + PsiReferenceParameterList + + PsiJavaToken:SEMICOLON(';') + PsiWhiteSpace('\n\n') + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_START('/**') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*') + PsiDocToken:DOC_COMMENT_DATA(' ') + PsiInlineDocTag:@link + PsiDocToken:DOC_INLINE_TAG_START('{') + PsiDocToken:DOC_TAG_NAME('@link') + PsiWhiteSpace(' ') + PsiElement(DOC_TAG_VALUE_ELEMENT) + PsiJavaModuleReference + PsiDocToken:DOC_TAG_VALUE_TOKEN('java.base') + PsiDocToken:DOC_TAG_VALUE_SLASH('/') + PsiElement(DOC_FRAGMENT_REF) + PsiElement(DOC_REFERENCE_HOLDER) + PsiJavaCodeReferenceElement:java.lang.String + PsiJavaCodeReferenceElement:java.lang + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:lang('lang') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:String('String') + PsiReferenceParameterList + + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragment-name') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('text for the link') + PsiDocToken:DOC_INLINE_TAG_END('}') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_END('*/') + PsiWhiteSpace('\n') + PsiModifierList:public + PsiKeyword:public('public') + PsiWhiteSpace(' ') + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiWhiteSpace(' ') + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.java new file mode 100644 index 000000000000..7bb27c6df45b --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.java @@ -0,0 +1,4 @@ +import java.lang.String; + +/// [text for the link][java.base/java.lang.String##fragment-name] +public class C {} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.txt new file mode 100644 index 000000000000..8b751b7dcbf9 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown.txt @@ -0,0 +1,71 @@ +PsiJavaFile:LinkTag9Markdown.java + PsiImportList + PsiImportStatement + PsiKeyword:import('import') + PsiWhiteSpace(' ') + PsiJavaCodeReferenceElement:java.lang.String + PsiJavaCodeReferenceElement:java.lang + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:lang('lang') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:String('String') + PsiReferenceParameterList + + PsiJavaToken:SEMICOLON(';') + PsiWhiteSpace('\n\n') + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('///') + PsiWhiteSpace(' ') + PsiReferenceLink: + PsiDocToken:DOC_LBRACKET('[') + PsiReferenceLabel: + PsiDocToken:DOC_COMMENT_DATA('text for the link') + PsiDocToken:DOC_RBRACKET(']') + PsiDocToken:DOC_LBRACKET('[') + PsiElement(DOC_FRAGMENT_REF) + PsiElement(DOC_TAG_VALUE_ELEMENT) + PsiJavaModuleReference + PsiDocToken:DOC_COMMENT_DATA('java.base') + PsiDocToken:DOC_TAG_VALUE_SLASH('/') + PsiElement(DOC_REFERENCE_HOLDER) + PsiJavaCodeReferenceElement:java.lang.String + PsiJavaCodeReferenceElement:java.lang + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:lang('lang') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:String('String') + PsiReferenceParameterList + + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_COMMENT_DATA('fragment-name') + PsiDocToken:DOC_RBRACKET(']') + PsiWhiteSpace('\n') + PsiModifierList:public + PsiKeyword:public('public') + PsiWhiteSpace(' ') + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiWhiteSpace(' ') + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown_node.txt new file mode 100644 index 000000000000..d23ce397d6d8 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9Markdown_node.txt @@ -0,0 +1,71 @@ +java.FILE + IMPORT_LIST + IMPORT_STATEMENT + IMPORT_KEYWORD + WHITE_SPACE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + SEMICOLON + WHITE_SPACE + CLASS + DOC_COMMENT + DOC_COMMENT_LEADING_ASTERISKS + WHITE_SPACE + DOC_REFERENCE_LINK + DOC_LBRACKET + DOC_REFERENCE_LABEL + DOC_COMMENT_DATA + DOC_RBRACKET + DOC_LBRACKET + DOC_FRAGMENT_REF + DOC_TAG_VALUE_ELEMENT + MODULE_REFERENCE + DOC_COMMENT_DATA + DOC_TAG_VALUE_SLASH + DOC_REFERENCE_HOLDER + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_COMMENT_DATA + DOC_RBRACKET + WHITE_SPACE + MODIFIER_LIST + PUBLIC_KEYWORD + WHITE_SPACE + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + WHITE_SPACE + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9_node.txt new file mode 100644 index 000000000000..9c5a6aba2084 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/LinkTag9_node.txt @@ -0,0 +1,75 @@ +java.FILE + IMPORT_LIST + IMPORT_STATEMENT + IMPORT_KEYWORD + WHITE_SPACE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + SEMICOLON + WHITE_SPACE + CLASS + DOC_COMMENT + DOC_COMMENT_START + WHITE_SPACE + DOC_COMMENT_LEADING_ASTERISKS + DOC_COMMENT_DATA + DOC_INLINE_TAG + DOC_INLINE_TAG_START + DOC_TAG_NAME + WHITE_SPACE + DOC_TAG_VALUE_ELEMENT + MODULE_REFERENCE + DOC_TAG_VALUE_TOKEN + DOC_TAG_VALUE_SLASH + DOC_FRAGMENT_REF + DOC_REFERENCE_HOLDER + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + DOC_INLINE_TAG_END + WHITE_SPACE + DOC_COMMENT_END + WHITE_SPACE + MODIFIER_LIST + PUBLIC_KEYWORD + WHITE_SPACE + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + WHITE_SPACE + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.java b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.java new file mode 100644 index 000000000000..a2ab448936c5 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.java @@ -0,0 +1,4 @@ +/** + * @see C##fragmentName label + */ +class C{} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.txt new file mode 100644 index 000000000000..721da1facb7b --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19.txt @@ -0,0 +1,39 @@ +PsiJavaFile:SeeTag19.java + PsiImportList + + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_START('/**') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*') + PsiDocToken:DOC_COMMENT_DATA(' ') + PsiDocTag:@see + PsiDocToken:DOC_TAG_NAME('@see') + PsiWhiteSpace(' ') + PsiElement(DOC_FRAGMENT_REF) + PsiElement(DOC_REFERENCE_HOLDER) + PsiJavaCodeReferenceElement:C + PsiIdentifier:C('C') + PsiReferenceParameterList + + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragmentName') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('label') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_END('*/') + PsiWhiteSpace('\n') + PsiModifierList: + + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.java new file mode 100644 index 000000000000..630011cadc98 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.java @@ -0,0 +1,2 @@ +/// @see C##fragmentName label +class C{} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.txt new file mode 100644 index 000000000000..6bdbb8523fbe --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown.txt @@ -0,0 +1,35 @@ +PsiJavaFile:SeeTag19Markdown.java + PsiImportList + + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('///') + PsiWhiteSpace(' ') + PsiDocTag:@see + PsiDocToken:DOC_TAG_NAME('@see') + PsiWhiteSpace(' ') + PsiElement(DOC_FRAGMENT_REF) + PsiElement(DOC_REFERENCE_HOLDER) + PsiJavaCodeReferenceElement:C + PsiIdentifier:C('C') + PsiReferenceParameterList + + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragmentName') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('label') + PsiWhiteSpace('\n') + PsiModifierList: + + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown_node.txt new file mode 100644 index 000000000000..982813c8cdea --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19Markdown_node.txt @@ -0,0 +1,35 @@ +java.FILE + IMPORT_LIST + + CLASS + DOC_COMMENT + DOC_COMMENT_LEADING_ASTERISKS + WHITE_SPACE + DOC_TAG + DOC_TAG_NAME + WHITE_SPACE + DOC_FRAGMENT_REF + DOC_REFERENCE_HOLDER + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + WHITE_SPACE + MODIFIER_LIST + + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19_node.txt new file mode 100644 index 000000000000..d6a9fdf0be9e --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag19_node.txt @@ -0,0 +1,39 @@ +java.FILE + IMPORT_LIST + + CLASS + DOC_COMMENT + DOC_COMMENT_START + WHITE_SPACE + DOC_COMMENT_LEADING_ASTERISKS + DOC_COMMENT_DATA + DOC_TAG + DOC_TAG_NAME + WHITE_SPACE + DOC_FRAGMENT_REF + DOC_REFERENCE_HOLDER + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + WHITE_SPACE + DOC_COMMENT_END + WHITE_SPACE + MODIFIER_LIST + + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.java b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.java new file mode 100644 index 000000000000..4614bde41fcb --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.java @@ -0,0 +1,4 @@ +/** + * @see java.base/java.util.ArrayList##fragmentName label + */ +class C{} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.txt new file mode 100644 index 000000000000..95581bba3229 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20.txt @@ -0,0 +1,53 @@ +PsiJavaFile:SeeTag20.java + PsiImportList + + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_START('/**') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*') + PsiDocToken:DOC_COMMENT_DATA(' ') + PsiDocTag:@see + PsiDocToken:DOC_TAG_NAME('@see') + PsiWhiteSpace(' ') + PsiElement(DOC_TAG_VALUE_ELEMENT) + PsiJavaModuleReference + PsiDocToken:DOC_TAG_VALUE_TOKEN('java.base') + PsiDocToken:DOC_TAG_VALUE_SLASH('/') + PsiElement(DOC_FRAGMENT_REF) + PsiElement(DOC_REFERENCE_HOLDER) + PsiJavaCodeReferenceElement:java.util.ArrayList + PsiJavaCodeReferenceElement:java.util + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:util('util') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:ArrayList('ArrayList') + PsiReferenceParameterList + + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragmentName') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('label') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_END('*/') + PsiWhiteSpace('\n') + PsiModifierList: + + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.java new file mode 100644 index 000000000000..4614bde41fcb --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.java @@ -0,0 +1,4 @@ +/** + * @see java.base/java.util.ArrayList##fragmentName label + */ +class C{} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.txt new file mode 100644 index 000000000000..1031edf4a902 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown.txt @@ -0,0 +1,53 @@ +PsiJavaFile:SeeTag20Markdown.java + PsiImportList + + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_START('/**') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*') + PsiDocToken:DOC_COMMENT_DATA(' ') + PsiDocTag:@see + PsiDocToken:DOC_TAG_NAME('@see') + PsiWhiteSpace(' ') + PsiElement(DOC_TAG_VALUE_ELEMENT) + PsiJavaModuleReference + PsiDocToken:DOC_TAG_VALUE_TOKEN('java.base') + PsiDocToken:DOC_TAG_VALUE_SLASH('/') + PsiElement(DOC_FRAGMENT_REF) + PsiElement(DOC_REFERENCE_HOLDER) + PsiJavaCodeReferenceElement:java.util.ArrayList + PsiJavaCodeReferenceElement:java.util + PsiJavaCodeReferenceElement:java + PsiIdentifier:java('java') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:util('util') + PsiReferenceParameterList + + PsiJavaToken:DOT('.') + PsiIdentifier:ArrayList('ArrayList') + PsiReferenceParameterList + + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragmentName') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('label') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_END('*/') + PsiWhiteSpace('\n') + PsiModifierList: + + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown_node.txt new file mode 100644 index 000000000000..04915718d66b --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20Markdown_node.txt @@ -0,0 +1,53 @@ +java.FILE + IMPORT_LIST + + CLASS + DOC_COMMENT + DOC_COMMENT_START + WHITE_SPACE + DOC_COMMENT_LEADING_ASTERISKS + DOC_COMMENT_DATA + DOC_TAG + DOC_TAG_NAME + WHITE_SPACE + DOC_TAG_VALUE_ELEMENT + MODULE_REFERENCE + DOC_TAG_VALUE_TOKEN + DOC_TAG_VALUE_SLASH + DOC_FRAGMENT_REF + DOC_REFERENCE_HOLDER + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + WHITE_SPACE + DOC_COMMENT_END + WHITE_SPACE + MODIFIER_LIST + + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20_node.txt new file mode 100644 index 000000000000..04915718d66b --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag20_node.txt @@ -0,0 +1,53 @@ +java.FILE + IMPORT_LIST + + CLASS + DOC_COMMENT + DOC_COMMENT_START + WHITE_SPACE + DOC_COMMENT_LEADING_ASTERISKS + DOC_COMMENT_DATA + DOC_TAG + DOC_TAG_NAME + WHITE_SPACE + DOC_TAG_VALUE_ELEMENT + MODULE_REFERENCE + DOC_TAG_VALUE_TOKEN + DOC_TAG_VALUE_SLASH + DOC_FRAGMENT_REF + DOC_REFERENCE_HOLDER + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + JAVA_CODE_REFERENCE + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOT + IDENTIFIER + REFERENCE_PARAMETER_LIST + + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + WHITE_SPACE + DOC_COMMENT_END + WHITE_SPACE + MODIFIER_LIST + + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.java b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.java new file mode 100644 index 000000000000..cc63ced5e1f0 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.java @@ -0,0 +1,4 @@ +/** + * @see ##fragmentName label + */ +class C{} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.txt new file mode 100644 index 000000000000..951e60cdd7be --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21.txt @@ -0,0 +1,34 @@ +PsiJavaFile:SeeTag21.java + PsiImportList + + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_START('/**') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*') + PsiDocToken:DOC_COMMENT_DATA(' ') + PsiDocTag:@see + PsiDocToken:DOC_TAG_NAME('@see') + PsiWhiteSpace(' ') + PsiElement(DOC_FRAGMENT_REF) + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragmentName') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('label') + PsiWhiteSpace('\n ') + PsiDocToken:DOC_COMMENT_END('*/') + PsiWhiteSpace('\n') + PsiModifierList: + + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.java new file mode 100644 index 000000000000..73ad26268121 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.java @@ -0,0 +1,2 @@ +/// @see ##fragmentName label +class C{} \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.txt new file mode 100644 index 000000000000..4fbb2828bfd5 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown.txt @@ -0,0 +1,30 @@ +PsiJavaFile:SeeTag21Markdown.java + PsiImportList + + PsiClass:C + PsiDocComment + PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('///') + PsiWhiteSpace(' ') + PsiDocTag:@see + PsiDocToken:DOC_TAG_NAME('@see') + PsiWhiteSpace(' ') + PsiElement(DOC_FRAGMENT_REF) + PsiDocToken:DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN('##') + PsiElement(DOC_FRAGMENT_NAME) + PsiDocToken:DOC_TAG_VALUE_TOKEN('fragmentName') + PsiWhiteSpace(' ') + PsiDocToken:DOC_COMMENT_DATA('label') + PsiWhiteSpace('\n') + PsiModifierList: + + PsiKeyword:class('class') + PsiWhiteSpace(' ') + PsiIdentifier:C('C') + PsiTypeParameterList + + PsiReferenceList + + PsiReferenceList + + PsiJavaToken:LBRACE('{') + PsiJavaToken:RBRACE('}') \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown_node.txt new file mode 100644 index 000000000000..db163b16f05f --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21Markdown_node.txt @@ -0,0 +1,30 @@ +java.FILE + IMPORT_LIST + + CLASS + DOC_COMMENT + DOC_COMMENT_LEADING_ASTERISKS + WHITE_SPACE + DOC_TAG + DOC_TAG_NAME + WHITE_SPACE + DOC_FRAGMENT_REF + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + WHITE_SPACE + MODIFIER_LIST + + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21_node.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21_node.txt new file mode 100644 index 000000000000..4a841f048998 --- /dev/null +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/SeeTag21_node.txt @@ -0,0 +1,34 @@ +java.FILE + IMPORT_LIST + + CLASS + DOC_COMMENT + DOC_COMMENT_START + WHITE_SPACE + DOC_COMMENT_LEADING_ASTERISKS + DOC_COMMENT_DATA + DOC_TAG + DOC_TAG_NAME + WHITE_SPACE + DOC_FRAGMENT_REF + DOC_TAG_VALUE_DOUBLE_SHARP_TOKEN + DOC_FRAGMENT_NAME + DOC_TAG_VALUE_TOKEN + WHITE_SPACE + DOC_COMMENT_DATA + WHITE_SPACE + DOC_COMMENT_END + WHITE_SPACE + MODIFIER_LIST + + CLASS_KEYWORD + WHITE_SPACE + IDENTIFIER + TYPE_PARAMETER_LIST + + EXTENDS_LIST + + IMPLEMENTS_LIST + + LBRACE + RBRACE \ No newline at end of file diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.java index 41757b09036d..23c3261c7d19 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.java @@ -1,5 +1,5 @@ /** - * ~`!@#$%^&*()_+|\=-}{[]":;'?><,./ + * ~`!@#$%^&*##()_+|\=-}{[]":;'?><,./ */ class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.txt index 661cc37c10fc..3cd57d4cf58b 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01.txt @@ -6,7 +6,7 @@ PsiJavaFile:Symbols01.java PsiDocToken:DOC_COMMENT_START('/**') PsiWhiteSpace('\n ') PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('*') - PsiDocToken:DOC_COMMENT_DATA(' ~`!@#$%^&*()_+|\=-') + PsiDocToken:DOC_COMMENT_DATA(' ~`!@#$%^&*##()_+|\=-') PsiDocToken:DOC_COMMENT_DATA('}') PsiDocToken:DOC_COMMENT_DATA('{') PsiDocToken:DOC_COMMENT_DATA('[]":;'?><,./') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.java index 6abfdffc5311..dafc49686876 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.java @@ -1,5 +1,5 @@ /// -/// ~`!@#$%^&*()_+|\=-}{[]":;'?><,./ +/// ~`!@#$%^&*##()_+|\=-}{[]":;'?><,./ /// class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.txt index 2e768b8c94c0..2088e40dd9af 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols01Markdown.txt @@ -8,7 +8,7 @@ PsiJavaFile:Symbols01Markdown.java PsiDocToken:DOC_COMMENT_LEADING_ASTERISKS('///') PsiDocToken:DOC_COMMENT_DATA(' ~') PsiDocToken:DOC_INLINE_CODE_FENCE('`') - PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*') + PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*##') PsiDocToken:DOC_LPAREN('(') PsiDocToken:DOC_RPAREN(')') PsiDocToken:DOC_COMMENT_DATA('_+|\=-') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.java index 36a6d3222820..2f691122e4a3 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.java @@ -1,5 +1,5 @@ /** - * @see Object ~`!@#$%^&*()_+|\=-}{[]":;'?><,./ + * @see Object ~`!@#$%^&*##()_+|\=-}{[]":;'?><,./ */ class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.txt index 796f4f7d520e..2a0f2817298c 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02.txt @@ -16,7 +16,7 @@ PsiJavaFile:Symbols02.java PsiReferenceParameterList PsiWhiteSpace(' ') - PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*()_+|\=-') + PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*##()_+|\=-') PsiDocToken:DOC_COMMENT_DATA('}') PsiDocToken:DOC_COMMENT_DATA('{') PsiDocToken:DOC_COMMENT_DATA('[]":;'?><,./') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.java index 06ed1bca047f..26f3a81d2a97 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.java @@ -1,5 +1,5 @@ /// -/// @see Object ~`!@#$%^&*()_+|\=-}{[]":;'?><,./ +/// @see Object ~`!@#$%^&*##()_+|\=-}{[]":;'?><,./ /// class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.txt index 7a3805e4b56e..ebe61e07715e 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols02Markdown.txt @@ -18,7 +18,7 @@ PsiJavaFile:Symbols02Markdown.java PsiWhiteSpace(' ') PsiDocToken:DOC_COMMENT_DATA('~') PsiDocToken:DOC_INLINE_CODE_FENCE('`') - PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*') + PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*##') PsiDocToken:DOC_LPAREN('(') PsiDocToken:DOC_RPAREN(')') PsiDocToken:DOC_COMMENT_DATA('_+|\=-') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.java index 75c8c9a0dd4a..ec994dc28de5 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.java @@ -1,5 +1,5 @@ /** - * {@link Object ~`!@#$%^&*()_+|\=-}{[]":;'?><,./ + * {@link Object ~`!@#$%^&*##()_+|\=-}{[]":;'?><,./ */ class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.txt index 64eb06697cca..f0273a800e6e 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03.txt @@ -17,7 +17,7 @@ PsiJavaFile:Symbols03.java PsiReferenceParameterList PsiWhiteSpace(' ') - PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*()_+|\=-') + PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*##()_+|\=-') PsiDocToken:DOC_INLINE_TAG_END('}') PsiDocToken:DOC_COMMENT_DATA('{') PsiDocToken:DOC_COMMENT_DATA('[]":;'?><,./') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.java index af6c758f5c44..1b1703fa7b6b 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.java @@ -1,5 +1,5 @@ /// -/// {@link Object ~`!@#$%^&*()_+|\=-}{[]":;'?><,./ +/// {@link Object ~`!@#$%^&*##()_+|\=-}{[]":;'?><,./ /// class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.txt index 3ce12f59f3ac..0d9182c605b1 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols03Markdown.txt @@ -19,7 +19,7 @@ PsiJavaFile:Symbols03Markdown.java PsiWhiteSpace(' ') PsiDocToken:DOC_COMMENT_DATA('~') PsiDocToken:DOC_INLINE_CODE_FENCE('`') - PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*') + PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*##') PsiDocToken:DOC_LPAREN('(') PsiDocToken:DOC_RPAREN(')') PsiDocToken:DOC_COMMENT_DATA('_+|\=-') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.java index 6efc679add68..74d9449a6497 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.java @@ -1,5 +1,5 @@ /** - * {@link Object ~`!@#$%^&*()_+|\=-{}[]":;'?><,./ + * {@link Object ~`!@#$%^&*##()_+|\=-{}[]":;'?><,./ */ class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.txt index 675c403c072e..60297584056f 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04.txt @@ -17,7 +17,7 @@ PsiJavaFile:Symbols04.java PsiReferenceParameterList PsiWhiteSpace(' ') - PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*()_+|\=-') + PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*##()_+|\=-') PsiDocToken:DOC_COMMENT_DATA('{') PsiDocToken:DOC_COMMENT_DATA('}') PsiDocToken:DOC_COMMENT_DATA('[]":;'?><,./') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.java index 848ddaee4402..730a93b7286d 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.java @@ -1,5 +1,5 @@ /// -/// {@link Object ~`!@#$%^&*()_+|\=-{}[]":;'?><,./ +/// {@link Object ~`!@#$%^&*##()_+|\=-{}[]":;'?><,./ /// class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.txt index 7aa64bd6176d..0e574e518584 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols04Markdown.txt @@ -19,7 +19,7 @@ PsiJavaFile:Symbols04Markdown.java PsiWhiteSpace(' ') PsiDocToken:DOC_COMMENT_DATA('~') PsiDocToken:DOC_INLINE_CODE_FENCE('`') - PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*') + PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*##') PsiDocToken:DOC_LPAREN('(') PsiDocToken:DOC_RPAREN(')') PsiDocToken:DOC_COMMENT_DATA('_+|\=-') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.java index 383e36672412..93002a96d977 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.java @@ -1,5 +1,5 @@ /** - * {@link Object ~`!@#$%^&*()_+|\=-{}[]":;'?><,./} Yes! + * {@link Object ~`!@#$%^&*##()_+|\=-{}[]":;'?><,./} Yes! */ class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.txt index 959b9b6e7447..8f421b7f1767 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05.txt @@ -17,7 +17,7 @@ PsiJavaFile:Symbols05.java PsiReferenceParameterList PsiWhiteSpace(' ') - PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*()_+|\=-') + PsiDocToken:DOC_COMMENT_DATA('~`!@#$%^&*##()_+|\=-') PsiDocToken:DOC_COMMENT_DATA('{') PsiDocToken:DOC_COMMENT_DATA('}') PsiDocToken:DOC_COMMENT_DATA('[]":;'?><,./') diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.java b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.java index 39aae6401146..fc949980de6f 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.java +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.java @@ -1,5 +1,5 @@ /// -/// {@link Object ~`!@#$%^&*()_+|\=-{}[]":;'?><,./} Yes! +/// {@link Object ~`!@#$%^&*##()_+|\=-{}[]":;'?><,./} Yes! /// class X{} diff --git a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.txt b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.txt index fd86b5d5ee97..20e10327cd81 100644 --- a/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.txt +++ b/java/java-tests/testData/psi/parser-full/javadocParsing/Symbols05Markdown.txt @@ -19,7 +19,7 @@ PsiJavaFile:Symbols05Markdown.java PsiWhiteSpace(' ') PsiDocToken:DOC_COMMENT_DATA('~') PsiDocToken:DOC_INLINE_CODE_FENCE('`') - PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*') + PsiDocToken:DOC_COMMENT_DATA('!@#$%^&*##') PsiDocToken:DOC_LPAREN('(') PsiDocToken:DOC_RPAREN(')') PsiDocToken:DOC_COMMENT_DATA('_+|\=-')