Parse integers with unsigned ('u') suffix

This commit is contained in:
Mikhail Zarechenskiy
2018-05-24 14:28:29 +03:00
parent e5958d228a
commit bf5f710f39
6 changed files with 776 additions and 540 deletions
@@ -1,4 +1,4 @@
/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/* The following code was generated by JFlex 1.7.0 tweaked for IntelliJ platform */
package org.jetbrains.kotlin.kdoc.lexer;
@@ -12,8 +12,8 @@ import org.jetbrains.kotlin.kdoc.parser.KDocKnownTag;
/**
* This class is a scanner generated by
* <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
* from the specification file <tt>/home/user/Workspace/Kotlin/kotlin/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex</tt>
* <a href="http://www.jflex.de/">JFlex</a> 1.7.0
* from the specification file <tt>/Users/jetbrains/projects/dup_kotlin/kotlin/compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex</tt>
*/
class _KDocLexer implements FlexLexer {
@@ -48,80 +48,96 @@ class _KDocLexer implements FlexLexer {
/**
* Translates characters to character classes
* Chosen bits are [11, 6, 4]
* Total runtime size is 9472 bytes
* Chosen bits are [12, 6, 3]
* Total runtime size is 12752 bytes
*/
public static int ZZ_CMAP(int ch) {
return ZZ_CMAP_A[(ZZ_CMAP_Y[(ZZ_CMAP_Z[ch>>10]<<6)|((ch>>4)&0x3f)]<<4)|(ch&0xf)];
return ZZ_CMAP_A[(ZZ_CMAP_Y[(ZZ_CMAP_Z[ch>>9]<<6)|((ch>>3)&0x3f)]<<3)|(ch&0x7)];
}
/* The ZZ_CMAP_Z table has 1088 entries */
/* The ZZ_CMAP_Z table has 2176 entries */
static final char ZZ_CMAP_Z[] = zzUnpackCMap(
"\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\3\11\1\12\6\13\1\14\23\13\1\15\1\13"+
"\1\16\1\11\12\13\1\17\10\11\1\20\1\21\1\22\1\23\1\24\62\11\1\25\12\11\51\13"+
"\1\26\24\11\1\27\u0381\11");
"\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1"+
"\20\5\21\1\22\1\23\1\24\1\21\14\25\1\26\50\25\1\27\2\25\1\30\1\31\1\32\1\33"+
"\25\25\1\34\20\21\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\21\1\44\1\45\1\46\1"+
"\21\1\47\2\21\1\50\4\21\1\25\1\51\1\52\5\21\2\25\1\53\31\21\1\25\1\54\1\21"+
"\1\55\40\21\1\56\21\21\1\57\1\60\13\21\1\61\10\21\123\25\1\62\7\25\1\63\1"+
"\64\37\21\1\25\1\64\u0702\21");
/* The ZZ_CMAP_Y table has 1536 entries */
/* The ZZ_CMAP_Y table has 3392 entries */
static final char ZZ_CMAP_Y[] = zzUnpackCMap(
"\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\1\1\11\1\12\1\13\1\14\1\13\1\14\23"+
"\13\1\15\1\1\7\13\1\16\1\17\1\20\10\1\1\21\1\22\1\13\1\23\1\13\1\24\2\13\1"+
"\25\10\13\1\26\3\13\1\24\2\13\1\27\1\13\2\1\1\30\1\13\1\31\1\30\1\13\1\32"+
"\4\1\1\13\1\33\1\34\2\1\1\30\2\33\1\1\1\35\1\30\5\13\1\36\1\37\1\40\1\1\1"+
"\41\1\13\1\1\1\42\3\1\2\13\1\43\1\44\24\1\1\45\2\13\1\46\1\1\1\47\1\17\1\1"+
"\1\50\1\51\1\52\1\53\1\1\1\54\1\17\1\55\1\56\1\51\1\52\1\57\1\1\1\60\1\1\1"+
"\61\1\62\1\23\1\52\1\63\1\1\1\64\1\17\1\44\1\50\1\51\1\52\1\63\1\1\1\54\1"+
"\17\1\44\1\65\1\66\1\67\1\70\3\1\1\71\1\72\1\41\1\52\1\73\2\1\1\17\1\1\1\72"+
"\1\41\1\52\1\74\1\1\1\75\1\17\1\1\1\72\1\41\1\52\1\76\2\1\1\17\1\1\1\77\1"+
"\100\1\13\1\101\1\15\3\1\1\30\2\13\1\102\1\15\3\1\1\103\1\104\1\105\1\106"+
"\1\107\1\110\2\1\1\64\3\1\1\111\1\13\1\33\1\1\1\112\7\1\2\13\1\113\2\1\1\43"+
"\4\1\2\13\1\43\2\13\1\114\5\13\1\115\4\13\1\116\4\13\1\76\1\14\3\13\2\117"+
"\2\13\1\117\1\13\1\24\2\120\1\14\1\24\1\13\1\24\1\120\2\13\1\14\1\33\4\1\5"+
"\13\1\121\1\30\45\13\1\122\1\15\1\30\1\33\4\13\1\123\1\64\1\124\1\17\1\13"+
"\1\17\1\13\1\17\1\124\1\64\3\13\1\55\1\1\1\125\4\1\5\13\1\32\2\13\1\114\5"+
"\1\1\13\1\126\3\1\1\13\1\127\1\121\70\1\6\13\1\130\11\1\11\13\1\130\5\13\1"+
"\76\1\13\1\131\2\13\1\131\1\132\1\13\1\127\3\13\1\133\1\134\1\135\1\126\1"+
"\134\2\1\1\136\1\137\1\64\1\140\1\1\1\141\2\1\1\13\1\17\4\1\1\142\1\143\1"+
"\144\1\145\1\146\1\1\2\13\1\55\147\1\1\147\1\1\1\150\1\151\1\30\4\13\1\152"+
"\1\30\5\13\1\77\1\13\1\126\1\30\4\13\1\24\1\1\1\13\1\32\3\1\1\13\40\1\133"+
"\13\1\43\4\1\132\13\1\43\5\1\10\13\1\126\67\1\72\13\1\55\25\1\22\13\1\127"+
"\3\13\1\33\11\1\1\15\1\153\1\52\1\154\1\155\6\13\1\17\1\1\1\156\25\13\1\127"+
"\1\1\4\13\1\157\2\13\1\32\2\1\1\126\3\1\1\160\1\42\1\1\1\71\1\161\7\13\1\126"+
"\1\140\1\1\1\30\1\162\1\30\1\33\1\77\4\13\1\24\1\163\1\164\1\165\1\1\1\166"+
"\1\13\1\14\1\167\2\127\2\1\7\13\1\33\40\1\1\13\1\24\1\1\1\13\1\33\3\1\1\13"+
"\1\127\6\1\11\13\1\127\66\1\1\170\2\13\1\171\74\1\5\13\1\161\3\13\1\124\1"+
"\172\1\173\1\174\3\13\1\175\1\176\1\13\1\177\1\200\1\41\24\13\1\201\1\13\1"+
"\41\1\202\1\13\1\202\1\13\1\161\1\13\1\161\1\24\1\13\1\24\1\13\1\52\1\13\1"+
"\52\1\13\1\203\3\1\55\13\1\15\22\1\41\13\1\127\36\1");
"\1\0\1\1\2\0\1\2\1\3\1\4\1\5\1\6\2\7\1\10\1\11\2\7\1\12\1\13\3\0\1\14\1\15"+
"\1\16\1\15\2\7\1\17\3\7\1\17\71\7\1\20\1\7\1\21\1\0\1\22\1\23\20\0\1\24\1"+
"\14\1\25\1\26\2\7\1\27\11\7\1\30\21\7\1\21\1\31\23\7\1\0\1\32\3\7\1\17\1\33"+
"\1\32\4\7\1\34\10\0\3\7\2\35\2\0\1\36\2\0\5\7\1\35\3\0\1\37\1\32\13\7\1\40"+
"\1\0\1\41\1\37\1\0\1\42\2\0\1\43\3\7\3\0\1\44\12\7\1\45\1\0\1\33\2\0\1\31"+
"\3\7\1\35\1\46\1\15\2\7\1\45\1\15\1\47\1\50\2\0\3\7\1\50\10\0\1\43\1\22\12"+
"\0\1\51\6\7\1\52\2\0\1\50\1\7\1\21\1\0\2\32\1\44\1\53\1\54\2\7\1\43\1\55\1"+
"\52\1\0\1\25\1\0\1\56\1\21\1\0\1\57\1\36\1\44\1\60\1\54\2\7\1\43\1\61\1\21"+
"\3\0\1\62\2\0\1\63\1\0\1\44\1\30\1\27\2\7\1\43\1\64\1\52\2\0\1\50\1\0\1\21"+
"\1\0\1\33\1\0\1\44\1\53\1\54\2\7\1\43\1\64\1\52\3\0\1\56\1\21\1\0\1\33\1\0"+
"\1\65\1\66\1\67\1\70\1\71\1\66\1\7\1\21\2\0\1\50\4\0\1\33\1\44\1\24\1\43\2"+
"\7\1\43\1\72\1\52\3\0\2\21\3\0\1\44\1\24\1\43\2\7\1\43\1\72\1\52\3\0\1\25"+
"\1\21\1\0\1\73\1\0\1\44\1\24\1\43\4\7\1\74\1\0\1\25\2\0\1\21\2\0\1\31\1\44"+
"\1\7\1\17\1\31\2\7\1\27\1\40\1\17\7\0\1\32\5\7\1\75\1\34\1\17\7\0\1\76\1\77"+
"\1\51\1\32\1\100\1\101\1\75\1\16\1\102\2\0\1\51\4\0\1\50\7\0\1\7\1\32\3\7"+
"\1\22\3\0\1\22\16\0\5\7\1\35\1\0\1\34\2\0\1\45\1\14\1\103\1\37\1\104\1\7\1"+
"\21\1\25\2\0\4\7\1\30\1\16\5\7\1\105\51\7\1\67\1\17\1\67\5\7\1\67\4\7\1\67"+
"\1\17\1\67\1\7\1\17\7\7\1\67\10\7\1\35\4\0\2\7\2\0\12\7\1\22\1\0\1\32\114"+
"\7\1\53\2\7\1\32\2\7\1\35\11\7\1\66\1\50\1\0\1\7\1\24\1\21\1\0\2\7\1\21\1"+
"\0\2\7\1\21\1\0\1\7\1\24\1\50\1\0\6\7\1\57\3\0\1\34\1\71\10\0\13\7\1\0\5\7"+
"\1\106\10\7\1\45\1\0\3\7\1\22\6\0\3\7\1\45\1\22\1\0\5\7\1\57\2\0\1\32\7\0"+
"\2\7\1\17\1\0\6\7\1\22\11\0\1\34\13\0\1\44\5\7\1\57\1\0\1\44\1\57\6\0\1\107"+
"\3\7\1\50\1\37\1\0\1\31\4\7\1\45\3\0\4\7\1\57\4\0\1\44\1\0\1\31\3\7\1\45\15"+
"\0\1\110\1\111\1\0\30\7\10\0\42\7\2\45\4\7\2\45\1\7\1\112\3\7\1\45\6\7\1\24"+
"\1\102\1\113\1\22\1\114\1\57\1\7\1\22\1\113\1\22\5\0\1\115\1\0\1\34\1\50\1"+
"\0\1\47\3\0\1\33\1\34\2\0\1\7\1\22\3\7\1\35\10\0\1\116\1\31\1\40\1\117\1\23"+
"\1\120\1\7\1\121\1\44\1\122\2\0\5\7\1\50\116\0\5\7\1\17\5\7\1\17\20\7\1\22"+
"\1\123\1\124\1\0\4\7\1\30\1\16\7\7\1\34\2\0\2\7\1\17\1\0\10\17\11\0\1\34\72"+
"\0\1\44\3\0\1\32\1\21\1\117\1\22\1\32\11\7\1\17\1\44\1\32\12\7\1\105\1\44"+
"\4\7\1\45\1\32\12\7\1\17\2\0\3\7\1\35\6\0\170\7\1\45\11\0\71\7\1\22\6\0\21"+
"\7\1\22\10\0\5\7\1\45\41\7\1\22\2\7\1\0\1\124\2\0\5\7\1\17\1\0\1\34\3\7\1"+
"\0\12\7\4\0\1\34\1\7\1\31\14\7\1\125\1\57\1\0\1\7\1\35\11\0\1\7\1\126\1\105"+
"\2\7\1\35\2\0\1\50\6\7\1\57\1\0\1\31\5\7\1\57\7\0\1\31\1\36\1\0\1\31\2\7\1"+
"\45\1\0\2\7\1\17\3\0\3\7\1\22\1\51\5\7\1\35\2\0\1\34\6\0\5\7\1\50\2\0\1\105"+
"\1\57\2\0\2\7\1\17\1\15\6\7\1\103\1\117\1\106\2\0\1\127\1\7\1\35\1\63\1\0"+
"\3\130\1\0\2\17\22\0\4\7\1\35\3\0\64\7\1\57\1\0\2\7\1\17\1\107\5\7\1\57\40"+
"\0\55\7\1\45\15\7\1\21\4\0\1\17\1\0\1\107\1\131\1\7\1\43\1\17\1\102\1\132"+
"\15\7\1\21\3\0\1\107\54\7\1\45\2\0\10\7\1\31\6\7\5\0\1\7\1\22\6\0\1\71\2\0"+
"\1\44\3\0\1\33\1\24\20\7\1\22\1\47\3\0\1\32\2\7\1\60\1\32\2\7\1\35\1\37\12"+
"\7\1\17\3\31\1\63\1\111\3\0\1\7\1\72\2\7\1\17\2\7\1\133\1\7\1\45\1\7\1\45"+
"\4\0\17\7\1\35\10\0\6\7\1\22\41\0\3\7\1\22\6\7\1\50\5\0\3\7\1\17\2\0\3\7\1"+
"\35\6\0\3\7\1\45\4\7\1\57\1\7\1\117\5\0\23\7\1\45\54\0\1\45\1\43\4\7\1\30"+
"\1\134\2\7\1\45\25\0\2\7\1\45\1\0\3\7\1\21\10\0\7\7\1\37\10\0\1\50\1\0\1\72"+
"\1\32\2\7\1\57\5\0\3\7\1\22\20\0\6\7\1\45\1\0\2\7\1\45\1\0\2\7\1\35\21\0\11"+
"\7\1\50\66\0\1\107\6\7\11\0\1\107\5\7\4\0\3\7\1\50\2\0\1\107\3\7\1\17\13\0"+
"\1\107\5\7\1\35\1\0\1\135\27\0\5\7\1\35\52\0\55\7\1\17\22\0\14\7\1\35\63\0"+
"\5\7\1\17\72\0\7\7\1\50\130\0\10\7\1\22\1\0\1\50\7\0\1\107\1\7\14\0\1\21\77"+
"\0\12\7\1\24\10\7\1\24\1\136\1\110\1\7\1\137\1\72\7\7\1\30\1\140\2\24\3\7"+
"\1\141\1\102\1\31\1\43\51\7\1\45\3\7\1\43\2\7\1\105\3\7\1\105\2\7\1\24\3\7"+
"\1\24\2\7\1\17\3\7\1\17\3\7\1\43\3\7\1\43\2\7\1\105\1\57\6\0\1\72\3\7\1\76"+
"\1\32\1\105\1\142\1\116\1\143\1\76\1\112\1\76\2\105\1\62\1\7\1\27\1\7\1\57"+
"\1\144\1\27\1\7\1\57\50\0\32\7\1\17\5\0\106\7\1\22\1\0\33\7\1\45\74\0");
/* The ZZ_CMAP_A table has 2112 entries */
/* The ZZ_CMAP_A table has 808 entries */
static final char ZZ_CMAP_A[] = zzUnpackCMap(
"\11\0\1\1\1\11\1\12\1\13\1\12\22\0\1\17\3\0\1\3\3\0\1\21\1\22\1\15\3\0\1\4"+
"\1\14\12\2\6\0\1\16\32\3\1\5\1\20\1\6\1\0\1\3\1\7\32\3\3\0\1\10\6\0\1\12\14"+
"\0\4\3\4\0\1\3\12\0\1\3\4\0\1\3\5\0\27\3\1\0\17\3\11\0\2\3\4\0\14\3\16\0\5"+
"\3\11\0\1\3\13\0\1\3\13\0\1\3\1\0\3\3\1\0\1\3\1\0\4\3\1\0\34\3\1\0\6\3\1\0"+
"\5\3\4\0\2\3\10\0\14\3\2\0\2\3\7\0\26\3\2\0\1\3\6\0\10\3\10\0\13\3\5\0\3\3"+
"\33\0\6\3\1\0\1\3\17\0\2\3\7\0\2\3\12\0\3\3\2\0\2\3\1\0\16\3\15\0\11\3\13"+
"\0\1\3\22\0\26\3\3\0\1\3\2\0\1\3\7\0\10\3\5\0\10\3\2\0\2\3\2\0\26\3\1\0\7"+
"\3\1\0\1\3\3\0\4\3\3\0\1\3\16\0\2\3\1\0\5\3\21\0\6\3\4\0\2\3\1\0\2\3\1\0\2"+
"\3\1\0\2\3\17\0\4\3\1\0\1\3\3\0\3\3\20\0\11\3\1\0\2\3\1\0\2\3\1\0\5\3\3\0"+
"\1\3\2\0\1\3\22\0\1\3\1\0\6\3\3\0\3\3\1\0\4\3\3\0\2\3\1\0\1\3\1\0\2\3\3\0"+
"\2\3\3\0\3\3\3\0\10\3\1\0\3\3\17\0\1\3\13\0\10\3\1\0\6\3\1\0\5\3\6\0\4\3\1"+
"\0\5\3\3\0\1\3\20\0\1\3\1\0\12\3\13\0\22\3\3\0\10\3\1\0\11\3\1\0\1\3\2\0\1"+
"\3\1\0\2\3\13\0\1\3\1\0\2\3\1\0\1\3\2\0\2\3\1\0\1\3\2\0\1\3\6\0\4\3\1\0\7"+
"\3\1\0\3\3\1\0\1\3\1\0\1\3\2\0\2\3\1\0\4\3\1\0\2\3\11\0\1\3\2\0\5\3\1\0\1"+
"\3\25\0\2\3\2\0\10\3\1\0\7\3\10\0\4\3\4\0\2\3\1\0\5\3\1\0\2\3\5\0\11\3\7\0"+
"\12\3\5\0\4\3\5\0\17\3\1\0\1\3\1\0\4\3\2\0\1\3\1\0\4\3\2\0\7\3\1\0\5\3\13"+
"\0\15\3\2\0\14\3\3\0\17\3\1\0\2\3\7\0\1\3\3\0\2\3\3\0\15\3\3\0\16\3\2\0\14"+
"\3\4\0\6\3\2\0\6\3\2\0\10\3\1\0\1\3\1\0\1\3\1\0\1\3\1\0\6\3\1\0\7\3\1\0\1"+
"\3\3\0\3\3\1\0\7\3\3\0\4\3\2\0\6\3\14\0\2\12\25\0\1\3\4\0\1\3\14\0\1\3\15"+
"\0\1\3\2\0\1\3\4\0\1\3\2\0\12\3\1\0\1\3\3\0\5\3\6\0\1\3\1\0\1\3\1\0\1\3\1"+
"\0\4\3\1\0\3\3\1\0\7\3\3\0\3\3\5\0\5\3\13\0\3\3\11\0\11\3\7\0\5\3\2\0\5\3"+
"\3\0\7\3\6\0\3\3\3\0\5\3\5\0\1\3\1\0\10\3\1\0\5\3\1\0\1\3\1\0\2\3\1\0\2\3"+
"\1\0\12\3\3\0\15\3\2\0\16\3\3\0\2\3\13\0\5\3\1\0\25\3\4\0\1\3\2\0\6\3\2\0"+
"\6\3\2\0\6\3\2\0\3\3\3\0\2\3\3\0\2\3\11\0\14\3\1\0\16\3\1\0\2\3\1\0\7\3\2"+
"\0\1\3\1\0\14\3\1\0\2\3\3\0\1\3\2\0\1\3\2\0\1\3\2\0\2\3\2\0\4\3\1\0\14\3\1"+
"\0\1\3\1\0\7\3\1\0\21\3\1\0\4\3\2\0\10\3\1\0\7\3\1\0\14\3\1\0\4\3\1\0\5\3"+
"\1\0\1\3\3\0\12\3\4\0\23\3\1\0\7\3\1\0\6\3\6\0");
"\11\0\1\1\1\11\1\12\1\13\1\12\2\0\1\17\3\0\1\3\3\0\1\21\1\22\1\15\3\0\1\4"+
"\1\14\12\2\6\0\1\16\22\3\1\5\1\20\1\6\1\0\1\3\1\7\12\3\3\0\1\10\6\0\1\12\4"+
"\0\4\3\4\0\1\3\12\0\1\3\2\0\7\3\1\0\2\3\4\0\4\3\6\0\5\3\7\0\1\3\1\0\1\3\1"+
"\0\5\3\1\0\2\3\6\0\1\3\1\0\3\3\1\0\1\3\1\0\4\3\1\0\13\3\1\0\1\3\2\0\6\3\1"+
"\0\7\3\1\0\1\3\15\0\4\3\10\0\1\3\12\0\6\3\1\0\1\3\7\0\2\3\3\0\3\3\2\0\2\3"+
"\1\0\6\3\5\0\11\3\6\0\2\3\6\0\1\3\3\0\1\3\13\0\6\3\3\0\1\3\2\0\5\3\2\0\2\3"+
"\2\0\6\3\1\0\1\3\3\0\2\3\4\0\2\3\1\0\5\3\4\0\3\3\4\0\2\3\1\0\2\3\1\0\2\3\2"+
"\0\4\3\1\0\1\3\3\0\3\3\3\0\1\3\1\0\2\3\1\0\3\3\3\0\1\3\1\0\6\3\3\0\3\3\1\0"+
"\4\3\3\0\2\3\1\0\1\3\1\0\2\3\3\0\2\3\3\0\4\3\1\0\3\3\1\0\2\3\5\0\3\3\2\0\1"+
"\3\2\0\1\3\1\0\2\3\5\0\2\3\1\0\1\3\2\0\2\3\1\0\1\3\2\0\1\3\3\0\3\3\1\0\1\3"+
"\1\0\1\3\2\0\2\3\1\0\10\3\1\0\1\3\2\0\1\3\3\0\2\3\1\0\1\3\4\0\6\3\1\0\5\3"+
"\1\0\1\3\10\0\5\3\1\0\4\3\1\0\4\3\3\0\2\3\2\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"+
"\2\0\3\3\1\0\6\3\2\0\2\3\2\12\10\0\1\3\4\0\1\3\1\0\5\3\2\0\1\3\1\0\4\3\1\0"+
"\3\3\2\0\6\3\4\0\1\3\4\0\4\3\3\0\2\3\4\0\1\3\2\0\4\3\1\0\2\3\1\0\3\3\1\0\1"+
"\3\3\0\3\3\3\0\6\3\6\0\1\3\1\0\3\3\1\0\2\3\1\0\5\3\1\0\2\3\1\0\2\3\3\0\1\3"+
"\2\0\1\3\1\0\4\3\5\0\1\3\2\0\2\3\1\0\2\3\1\0\1\3\1\0\6\3\2\0\5\3\1\0\4\3\2"+
"\0\1\3\1\0\1\3\5\0\1\3\1\0\1\3\1\0\3\3\1\0\3\3\1\0\3\3");
/**
* Translates DFA states to action switch labels.
@@ -610,19 +626,22 @@ class _KDocLexer implements FlexLexer {
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
case 1:
{ return TokenType.BAD_CHARACTER;
}
}
// fall through
case 21: break;
case 2:
{ yybegin(CONTENTS);
return KDocTokens.TEXT;
}
}
// fall through
case 22: break;
case 3:
{ if(yystate() == CONTENTS_BEGINNING) {
yybegin(INDENTED_CODE_BLOCK);
return KDocTokens.CODE_BLOCK_TEXT;
}
}
}
// fall through
case 23: break;
case 4:
{ if (yytextContainLineBreaks()) {
@@ -632,29 +651,34 @@ class _KDocLexer implements FlexLexer {
yybegin(yystate() == CONTENTS_BEGINNING ? CONTENTS_BEGINNING : CONTENTS);
return KDocTokens.TEXT; // internal white space
}
}
}
// fall through
case 24: break;
case 5:
{ yybegin(CONTENTS_BEGINNING);
return KDocTokens.LEADING_ASTERISK;
}
}
// fall through
case 25: break;
case 6:
{ if (yytextContainLineBreaks()) {
yybegin(LINE_BEGINNING);
}
return TokenType.WHITE_SPACE;
}
}
// fall through
case 26: break;
case 7:
{ yybegin(TAG_TEXT_BEGINNING);
return KDocTokens.MARKDOWN_LINK;
}
}
// fall through
case 27: break;
case 8:
{ yybegin(yystate() == INDENTED_CODE_BLOCK ? INDENTED_CODE_BLOCK : CODE_BLOCK);
return KDocTokens.CODE_BLOCK_TEXT;
}
}
// fall through
case 28: break;
case 9:
{ if (yytextContainLineBreaks()) {
@@ -662,48 +686,57 @@ class _KDocLexer implements FlexLexer {
return TokenType.WHITE_SPACE;
}
return KDocTokens.CODE_BLOCK_TEXT;
}
}
// fall through
case 29: break;
case 10:
{ yybegin(CODE_BLOCK_CONTENTS_BEGINNING);
return KDocTokens.LEADING_ASTERISK;
}
}
// fall through
case 30: break;
case 11:
{ if (isLastToken()) return KDocTokens.END;
else return KDocTokens.TEXT;
}
}
// fall through
case 31: break;
case 12:
{ yybegin(CONTENTS);
return KDocTokens.MARKDOWN_ESCAPED_CHAR;
}
}
// fall through
case 32: break;
case 13:
{ KDocKnownTag tag = KDocKnownTag.Companion.findByTagName(zzBuffer.subSequence(zzStartRead, zzMarkedPos));
yybegin(tag != null && tag.isReferenceRequired() ? TAG_BEGINNING : TAG_TEXT_BEGINNING);
return KDocTokens.TAG_NAME;
}
}
// fall through
case 33: break;
case 14:
{ yybegin(CONTENTS_BEGINNING);
return KDocTokens.START;
}
}
// fall through
case 34: break;
case 15:
{ yybegin(CODE_BLOCK_LINE_BEGINNING);
return KDocTokens.TEXT;
}
}
// fall through
case 35: break;
case 16:
{ yybegin(TAG_TEXT_BEGINNING);
return KDocTokens.MARKDOWN_LINK;
}
}
// fall through
case 36: break;
case 17:
{ yybegin(CONTENTS);
return KDocTokens.MARKDOWN_LINK;
}
}
// fall through
case 37: break;
case 18:
// lookahead expression with fixed lookahead length
@@ -711,12 +744,14 @@ class _KDocLexer implements FlexLexer {
(zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzMarkedPos, -1);
{ yybegin(CONTENTS);
return KDocTokens.MARKDOWN_LINK;
}
}
// fall through
case 38: break;
case 19:
{ yybegin(CONTENTS);
return KDocTokens.MARKDOWN_INLINE_LINK;
}
}
// fall through
case 39: break;
case 20:
// lookahead expression with fixed base length
@@ -725,7 +760,8 @@ class _KDocLexer implements FlexLexer {
{ // Code fence end
yybegin(CONTENTS);
return KDocTokens.TEXT;
}
}
// fall through
case 40: break;
default:
zzScanError(ZZ_NO_MATCH);
@@ -92,10 +92,11 @@ EOL_COMMENT="/""/"[^\n]*
SHEBANG_COMMENT="#!"[^\n]*
INTEGER_LITERAL={DECIMAL_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}|{BIN_INTEGER_LITERAL}
DECIMAL_INTEGER_LITERAL=(0|([1-9]({DIGIT_OR_UNDERSCORE})*))({LONG_SUFFIX})?
HEX_INTEGER_LITERAL=0[Xx]({HEX_DIGIT_OR_UNDERSCORE})*({LONG_SUFFIX})?
BIN_INTEGER_LITERAL=0[Bb]({DIGIT_OR_UNDERSCORE})*({LONG_SUFFIX})?
DECIMAL_INTEGER_LITERAL=(0|([1-9]({DIGIT_OR_UNDERSCORE})*))({LONG_SUFFIX}|{UNSIGNED_SUFFIX})?
HEX_INTEGER_LITERAL=0[Xx]({HEX_DIGIT_OR_UNDERSCORE})*({LONG_SUFFIX}|{UNSIGNED_SUFFIX})?
BIN_INTEGER_LITERAL=0[Bb]({DIGIT_OR_UNDERSCORE})*({LONG_SUFFIX}|{UNSIGNED_SUFFIX})?
LONG_SUFFIX=[Ll]
UNSIGNED_SUFFIX=[u]
//FLOAT_LITERAL=(({FLOATING_POINT_LITERAL1})[Ff])|(({FLOATING_POINT_LITERAL2})[Ff])|(({FLOATING_POINT_LITERAL3})[Ff])|(({FLOATING_POINT_LITERAL4})[Ff])
//DOUBLE_LITERAL=(({FLOATING_POINT_LITERAL1})[Dd]?)|(({FLOATING_POINT_LITERAL2})[Dd]?)|(({FLOATING_POINT_LITERAL3})[Dd]?)|(({FLOATING_POINT_LITERAL4})[Dd])
File diff suppressed because it is too large Load Diff
+13
View File
@@ -0,0 +1,13 @@
val array = array<Any>(
1u,
0u,
1_1u,
-2u,
0xFFu,
0b100u,
3.14u,
1e1u,
1.0e1u,
2_2.0fu,
6.022_137e+2_3fu
)
+109
View File
@@ -0,0 +1,109 @@
KtFile: UnsignedLiteral.kt
PACKAGE_DIRECTIVE
<empty list>
IMPORT_LIST
<empty list>
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('array')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('array')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Any')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1_1u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
PREFIX_EXPRESSION
OPERATION_REFERENCE
PsiElement(MINUS)('-')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('2u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0xFFu')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0b100u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('3.14')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('1e1')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('1.0e1')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('2_2.0f')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('6.022_137e+2_3f')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiWhiteSpace('\n')
PsiElement(RPAR)(')')
@@ -701,6 +701,11 @@ public class ParsingTestGenerated extends AbstractParsingTest {
runTest("compiler/testData/psi/TypealiasIsKeyword.kt");
}
@TestMetadata("UnsignedLiteral.kt")
public void testUnsignedLiteral() throws Exception {
runTest("compiler/testData/psi/UnsignedLiteral.kt");
}
@TestMetadata("When.kt")
public void testWhen() throws Exception {
runTest("compiler/testData/psi/When.kt");