diff --git a/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex b/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex index 2b64d56252e..246c6d27e1e 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex +++ b/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex @@ -58,7 +58,7 @@ IDENTIFIER_PART=[:digit:]|{LETTER} PLAIN_IDENTIFIER={LETTER} {IDENTIFIER_PART}* // TODO: this one MUST allow everything accepted by the runtime // TODO: Replace backticks by one backslash in the begining -ESCAPED_IDENTIFIER = `{PLAIN_IDENTIFIER}` +ESCAPED_IDENTIFIER = `[^`\n]+` IDENTIFIER = {PLAIN_IDENTIFIER}|{ESCAPED_IDENTIFIER} FIELD_IDENTIFIER = \${IDENTIFIER} LABEL_IDENTIFIER = \@{IDENTIFIER} diff --git a/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java b/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java index edfba28c004..698d78e7c93 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 11/10/11 3:26 PM */ +/* The following code was generated by JFlex 1.4.3 on 11/10/11 3:46 PM */ package org.jetbrains.jet.lexer; @@ -13,7 +13,7 @@ import org.jetbrains.jet.lexer.JetTokens; /** * This class is a scanner generated by * JFlex 1.4.3 - * on 11/10/11 3:26 PM from the specification file + * on 11/10/11 3:46 PM from the specification file * /Users/yozh/devel/jb/jet/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex */ class _JetLexer implements FlexLexer { @@ -40,10 +40,10 @@ class _JetLexer implements FlexLexer { * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = - "\11\0\1\3\1\13\1\0\1\3\23\0\1\3\1\57\1\25\1\77"+ - "\1\7\1\67\1\65\1\23\1\72\1\73\1\12\1\62\1\76\1\21"+ - "\1\17\1\11\1\14\11\1\1\74\1\75\1\63\1\60\1\64\1\61"+ - "\1\10\1\2\1\16\2\2\1\20\1\2\11\4\1\22\3\4\1\54"+ + "\11\0\1\3\1\7\1\0\1\3\23\0\1\3\1\57\1\25\1\77"+ + "\1\10\1\67\1\65\1\23\1\72\1\73\1\13\1\62\1\76\1\21"+ + "\1\17\1\12\1\14\11\1\1\74\1\75\1\63\1\60\1\64\1\61"+ + "\1\11\1\2\1\16\2\2\1\20\1\2\11\4\1\22\3\4\1\54"+ "\3\4\1\15\2\4\1\70\1\24\1\71\1\0\1\4\1\6\1\31"+ "\1\44\1\36\1\56\1\33\1\52\1\4\1\47\1\41\1\45\1\51"+ "\1\50\1\32\1\30\1\37\1\35\1\4\1\43\1\34\1\40\1\42"+ @@ -123,21 +123,21 @@ class _JetLexer implements FlexLexer { "\1\7\1\2\1\10\1\11\1\12\1\13\1\14\1\15"+ "\17\3\1\16\1\17\1\20\1\21\1\22\1\23\2\1"+ "\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33"+ - "\1\34\2\35\1\36\1\0\1\37\1\40\1\0\1\41"+ - "\1\42\1\0\1\43\1\0\1\44\1\0\1\45\1\0"+ - "\1\46\1\47\1\50\1\51\1\52\1\43\2\2\1\43"+ - "\1\53\1\54\1\55\1\56\2\12\1\0\2\3\1\57"+ - "\10\3\1\60\1\61\1\62\10\3\1\63\1\0\1\64"+ - "\1\65\1\66\1\67\1\70\1\71\1\72\1\73\1\74"+ - "\1\75\1\76\1\0\1\77\1\100\1\0\1\101\1\43"+ - "\1\3\2\0\1\50\1\102\4\0\1\103\2\3\1\104"+ - "\7\3\1\105\10\3\1\106\1\107\1\3\1\110\1\111"+ - "\1\112\1\113\1\114\1\115\1\0\1\40\1\44\1\45"+ - "\1\0\2\102\1\43\2\0\1\3\1\116\1\117\5\3"+ - "\1\120\1\121\1\3\1\122\2\3\1\123\2\3\1\124"+ - "\1\125\1\76\1\50\2\0\1\3\1\126\1\3\1\127"+ - "\1\3\1\130\1\131\1\3\1\132\1\133\1\134\1\103"+ - "\2\3\1\135\1\136\3\3\1\137\1\140"; + "\1\34\1\35\1\36\1\35\1\0\1\37\1\40\1\0"+ + "\1\41\1\42\1\0\1\43\1\0\1\44\1\0\1\45"+ + "\1\0\1\46\1\47\1\50\1\51\1\52\1\43\2\2"+ + "\1\43\1\53\1\54\1\55\1\56\2\12\1\0\2\3"+ + "\1\57\10\3\1\60\1\61\1\62\10\3\1\63\1\0"+ + "\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\73"+ + "\1\74\1\75\1\76\1\0\1\77\1\100\1\0\1\101"+ + "\1\43\1\3\2\0\1\50\1\102\4\0\1\103\2\3"+ + "\1\104\7\3\1\105\10\3\1\106\1\107\1\3\1\110"+ + "\1\111\1\112\1\113\1\114\1\115\1\0\1\40\1\44"+ + "\1\45\1\0\2\102\1\43\2\0\1\3\1\116\1\117"+ + "\5\3\1\120\1\121\1\3\1\122\2\3\1\123\2\3"+ + "\1\124\1\125\1\76\1\50\2\0\1\3\1\126\1\3"+ + "\1\127\1\3\1\130\1\131\1\3\1\132\1\133\1\134"+ + "\1\103\2\3\1\135\1\136\3\3\1\137\1\140"; private static int [] zzUnpackAction() { int [] result = new int[217]; @@ -171,7 +171,7 @@ class _JetLexer implements FlexLexer { "\0\u0580\0\u05c0\0\u0600\0\u0640\0\u0680\0\u06c0\0\u0700\0\u0740"+ "\0\u0780\0\u07c0\0\u0800\0\u0840\0\u0880\0\u0100\0\u08c0\0\u0900"+ "\0\u0940\0\u0980\0\u09c0\0\u0a00\0\u0100\0\u0100\0\u0100\0\u0100"+ - "\0\u0100\0\u0100\0\u0100\0\u0100\0\u0a40\0\u0a80\0\u0100\0\u0ac0"+ + "\0\u0100\0\u0100\0\u0100\0\u0100\0\u0a40\0\u0100\0\u0a80\0\u0ac0"+ "\0\u0100\0\u0b00\0\u0b40\0\u0100\0\u0100\0\u0b80\0\u0bc0\0\u0c00"+ "\0\u0c40\0\u0c80\0\u0cc0\0\u0d00\0\u0100\0\u0d40\0\u0d80\0\u0100"+ "\0\u0100\0\u0dc0\0\u0e00\0\u0e40\0\u0e80\0\u0100\0\u0100\0\u0100"+ @@ -218,177 +218,166 @@ class _JetLexer implements FlexLexer { private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = - "\1\5\1\6\1\7\1\10\1\7\1\5\1\11\1\12"+ - "\1\13\1\14\1\15\1\10\1\16\2\7\1\17\1\7"+ + "\1\5\1\6\1\7\1\10\1\7\1\5\1\11\1\10"+ + "\1\12\1\13\1\14\1\15\1\16\2\7\1\17\1\7"+ "\1\20\1\7\1\21\1\5\1\22\1\23\1\24\1\25"+ "\1\26\1\7\1\27\1\30\1\7\1\31\1\32\1\33"+ "\1\34\1\7\1\35\1\36\1\7\1\37\3\7\1\40"+ "\1\7\1\41\1\42\1\43\1\44\1\45\1\46\1\47"+ "\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57"+ - "\1\60\1\61\1\62\1\63\1\64\7\65\1\66\3\65"+ - "\1\67\10\65\1\70\1\71\52\65\2\0\1\72\1\0"+ - "\1\72\1\0\1\73\6\0\2\72\1\0\1\72\1\0"+ - "\1\72\5\0\27\72\21\0\1\5\1\6\1\7\1\10"+ - "\1\7\1\5\1\11\1\12\1\13\1\14\1\15\1\10"+ - "\1\16\2\7\1\17\1\7\1\20\1\7\1\21\1\5"+ - "\1\22\1\74\1\75\1\25\1\26\1\7\1\27\1\30"+ - "\1\7\1\31\1\32\1\33\1\34\1\7\1\35\1\36"+ - "\1\7\1\37\3\7\1\40\1\7\1\41\1\42\1\43"+ - "\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53"+ - "\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63"+ - "\1\64\101\0\1\6\12\0\1\6\2\0\1\76\1\77"+ - "\12\0\1\77\45\0\2\7\1\0\2\7\6\0\3\7"+ - "\1\0\1\7\1\0\1\7\5\0\27\7\24\0\1\10"+ - "\7\0\1\10\66\0\1\100\1\0\1\100\10\0\2\100"+ - "\1\0\1\100\1\0\1\100\5\0\27\100\23\0\1\101"+ - "\1\0\1\101\1\0\1\102\6\0\2\101\1\0\1\101"+ - "\1\0\1\101\5\0\27\101\23\0\1\103\1\0\1\103"+ - "\1\0\1\104\1\0\1\105\4\0\2\103\1\0\1\103"+ - "\1\0\1\103\5\0\27\103\32\0\1\106\1\107\45\0"+ - "\1\110\77\0\1\111\20\0\1\112\12\0\1\112\1\113"+ - "\1\114\1\76\1\77\12\0\1\77\10\0\1\114\34\0"+ - "\1\115\12\0\1\115\2\0\1\116\101\0\1\117\36\0"+ - "\1\120\3\0\1\121\13\0\13\21\1\0\7\21\1\122"+ - "\1\123\53\21\25\0\1\124\53\0\2\7\1\0\2\7"+ - "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\1\7"+ - "\1\125\10\7\1\126\14\7\22\0\2\7\1\0\2\7"+ - "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\4\7"+ - "\1\127\22\7\22\0\2\7\1\0\2\7\6\0\3\7"+ - "\1\0\1\7\1\0\1\7\5\0\20\7\1\130\6\7"+ - "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\12\7\1\131\14\7\22\0\2\7"+ + "\1\60\1\61\1\62\1\63\1\64\7\65\1\66\1\67"+ + "\13\65\1\70\1\71\52\65\2\0\1\72\1\0\1\72"+ + "\1\0\1\73\6\0\2\72\1\0\1\72\1\0\1\72"+ + "\5\0\27\72\21\0\1\5\1\6\1\7\1\10\1\7"+ + "\1\5\1\11\1\10\1\12\1\13\1\14\1\15\1\16"+ + "\2\7\1\17\1\7\1\20\1\7\1\21\1\5\1\22"+ + "\1\74\1\75\1\25\1\26\1\7\1\27\1\30\1\7"+ + "\1\31\1\32\1\33\1\34\1\7\1\35\1\36\1\7"+ + "\1\37\3\7\1\40\1\7\1\41\1\42\1\43\1\44"+ + "\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54"+ + "\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64"+ + "\101\0\1\6\12\0\1\6\2\0\1\76\1\77\12\0"+ + "\1\77\45\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\27\7\24\0\1\10\3\0"+ + "\1\10\70\0\6\100\2\0\70\100\2\0\1\101\1\0"+ + "\1\101\1\0\1\102\6\0\2\101\1\0\1\101\1\0"+ + "\1\101\5\0\27\101\23\0\1\103\1\0\1\103\1\0"+ + "\1\104\2\0\1\105\3\0\2\103\1\0\1\103\1\0"+ + "\1\103\5\0\27\103\33\0\1\106\1\107\44\0\1\110"+ + "\77\0\1\111\20\0\1\112\12\0\1\112\1\113\1\114"+ + "\1\76\1\77\12\0\1\77\10\0\1\114\34\0\1\115"+ + "\12\0\1\115\2\0\1\116\101\0\1\117\36\0\1\120"+ + "\3\0\1\121\13\0\7\21\1\0\13\21\1\122\1\123"+ + "\53\21\25\0\1\124\53\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\1\7\1\125"+ + "\10\7\1\126\14\7\22\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\4\7\1\127"+ + "\22\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\20\7\1\130\6\7\22\0"+ + "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ + "\1\7\5\0\12\7\1\131\14\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\7\7\1\132\10\7\1\133\6\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\14\7\1\134\12\7\22\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\13\7\1\135"+ + "\3\7\1\136\3\7\1\137\3\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\1\140\3\7\1\141\15\7\1\142\4\7\22\0\2\7"+ "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\7\7\1\132\10\7\1\133\6\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\14\7\1\134\12\7\22\0\2\7\1\0\2\7"+ + "\5\0\3\7\1\143\23\7\22\0\2\7\1\0\2\7"+ "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\13\7"+ - "\1\135\3\7\1\136\3\7\1\137\3\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\1\140\3\7\1\141\15\7\1\142\4\7\22\0"+ - "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ - "\1\7\5\0\3\7\1\143\23\7\22\0\2\7\1\0"+ - "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ - "\13\7\1\144\13\7\22\0\2\7\1\0\2\7\6\0"+ - "\3\7\1\0\1\7\1\0\1\7\5\0\17\7\1\145"+ - "\7\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ - "\1\7\1\0\1\7\5\0\1\7\1\146\5\7\1\147"+ - "\2\7\1\150\14\7\22\0\2\7\1\0\2\7\6\0"+ - "\3\7\1\0\1\7\1\0\1\7\5\0\17\7\1\151"+ - "\7\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ - "\1\7\1\0\1\7\5\0\1\7\1\152\25\7\22\0"+ - "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ - "\1\7\5\0\7\7\1\153\17\7\62\0\1\154\16\0"+ - "\1\155\77\0\1\156\3\0\1\157\73\0\1\160\1\0"+ - "\1\161\75\0\1\162\77\0\1\163\104\0\1\164\100\0"+ - "\1\165\71\0\1\166\17\0\7\65\1\0\3\65\1\0"+ - "\10\65\2\0\52\65\2\0\1\167\1\0\1\167\1\0"+ - "\1\170\6\0\2\167\1\0\1\167\1\0\1\167\3\0"+ - "\1\171\1\0\27\167\21\0\13\172\1\0\64\172\1\0"+ - "\2\72\1\0\2\72\6\0\3\72\1\0\1\72\1\0"+ - "\1\72\5\0\27\72\23\0\1\173\1\0\1\173\10\0"+ - "\2\173\1\0\1\173\1\0\1\173\5\0\27\173\22\0"+ - "\1\115\12\0\1\115\2\0\1\174\61\0\1\175\12\0"+ - "\1\175\4\0\1\175\40\0\1\175\16\0\2\100\1\0"+ - "\2\100\1\176\5\0\3\100\1\0\1\100\1\0\1\100"+ - "\5\0\27\100\22\0\2\101\1\0\2\101\6\0\3\101"+ - "\1\0\1\101\1\0\1\101\5\0\27\101\23\0\1\177"+ - "\1\0\1\177\10\0\2\177\1\0\1\177\1\0\1\177"+ - "\5\0\27\177\22\0\2\103\1\0\2\103\6\0\3\103"+ - "\1\0\1\103\1\0\1\103\5\0\27\103\23\0\1\200"+ - "\1\0\1\200\10\0\2\200\1\0\1\200\1\0\1\200"+ - "\5\0\27\200\21\0\13\106\1\0\64\106\12\201\1\202"+ - "\65\201\1\0\1\112\12\0\1\112\2\0\1\203\1\77"+ - "\12\0\1\77\45\0\2\113\11\0\1\113\1\0\1\113"+ - "\1\204\1\113\1\0\1\205\6\0\1\113\1\0\1\113"+ - "\1\0\1\205\1\113\5\0\1\113\5\0\1\113\3\0"+ - "\1\113\22\0\1\114\12\0\1\114\2\0\1\206\61\0"+ - "\1\115\12\0\1\115\3\0\1\77\12\0\1\77\44\0"+ - "\13\21\1\0\64\21\25\0\1\207\53\0\2\7\1\0"+ - "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ - "\2\7\1\210\24\7\22\0\2\7\1\0\2\7\6\0"+ - "\3\7\1\0\1\7\1\0\1\7\5\0\20\7\1\211"+ - "\6\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ - "\1\7\1\0\1\7\5\0\27\7\2\0\1\212\17\0"+ - "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ - "\1\7\5\0\4\7\1\213\22\7\22\0\2\7\1\0"+ - "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ - "\5\7\1\214\21\7\22\0\2\7\1\0\2\7\6\0"+ - "\3\7\1\0\1\7\1\0\1\7\5\0\1\215\26\7"+ + "\1\144\13\7\22\0\2\7\1\0\2\7\6\0\3\7"+ + "\1\0\1\7\1\0\1\7\5\0\17\7\1\145\7\7"+ "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\1\7\1\216\25\7\22\0\2\7"+ + "\1\0\1\7\5\0\1\7\1\146\5\7\1\147\2\7"+ + "\1\150\14\7\22\0\2\7\1\0\2\7\6\0\3\7"+ + "\1\0\1\7\1\0\1\7\5\0\17\7\1\151\7\7"+ + "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ + "\1\0\1\7\5\0\1\7\1\152\25\7\22\0\2\7"+ "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\15\7\1\217\11\7\22\0\2\7\1\0\2\7"+ + "\5\0\7\7\1\153\17\7\62\0\1\154\16\0\1\155"+ + "\77\0\1\156\3\0\1\157\73\0\1\160\1\0\1\161"+ + "\75\0\1\162\77\0\1\163\104\0\1\164\100\0\1\165"+ + "\71\0\1\166\17\0\7\65\2\0\13\65\2\0\52\65"+ + "\2\0\1\167\1\0\1\167\1\0\1\170\6\0\2\167"+ + "\1\0\1\167\1\0\1\167\3\0\1\171\1\0\27\167"+ + "\21\0\7\172\1\0\70\172\1\0\2\72\1\0\2\72"+ + "\6\0\3\72\1\0\1\72\1\0\1\72\5\0\27\72"+ + "\21\0\6\173\2\0\70\173\1\0\1\115\12\0\1\115"+ + "\2\0\1\174\61\0\1\175\12\0\1\175\4\0\1\175"+ + "\40\0\1\175\15\0\6\100\1\176\1\0\70\100\1\0"+ + "\2\101\1\0\2\101\6\0\3\101\1\0\1\101\1\0"+ + "\1\101\5\0\27\101\21\0\6\177\2\0\70\177\1\0"+ + "\2\103\1\0\2\103\6\0\3\103\1\0\1\103\1\0"+ + "\1\103\5\0\27\103\21\0\6\200\2\0\70\200\7\106"+ + "\1\0\70\106\13\201\1\202\64\201\1\0\1\112\12\0"+ + "\1\112\2\0\1\203\1\77\12\0\1\77\45\0\2\113"+ + "\11\0\1\113\1\0\1\113\1\204\1\113\1\0\1\205"+ + "\6\0\1\113\1\0\1\113\1\0\1\205\1\113\5\0"+ + "\1\113\5\0\1\113\3\0\1\113\22\0\1\114\12\0"+ + "\1\114\2\0\1\206\61\0\1\115\12\0\1\115\3\0"+ + "\1\77\12\0\1\77\44\0\7\21\1\0\70\21\25\0"+ + "\1\207\53\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\2\7\1\210\24\7\22\0"+ + "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ + "\1\7\5\0\20\7\1\211\6\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\27\7\2\0\1\212\17\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\4\7\1\213"+ + "\22\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\5\7\1\214\21\7\22\0"+ + "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ + "\1\7\5\0\1\215\26\7\22\0\2\7\1\0\2\7"+ "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\1\7"+ - "\1\220\10\7\1\221\10\7\1\222\3\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\11\7\1\223\1\7\1\224\13\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\5\7\1\225\21\7\22\0\2\7\1\0\2\7"+ - "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\10\7"+ - "\1\226\16\7\22\0\2\7\1\0\2\7\6\0\3\7"+ - "\1\0\1\7\1\0\1\7\5\0\3\7\1\227\23\7"+ + "\1\216\25\7\22\0\2\7\1\0\2\7\6\0\3\7"+ + "\1\0\1\7\1\0\1\7\5\0\15\7\1\217\11\7"+ "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\3\7\1\230\5\7\1\231\15\7"+ + "\1\0\1\7\5\0\1\7\1\220\10\7\1\221\10\7"+ + "\1\222\3\7\22\0\2\7\1\0\2\7\6\0\3\7"+ + "\1\0\1\7\1\0\1\7\5\0\11\7\1\223\1\7"+ + "\1\224\13\7\22\0\2\7\1\0\2\7\6\0\3\7"+ + "\1\0\1\7\1\0\1\7\5\0\5\7\1\225\21\7"+ "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\20\7\1\232\6\7\22\0\2\7"+ + "\1\0\1\7\5\0\10\7\1\226\16\7\22\0\2\7"+ "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\13\7\1\233\13\7\22\0\2\7\1\0\2\7"+ - "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\1\234"+ - "\26\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ - "\1\7\1\0\1\7\5\0\11\7\1\235\15\7\22\0"+ - "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ - "\1\7\5\0\13\7\1\236\4\7\1\237\6\7\51\0"+ - "\1\240\3\0\1\241\123\0\1\242\77\0\1\243\20\0"+ - "\2\167\1\0\2\167\6\0\3\167\1\0\1\167\1\0"+ - "\1\167\5\0\27\167\23\0\1\244\1\0\1\244\10\0"+ - "\2\244\1\0\1\244\1\0\1\244\5\0\27\244\22\0"+ - "\2\173\1\0\2\173\1\245\5\0\3\173\1\0\1\173"+ - "\1\0\1\173\5\0\27\173\22\0\1\175\12\0\1\175"+ - "\64\0\2\177\1\0\2\177\1\246\5\0\3\177\1\0"+ - "\1\177\1\0\1\177\5\0\27\177\22\0\2\200\1\0"+ - "\2\200\1\247\5\0\3\200\1\0\1\200\1\0\1\200"+ - "\5\0\27\200\21\0\12\201\1\250\65\201\11\251\1\252"+ - "\1\202\65\251\1\0\1\115\12\0\1\115\64\0\2\253"+ - "\11\0\1\253\1\0\1\253\1\174\1\253\10\0\1\253"+ - "\1\0\1\253\2\0\1\253\5\0\1\253\5\0\1\253"+ - "\3\0\1\253\22\0\1\175\12\0\1\175\4\0\1\254"+ - "\40\0\1\254\34\0\1\174\60\0\25\207\1\255\52\207"+ - "\1\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\3\7\1\256\23\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\20\7\1\257\6\7\22\0\2\7\1\0\2\7"+ + "\5\0\3\7\1\227\23\7\22\0\2\7\1\0\2\7"+ "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\3\7"+ - "\1\260\23\7\22\0\2\7\1\0\2\7\6\0\3\7"+ - "\1\0\1\7\1\0\1\7\5\0\3\7\1\261\23\7"+ + "\1\230\5\7\1\231\15\7\22\0\2\7\1\0\2\7"+ + "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\20\7"+ + "\1\232\6\7\22\0\2\7\1\0\2\7\6\0\3\7"+ + "\1\0\1\7\1\0\1\7\5\0\13\7\1\233\13\7"+ "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\10\7\1\262\16\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\4\7\1\263\22\7\22\0\2\7\1\0\2\7"+ - "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\3\7"+ - "\1\264\23\7\22\0\2\7\1\0\2\7\6\0\3\7"+ - "\1\0\1\7\1\0\1\7\5\0\11\7\1\265\15\7"+ - "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\3\7\1\266\23\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\4\7\1\267\22\7\22\0\2\7\1\0\2\7"+ - "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\7\7"+ - "\1\270\17\7\22\0\2\7\1\0\2\7\6\0\3\7"+ - "\1\0\1\7\1\0\1\7\5\0\3\7\1\271\23\7"+ - "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ - "\1\0\1\7\5\0\12\7\1\272\14\7\22\0\2\7"+ - "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ - "\5\0\1\7\1\273\25\7\22\0\2\7\1\0\2\7"+ - "\6\0\3\7\1\0\1\7\1\0\1\7\5\0\1\274"+ - "\26\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ - "\1\7\1\0\1\7\5\0\20\7\1\275\6\7\22\0"+ - "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ - "\1\7\5\0\4\7\1\276\22\7\22\0\2\7\1\0"+ + "\1\0\1\7\5\0\1\234\26\7\22\0\2\7\1\0"+ "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ - "\4\7\1\277\22\7\22\0\2\300\1\0\2\300\6\0"+ - "\3\300\1\0\1\300\1\0\1\300\5\0\27\300\22\0"+ - "\2\244\1\0\2\244\1\301\5\0\3\244\1\0\1\244"+ - "\1\0\1\244\5\0\27\244\21\0\11\201\1\302\1\250"+ - "\65\201\12\251\1\303\65\251\1\0\2\253\11\0\1\253"+ + "\11\7\1\235\15\7\22\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\13\7\1\236"+ + "\4\7\1\237\6\7\51\0\1\240\3\0\1\241\123\0"+ + "\1\242\77\0\1\243\20\0\2\167\1\0\2\167\6\0"+ + "\3\167\1\0\1\167\1\0\1\167\5\0\27\167\21\0"+ + "\6\244\2\0\70\244\6\173\1\245\1\0\70\173\1\0"+ + "\1\175\12\0\1\175\63\0\6\177\1\246\1\0\70\177"+ + "\6\200\1\247\1\0\70\200\13\201\1\250\64\201\12\251"+ + "\1\252\1\202\64\251\1\0\1\115\12\0\1\115\64\0"+ + "\2\253\11\0\1\253\1\0\1\253\1\174\1\253\10\0"+ + "\1\253\1\0\1\253\2\0\1\253\5\0\1\253\5\0"+ + "\1\253\3\0\1\253\22\0\1\175\12\0\1\175\4\0"+ + "\1\254\40\0\1\254\34\0\1\174\60\0\25\207\1\255"+ + "\52\207\1\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\3\7\1\256\23\7\22\0"+ + "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ + "\1\7\5\0\20\7\1\257\6\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\3\7\1\260\23\7\22\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\3\7\1\261"+ + "\23\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\10\7\1\262\16\7\22\0"+ + "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ + "\1\7\5\0\4\7\1\263\22\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\3\7\1\264\23\7\22\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\11\7\1\265"+ + "\15\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\3\7\1\266\23\7\22\0"+ + "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ + "\1\7\5\0\4\7\1\267\22\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\7\7\1\270\17\7\22\0\2\7\1\0\2\7\6\0"+ + "\3\7\1\0\1\7\1\0\1\7\5\0\3\7\1\271"+ + "\23\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+ + "\1\7\1\0\1\7\5\0\12\7\1\272\14\7\22\0"+ + "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ + "\1\7\5\0\1\7\1\273\25\7\22\0\2\7\1\0"+ + "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ + "\1\274\26\7\22\0\2\7\1\0\2\7\6\0\3\7"+ + "\1\0\1\7\1\0\1\7\5\0\20\7\1\275\6\7"+ + "\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+ + "\1\0\1\7\5\0\4\7\1\276\22\7\22\0\2\7"+ + "\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+ + "\5\0\4\7\1\277\22\7\22\0\2\300\1\0\2\300"+ + "\6\0\3\300\1\0\1\300\1\0\1\300\5\0\27\300"+ + "\21\0\6\244\1\301\1\0\70\244\12\201\1\302\1\250"+ + "\64\201\13\251\1\303\64\251\1\0\2\253\11\0\1\253"+ "\1\0\1\253\1\0\1\253\1\0\1\205\6\0\1\253"+ "\1\0\1\253\1\0\1\205\1\253\5\0\1\253\5\0"+ "\1\253\3\0\1\253\21\0\25\207\1\304\52\207\1\0"+ @@ -411,7 +400,7 @@ class _JetLexer implements FlexLexer { "\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+ "\3\7\1\316\23\7\22\0\2\7\1\0\2\7\6\0"+ "\3\7\1\0\1\7\1\0\1\7\5\0\3\7\1\317"+ - "\23\7\21\0\11\251\1\252\1\303\65\251\25\207\1\320"+ + "\23\7\21\0\12\251\1\252\1\303\64\251\25\207\1\320"+ "\52\207\1\0\2\7\1\0\2\7\6\0\3\7\1\0"+ "\1\7\1\0\1\7\5\0\5\7\1\321\21\7\22\0"+ "\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+ @@ -472,13 +461,13 @@ class _JetLexer implements FlexLexer { private static final String ZZ_ATTRIBUTE_PACKED_0 = "\4\0\1\11\15\1\2\11\21\1\1\11\6\1\10\11"+ - "\2\1\1\11\1\0\1\11\1\1\1\0\2\11\1\0"+ - "\1\1\1\0\1\1\1\0\1\1\1\0\1\11\2\1"+ - "\2\11\4\1\5\11\1\1\1\0\27\1\1\0\2\1"+ - "\10\11\1\1\1\0\2\11\1\0\1\11\1\1\1\11"+ - "\2\0\2\1\4\0\3\1\1\11\27\1\2\11\1\0"+ - "\3\11\1\0\1\1\1\11\1\1\2\0\22\1\3\11"+ - "\2\0\13\1\1\11\11\1"; + "\1\1\1\11\1\1\1\0\1\11\1\1\1\0\2\11"+ + "\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\11"+ + "\2\1\2\11\4\1\5\11\1\1\1\0\27\1\1\0"+ + "\2\1\10\11\1\1\1\0\2\11\1\0\1\11\1\1"+ + "\1\11\2\0\2\1\4\0\3\1\1\11\27\1\2\11"+ + "\1\0\3\11\1\0\1\1\1\11\1\1\2\0\22\1"+ + "\3\11\2\0\13\1\1\11\11\1"; private static int [] zzUnpackAttribute() { int [] result = new int[217]; diff --git a/compiler/testData/psi/QuotedIdentifiers.jet b/compiler/testData/psi/QuotedIdentifiers.jet index ecf9496efe6..d878c2ee8fa 100644 --- a/compiler/testData/psi/QuotedIdentifiers.jet +++ b/compiler/testData/psi/QuotedIdentifiers.jet @@ -1,3 +1,8 @@ [`return`] fun `namespace`() { `class`() } + +class `$` +class `$$` +class ` ` +class `1` diff --git a/compiler/testData/psi/QuotedIdentifiers.txt b/compiler/testData/psi/QuotedIdentifiers.txt index ce428edd419..43788d8c138 100644 --- a/compiler/testData/psi/QuotedIdentifiers.txt +++ b/compiler/testData/psi/QuotedIdentifiers.txt @@ -29,4 +29,32 @@ JetFile: QuotedIdentifiers.jet PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') \ No newline at end of file + PsiElement(RBRACE)('}') + PsiWhiteSpace('\n\n') + CLASS + PsiElement(class)('class') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('`$`') + PsiWhiteSpace('\n') + TYPE_PARAMETER_LIST + + CLASS + PsiElement(class)('class') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('`$$`') + PsiWhiteSpace('\n') + TYPE_PARAMETER_LIST + + CLASS + PsiElement(class)('class') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('` `') + PsiWhiteSpace('\n') + TYPE_PARAMETER_LIST + + CLASS + PsiElement(class)('class') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('`1`') + TYPE_PARAMETER_LIST +