diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java b/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java
index 340d2f2aa7c..d1858a3124f 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java
+++ b/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 11/27/15 4:10 PM */
+/* The following code was generated by JFlex 1.4.3 on 11/27/15 4:27 PM */
package org.jetbrains.kotlin.kdoc.lexer;
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.kdoc.parser.KDocKnownTag;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 11/27/15 4:10 PM from the specification file
+ * on 11/27/15 4:27 PM from the specification file
* /Users/abreslav/work/kotlin/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex
*/
class _KDocLexer implements FlexLexer {
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex b/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
index 623586cd746..81ad34e5a2b 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
+++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
@@ -251,7 +251,6 @@ LONG_TEMPLATE_ENTRY_START=\$\{
"this" { return KtTokens.THIS_KEYWORD ;}
"null" { return KtTokens.NULL_KEYWORD ;}
"else" { return KtTokens.ELSE_KEYWORD ;}
-"This" { return KtTokens.CAPITALIZED_THIS_KEYWORD ;}
"try" { return KtTokens.TRY_KEYWORD ;}
"val" { return KtTokens.VAL_KEYWORD ;}
"var" { return KtTokens.VAR_KEYWORD ;}
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java
index e44f1bba7ce..5901f46931d 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java
+++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java
@@ -76,9 +76,6 @@ public interface KtTokens {
KtKeywordToken DO_KEYWORD = KtKeywordToken.keyword("do");
KtKeywordToken WHEN_KEYWORD = KtKeywordToken.keyword("when");
KtKeywordToken INTERFACE_KEYWORD = KtKeywordToken.keyword("interface");
- // TODO: Discuss "This" keyword
- KtKeywordToken CAPITALIZED_THIS_KEYWORD = KtKeywordToken.keyword("This");
-
KtToken AS_SAFE = KtKeywordToken.keyword("AS_SAFE");//new KtToken("as?");
@@ -191,7 +188,7 @@ public interface KtTokens {
TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD,
IN_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD, CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD,
ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, TRY_KEYWORD, WHEN_KEYWORD,
- NOT_IN, NOT_IS, CAPITALIZED_THIS_KEYWORD, AS_SAFE
+ NOT_IN, NOT_IS, AS_SAFE
);
TokenSet SOFT_KEYWORDS = TokenSet.create(FILE_KEYWORD, IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, GET_KEYWORD,
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java b/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java
index c2203f9db6e..0c5465e7794 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java
+++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 11/27/15 4:10 PM */
+/* The following code was generated by JFlex 1.4.3 on 11/27/15 4:27 PM */
package org.jetbrains.kotlin.lexer;
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.lexer.KtTokens;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 11/27/15 4:10 PM from the specification file
+ * on 11/27/15 4:27 PM from the specification file
* /Users/abreslav/work/kotlin/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex
*/
class _JetLexer implements FlexLexer {
@@ -45,91 +45,91 @@ class _JetLexer implements FlexLexer {
*/
private static final String ZZ_CMAP_PACKED =
"\11\0\1\3\1\7\1\0\1\3\23\0\1\3\1\13\1\27\1\12"+
- "\1\10\1\70\1\66\1\24\1\74\1\75\1\36\1\63\1\77\1\23"+
- "\1\20\1\11\1\14\11\1\1\71\1\76\1\64\1\61\1\65\1\62"+
- "\1\100\1\2\1\16\2\2\1\22\1\21\5\4\1\17\7\4\1\56"+
- "\3\4\1\15\2\4\1\72\1\25\1\73\1\0\1\4\1\6\1\42"+
- "\1\53\1\47\1\60\1\41\1\46\1\52\1\32\1\33\1\54\1\51"+
- "\1\43\1\4\1\44\1\50\1\40\1\4\1\45\1\34\1\31\1\26"+
- "\1\57\1\55\1\15\1\37\1\4\1\30\1\67\1\35\54\0\1\4"+
- "\12\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4\1\0\u01ca\4"+
- "\4\0\14\4\16\0\5\4\7\0\1\4\1\0\1\4\201\0\5\4"+
- "\1\0\2\4\2\0\4\4\10\0\1\4\1\0\3\4\1\0\1\4"+
- "\1\0\24\4\1\0\123\4\1\0\213\4\10\0\236\4\11\0\46\4"+
- "\2\0\1\4\7\0\47\4\110\0\33\4\5\0\3\4\55\0\53\4"+
- "\25\0\12\5\4\0\2\4\1\0\143\4\1\0\1\4\17\0\2\4"+
- "\7\0\2\4\12\5\3\4\2\0\1\4\20\0\1\4\1\0\36\4"+
- "\35\0\131\4\13\0\1\4\16\0\12\5\41\4\11\0\2\4\4\0"+
- "\1\4\5\0\26\4\4\0\1\4\11\0\1\4\3\0\1\4\27\0"+
- "\31\4\253\0\66\4\3\0\1\4\22\0\1\4\7\0\12\4\4\0"+
- "\12\5\1\0\7\4\1\0\7\4\5\0\10\4\2\0\2\4\2\0"+
- "\26\4\1\0\7\4\1\0\1\4\3\0\4\4\3\0\1\4\20\0"+
- "\1\4\15\0\2\4\1\0\3\4\4\0\12\5\2\4\23\0\6\4"+
- "\4\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4\1\0\2\4"+
- "\1\0\2\4\37\0\4\4\1\0\1\4\7\0\12\5\2\0\3\4"+
- "\20\0\11\4\1\0\3\4\1\0\26\4\1\0\7\4\1\0\2\4"+
- "\1\0\5\4\3\0\1\4\22\0\1\4\17\0\2\4\4\0\12\5"+
- "\25\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4"+
- "\1\0\5\4\3\0\1\4\36\0\2\4\1\0\3\4\4\0\12\5"+
- "\1\0\1\4\21\0\1\4\1\0\6\4\3\0\3\4\1\0\4\4"+
- "\3\0\2\4\1\0\1\4\1\0\2\4\3\0\2\4\3\0\3\4"+
- "\3\0\14\4\26\0\1\4\25\0\12\5\25\0\10\4\1\0\3\4"+
- "\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4\32\0\2\4"+
- "\6\0\2\4\4\0\12\5\25\0\10\4\1\0\3\4\1\0\27\4"+
- "\1\0\12\4\1\0\5\4\3\0\1\4\40\0\1\4\1\0\2\4"+
- "\4\0\12\5\1\0\2\4\22\0\10\4\1\0\3\4\1\0\51\4"+
- "\2\0\1\4\20\0\1\4\21\0\2\4\4\0\12\5\12\0\6\4"+
- "\5\0\22\4\3\0\30\4\1\0\11\4\1\0\1\4\2\0\7\4"+
- "\72\0\60\4\1\0\2\4\14\0\7\4\11\0\12\5\47\0\2\4"+
- "\1\0\1\4\2\0\2\4\1\0\1\4\2\0\1\4\6\0\4\4"+
- "\1\0\7\4\1\0\3\4\1\0\1\4\1\0\1\4\2\0\2\4"+
- "\1\0\4\4\1\0\2\4\11\0\1\4\2\0\5\4\1\0\1\4"+
- "\11\0\12\5\2\0\2\4\42\0\1\4\37\0\12\5\26\0\10\4"+
- "\1\0\44\4\33\0\5\4\163\0\53\4\24\0\1\4\12\5\6\0"+
- "\6\4\4\0\4\4\3\0\1\4\3\0\2\4\7\0\3\4\4\0"+
- "\15\4\14\0\1\4\1\0\12\5\6\0\46\4\12\0\53\4\1\0"+
- "\1\4\3\0\u0149\4\1\0\4\4\2\0\7\4\1\0\1\4\1\0"+
- "\4\4\2\0\51\4\1\0\4\4\2\0\41\4\1\0\4\4\2\0"+
- "\7\4\1\0\1\4\1\0\4\4\2\0\17\4\1\0\71\4\1\0"+
- "\4\4\2\0\103\4\45\0\20\4\20\0\125\4\14\0\u026c\4\2\0"+
- "\21\4\1\0\32\4\5\0\113\4\25\0\15\4\1\0\4\4\16\0"+
- "\22\4\16\0\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0"+
- "\1\4\4\0\1\4\3\0\12\5\46\0\12\5\6\0\130\4\10\0"+
- "\51\4\1\0\1\4\5\0\106\4\12\0\35\4\51\0\12\5\36\4"+
- "\2\0\5\4\13\0\54\4\25\0\7\4\10\0\12\5\46\0\27\4"+
- "\11\0\65\4\53\0\12\5\6\0\12\5\15\0\1\4\135\0\57\4"+
- "\21\0\7\4\4\0\12\5\51\0\36\4\15\0\2\4\12\5\6\0"+
- "\46\4\32\0\44\4\34\0\12\5\3\0\3\4\12\5\44\4\153\0"+
- "\4\4\1\0\4\4\16\0\300\4\100\0\u0116\4\2\0\6\4\2\0"+
- "\46\4\2\0\6\4\2\0\10\4\1\0\1\4\1\0\1\4\1\0"+
- "\1\4\1\0\37\4\2\0\65\4\1\0\7\4\1\0\1\4\3\0"+
- "\3\4\1\0\7\4\3\0\4\4\2\0\6\4\4\0\15\4\5\0"+
- "\3\4\1\0\7\4\164\0\1\4\15\0\1\4\20\0\15\4\145\0"+
- "\1\4\4\0\1\4\2\0\12\4\1\0\1\4\3\0\5\4\6\0"+
- "\1\4\1\0\1\4\1\0\1\4\1\0\4\4\1\0\13\4\2\0"+
- "\4\4\5\0\5\4\4\0\1\4\64\0\2\4\u0a7b\0\57\4\1\0"+
- "\57\4\1\0\205\4\6\0\4\4\21\0\46\4\12\0\66\4\11\0"+
- "\1\4\20\0\27\4\11\0\7\4\1\0\7\4\1\0\7\4\1\0"+
- "\7\4\1\0\7\4\1\0\7\4\1\0\7\4\1\0\7\4\120\0"+
- "\1\4\u01d5\0\2\4\52\0\5\4\5\0\2\4\4\0\126\4\6\0"+
- "\3\4\1\0\132\4\1\0\4\4\5\0\51\4\3\0\136\4\21\0"+
- "\33\4\65\0\20\4\u0200\0\u19b6\4\112\0\u51cc\4\64\0\u048d\4\103\0"+
- "\56\4\2\0\u010d\4\3\0\20\4\12\5\2\4\24\0\57\4\20\0"+
- "\31\4\10\0\106\4\61\0\11\4\2\0\147\4\2\0\4\4\1\0"+
- "\2\4\16\0\12\4\120\0\10\4\1\0\3\4\1\0\4\4\1\0"+
- "\27\4\35\0\64\4\16\0\62\4\34\0\12\5\30\0\6\4\3\0"+
- "\1\4\4\0\12\5\34\4\12\0\27\4\31\0\35\4\7\0\57\4"+
- "\34\0\1\4\12\5\46\0\51\4\27\0\3\4\1\0\10\4\4\0"+
- "\12\5\6\0\27\4\3\0\1\4\5\0\60\4\1\0\1\4\3\0"+
- "\2\4\2\0\5\4\2\0\1\4\1\0\1\4\30\0\3\4\43\0"+
- "\6\4\2\0\6\4\2\0\6\4\11\0\7\4\1\0\7\4\221\0"+
- "\43\4\15\0\12\5\6\0\u2ba4\4\14\0\27\4\4\0\61\4\u2104\0"+
- "\u012e\4\2\0\76\4\2\0\152\4\46\0\7\4\14\0\5\4\5\0"+
- "\1\4\1\0\12\4\1\0\15\4\1\0\5\4\1\0\1\4\1\0"+
- "\2\4\1\0\2\4\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0"+
- "\66\4\50\0\14\4\164\0\5\4\1\0\207\4\23\0\12\5\7\0"+
- "\32\4\6\0\32\4\13\0\131\4\3\0\6\4\2\0\6\4\2\0"+
- "\6\4\2\0\3\4\43\0";
+ "\1\10\1\67\1\65\1\24\1\73\1\74\1\36\1\62\1\76\1\23"+
+ "\1\20\1\11\1\14\11\1\1\70\1\75\1\63\1\60\1\64\1\61"+
+ "\1\77\1\2\1\16\2\2\1\22\1\21\5\4\1\17\13\4\1\15"+
+ "\2\4\1\71\1\25\1\72\1\0\1\4\1\6\1\42\1\53\1\47"+
+ "\1\57\1\41\1\46\1\52\1\32\1\33\1\54\1\51\1\43\1\4"+
+ "\1\44\1\50\1\40\1\4\1\45\1\34\1\31\1\26\1\56\1\55"+
+ "\1\15\1\37\1\4\1\30\1\66\1\35\54\0\1\4\12\0\1\4"+
+ "\4\0\1\4\5\0\27\4\1\0\37\4\1\0\u01ca\4\4\0\14\4"+
+ "\16\0\5\4\7\0\1\4\1\0\1\4\201\0\5\4\1\0\2\4"+
+ "\2\0\4\4\10\0\1\4\1\0\3\4\1\0\1\4\1\0\24\4"+
+ "\1\0\123\4\1\0\213\4\10\0\236\4\11\0\46\4\2\0\1\4"+
+ "\7\0\47\4\110\0\33\4\5\0\3\4\55\0\53\4\25\0\12\5"+
+ "\4\0\2\4\1\0\143\4\1\0\1\4\17\0\2\4\7\0\2\4"+
+ "\12\5\3\4\2\0\1\4\20\0\1\4\1\0\36\4\35\0\131\4"+
+ "\13\0\1\4\16\0\12\5\41\4\11\0\2\4\4\0\1\4\5\0"+
+ "\26\4\4\0\1\4\11\0\1\4\3\0\1\4\27\0\31\4\253\0"+
+ "\66\4\3\0\1\4\22\0\1\4\7\0\12\4\4\0\12\5\1\0"+
+ "\7\4\1\0\7\4\5\0\10\4\2\0\2\4\2\0\26\4\1\0"+
+ "\7\4\1\0\1\4\3\0\4\4\3\0\1\4\20\0\1\4\15\0"+
+ "\2\4\1\0\3\4\4\0\12\5\2\4\23\0\6\4\4\0\2\4"+
+ "\2\0\26\4\1\0\7\4\1\0\2\4\1\0\2\4\1\0\2\4"+
+ "\37\0\4\4\1\0\1\4\7\0\12\5\2\0\3\4\20\0\11\4"+
+ "\1\0\3\4\1\0\26\4\1\0\7\4\1\0\2\4\1\0\5\4"+
+ "\3\0\1\4\22\0\1\4\17\0\2\4\4\0\12\5\25\0\10\4"+
+ "\2\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4\1\0\5\4"+
+ "\3\0\1\4\36\0\2\4\1\0\3\4\4\0\12\5\1\0\1\4"+
+ "\21\0\1\4\1\0\6\4\3\0\3\4\1\0\4\4\3\0\2\4"+
+ "\1\0\1\4\1\0\2\4\3\0\2\4\3\0\3\4\3\0\14\4"+
+ "\26\0\1\4\25\0\12\5\25\0\10\4\1\0\3\4\1\0\27\4"+
+ "\1\0\12\4\1\0\5\4\3\0\1\4\32\0\2\4\6\0\2\4"+
+ "\4\0\12\5\25\0\10\4\1\0\3\4\1\0\27\4\1\0\12\4"+
+ "\1\0\5\4\3\0\1\4\40\0\1\4\1\0\2\4\4\0\12\5"+
+ "\1\0\2\4\22\0\10\4\1\0\3\4\1\0\51\4\2\0\1\4"+
+ "\20\0\1\4\21\0\2\4\4\0\12\5\12\0\6\4\5\0\22\4"+
+ "\3\0\30\4\1\0\11\4\1\0\1\4\2\0\7\4\72\0\60\4"+
+ "\1\0\2\4\14\0\7\4\11\0\12\5\47\0\2\4\1\0\1\4"+
+ "\2\0\2\4\1\0\1\4\2\0\1\4\6\0\4\4\1\0\7\4"+
+ "\1\0\3\4\1\0\1\4\1\0\1\4\2\0\2\4\1\0\4\4"+
+ "\1\0\2\4\11\0\1\4\2\0\5\4\1\0\1\4\11\0\12\5"+
+ "\2\0\2\4\42\0\1\4\37\0\12\5\26\0\10\4\1\0\44\4"+
+ "\33\0\5\4\163\0\53\4\24\0\1\4\12\5\6\0\6\4\4\0"+
+ "\4\4\3\0\1\4\3\0\2\4\7\0\3\4\4\0\15\4\14\0"+
+ "\1\4\1\0\12\5\6\0\46\4\12\0\53\4\1\0\1\4\3\0"+
+ "\u0149\4\1\0\4\4\2\0\7\4\1\0\1\4\1\0\4\4\2\0"+
+ "\51\4\1\0\4\4\2\0\41\4\1\0\4\4\2\0\7\4\1\0"+
+ "\1\4\1\0\4\4\2\0\17\4\1\0\71\4\1\0\4\4\2\0"+
+ "\103\4\45\0\20\4\20\0\125\4\14\0\u026c\4\2\0\21\4\1\0"+
+ "\32\4\5\0\113\4\25\0\15\4\1\0\4\4\16\0\22\4\16\0"+
+ "\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0\1\4\4\0"+
+ "\1\4\3\0\12\5\46\0\12\5\6\0\130\4\10\0\51\4\1\0"+
+ "\1\4\5\0\106\4\12\0\35\4\51\0\12\5\36\4\2\0\5\4"+
+ "\13\0\54\4\25\0\7\4\10\0\12\5\46\0\27\4\11\0\65\4"+
+ "\53\0\12\5\6\0\12\5\15\0\1\4\135\0\57\4\21\0\7\4"+
+ "\4\0\12\5\51\0\36\4\15\0\2\4\12\5\6\0\46\4\32\0"+
+ "\44\4\34\0\12\5\3\0\3\4\12\5\44\4\153\0\4\4\1\0"+
+ "\4\4\16\0\300\4\100\0\u0116\4\2\0\6\4\2\0\46\4\2\0"+
+ "\6\4\2\0\10\4\1\0\1\4\1\0\1\4\1\0\1\4\1\0"+
+ "\37\4\2\0\65\4\1\0\7\4\1\0\1\4\3\0\3\4\1\0"+
+ "\7\4\3\0\4\4\2\0\6\4\4\0\15\4\5\0\3\4\1\0"+
+ "\7\4\164\0\1\4\15\0\1\4\20\0\15\4\145\0\1\4\4\0"+
+ "\1\4\2\0\12\4\1\0\1\4\3\0\5\4\6\0\1\4\1\0"+
+ "\1\4\1\0\1\4\1\0\4\4\1\0\13\4\2\0\4\4\5\0"+
+ "\5\4\4\0\1\4\64\0\2\4\u0a7b\0\57\4\1\0\57\4\1\0"+
+ "\205\4\6\0\4\4\21\0\46\4\12\0\66\4\11\0\1\4\20\0"+
+ "\27\4\11\0\7\4\1\0\7\4\1\0\7\4\1\0\7\4\1\0"+
+ "\7\4\1\0\7\4\1\0\7\4\1\0\7\4\120\0\1\4\u01d5\0"+
+ "\2\4\52\0\5\4\5\0\2\4\4\0\126\4\6\0\3\4\1\0"+
+ "\132\4\1\0\4\4\5\0\51\4\3\0\136\4\21\0\33\4\65\0"+
+ "\20\4\u0200\0\u19b6\4\112\0\u51cc\4\64\0\u048d\4\103\0\56\4\2\0"+
+ "\u010d\4\3\0\20\4\12\5\2\4\24\0\57\4\20\0\31\4\10\0"+
+ "\106\4\61\0\11\4\2\0\147\4\2\0\4\4\1\0\2\4\16\0"+
+ "\12\4\120\0\10\4\1\0\3\4\1\0\4\4\1\0\27\4\35\0"+
+ "\64\4\16\0\62\4\34\0\12\5\30\0\6\4\3\0\1\4\4\0"+
+ "\12\5\34\4\12\0\27\4\31\0\35\4\7\0\57\4\34\0\1\4"+
+ "\12\5\46\0\51\4\27\0\3\4\1\0\10\4\4\0\12\5\6\0"+
+ "\27\4\3\0\1\4\5\0\60\4\1\0\1\4\3\0\2\4\2\0"+
+ "\5\4\2\0\1\4\1\0\1\4\30\0\3\4\43\0\6\4\2\0"+
+ "\6\4\2\0\6\4\11\0\7\4\1\0\7\4\221\0\43\4\15\0"+
+ "\12\5\6\0\u2ba4\4\14\0\27\4\4\0\61\4\u2104\0\u012e\4\2\0"+
+ "\76\4\2\0\152\4\46\0\7\4\14\0\5\4\5\0\1\4\1\0"+
+ "\12\4\1\0\15\4\1\0\5\4\1\0\1\4\1\0\2\4\1\0"+
+ "\2\4\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0\66\4\50\0"+
+ "\14\4\164\0\5\4\1\0\207\4\23\0\12\5\7\0\32\4\6\0"+
+ "\32\4\13\0\131\4\3\0\6\4\2\0\6\4\2\0\6\4\2\0"+
+ "\3\4\43\0";
/**
* Translates characters to character classes
@@ -144,27 +144,27 @@ class _JetLexer implements FlexLexer {
private static final String ZZ_ACTION_PACKED_0 =
"\6\0\1\1\1\2\1\3\1\4\2\1\1\5\1\6"+
"\1\7\1\2\1\10\1\11\1\12\1\13\1\14\3\3"+
- "\1\15\1\16\15\3\1\17\1\20\1\21\1\22\1\23"+
+ "\1\15\1\16\14\3\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\1\35\1\36\1\35\1\1\1\37\2\35"+
"\1\40\1\1\1\40\3\41\1\42\1\43\1\2\1\0"+
"\2\44\1\0\1\45\1\0\1\46\1\47\1\50\1\51"+
"\1\0\1\52\1\0\2\2\1\44\1\53\1\54\1\55"+
"\1\56\2\12\1\0\3\3\1\57\1\60\1\61\1\3"+
- "\1\62\2\3\1\63\14\3\1\64\1\65\1\66\1\67"+
+ "\1\62\2\3\1\63\13\3\1\64\1\65\1\66\1\67"+
"\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77"+
"\1\100\1\0\1\101\2\102\2\0\1\40\1\103\1\104"+
"\1\0\1\105\1\44\1\3\1\0\1\106\1\107\1\110"+
"\1\111\1\0\1\112\1\113\4\3\1\114\4\3\1\115"+
- "\2\3\1\116\1\3\1\117\7\3\1\120\1\121\1\122"+
+ "\2\3\1\116\1\3\1\117\6\3\1\120\1\121\1\122"+
"\2\0\1\123\2\40\1\45\1\124\1\125\1\126\2\3"+
- "\1\127\3\3\1\130\1\131\7\3\1\132\1\133\1\100"+
- "\1\0\1\134\1\135\2\3\1\136\2\3\1\137\1\140"+
- "\2\3\1\141\1\142\1\0\3\3\1\143\1\3\1\144"+
- "\2\3\1\145\3\3\1\146\1\147\1\150";
+ "\1\127\3\3\1\130\1\131\7\3\1\132\1\100\1\0"+
+ "\1\133\1\134\2\3\1\135\2\3\1\136\1\137\2\3"+
+ "\1\140\1\141\1\0\3\3\1\142\1\3\1\143\2\3"+
+ "\1\144\3\3\1\145\1\146\1\147";
private static int [] zzUnpackAction() {
- int [] result = new int[233];
+ int [] result = new int[229];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
@@ -189,39 +189,38 @@ class _JetLexer implements FlexLexer {
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\101\0\202\0\303\0\u0104\0\u0145\0\u0186\0\u01c7"+
- "\0\u0208\0\u0249\0\u028a\0\u02cb\0\u030c\0\u034d\0\u038e\0\u03cf"+
- "\0\u0410\0\u0451\0\u0492\0\u04d3\0\u0186\0\u0514\0\u0555\0\u0596"+
- "\0\u0186\0\u05d7\0\u0618\0\u0659\0\u069a\0\u06db\0\u071c\0\u075d"+
- "\0\u079e\0\u07df\0\u0820\0\u0861\0\u08a2\0\u08e3\0\u0924\0\u0965"+
- "\0\u0186\0\u09a6\0\u09e7\0\u0a28\0\u0a69\0\u0aaa\0\u0aeb\0\u0b2c"+
- "\0\u0186\0\u0186\0\u0186\0\u0186\0\u0b6d\0\u0186\0\u0186\0\u0bae"+
- "\0\u0186\0\u0bef\0\u0c30\0\u0186\0\u0186\0\u0c71\0\u0cb2\0\u0cf3"+
- "\0\u0d34\0\u0186\0\u0d75\0\u0db6\0\u0186\0\u0186\0\u0df7\0\u0e38"+
- "\0\u0186\0\u0e79\0\u0eba\0\u0efb\0\u0f3c\0\u0f7d\0\u0fbe\0\u0186"+
- "\0\u0fff\0\u1040\0\u1081\0\u10c2\0\u1103\0\u1144\0\u1185\0\u11c6"+
- "\0\u0186\0\u0186\0\u0186\0\u0186\0\u1207\0\u1248\0\u1289\0\u12ca"+
- "\0\u130b\0\u0208\0\u134c\0\u0208\0\u138d\0\u0186\0\u13ce\0\u140f"+
- "\0\u1450\0\u1491\0\u14d2\0\u1513\0\u1554\0\u1595\0\u15d6\0\u1617"+
- "\0\u1658\0\u1699\0\u16da\0\u171b\0\u175c\0\u0208\0\u179d\0\u0186"+
- "\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186"+
- "\0\u0186\0\u17de\0\u181f\0\u0186\0\u0186\0\u1860\0\u18a1\0\u18e2"+
- "\0\u1923\0\u0186\0\u0186\0\u1964\0\u0186\0\u19a5\0\u0186\0\u19e6"+
- "\0\u1a27\0\u1a68\0\u1a68\0\u0186\0\u1aa9\0\u0186\0\u0186\0\u1aea"+
- "\0\u1b2b\0\u1b6c\0\u1bad\0\u0208\0\u1bee\0\u1c2f\0\u1c70\0\u1cb1"+
- "\0\u0186\0\u1cf2\0\u1d33\0\u0208\0\u1d74\0\u0208\0\u1db5\0\u1df6"+
- "\0\u1e37\0\u1e78\0\u1eb9\0\u1efa\0\u1f3b\0\u0208\0\u0208\0\u0186"+
- "\0\u1f7c\0\u1fbd\0\u18a1\0\u0186\0\u1ffe\0\u0186\0\u0186\0\u0186"+
- "\0\u0208\0\u203f\0\u2080\0\u0208\0\u20c1\0\u2102\0\u2143\0\u0208"+
- "\0\u0208\0\u2184\0\u21c5\0\u2206\0\u2247\0\u2288\0\u22c9\0\u230a"+
- "\0\u0208\0\u0208\0\u0186\0\u234b\0\u0cb2\0\u0208\0\u238c\0\u23cd"+
- "\0\u0208\0\u240e\0\u244f\0\u0208\0\u0208\0\u2490\0\u24d1\0\u0208"+
- "\0\u0208\0\u2512\0\u2553\0\u2594\0\u25d5\0\u0208\0\u2616\0\u0208"+
- "\0\u2657\0\u2698\0\u0208\0\u26d9\0\u271a\0\u275b\0\u0208\0\u0208"+
- "\0\u0208";
+ "\0\0\0\100\0\200\0\300\0\u0100\0\u0140\0\u0180\0\u01c0"+
+ "\0\u0200\0\u0240\0\u0280\0\u02c0\0\u0300\0\u0340\0\u0380\0\u03c0"+
+ "\0\u0400\0\u0440\0\u0480\0\u04c0\0\u0180\0\u0500\0\u0540\0\u0580"+
+ "\0\u0180\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\u08c0\0\u0900\0\u0180"+
+ "\0\u0940\0\u0980\0\u09c0\0\u0a00\0\u0a40\0\u0a80\0\u0ac0\0\u0180"+
+ "\0\u0180\0\u0180\0\u0180\0\u0b00\0\u0180\0\u0180\0\u0b40\0\u0180"+
+ "\0\u0b80\0\u0bc0\0\u0180\0\u0180\0\u0c00\0\u0c40\0\u0c80\0\u0cc0"+
+ "\0\u0180\0\u0d00\0\u0d40\0\u0180\0\u0180\0\u0d80\0\u0dc0\0\u0180"+
+ "\0\u0e00\0\u0e40\0\u0e80\0\u0ec0\0\u0f00\0\u0f40\0\u0180\0\u0f80"+
+ "\0\u0fc0\0\u1000\0\u1040\0\u1080\0\u10c0\0\u1100\0\u1140\0\u0180"+
+ "\0\u0180\0\u0180\0\u0180\0\u1180\0\u11c0\0\u1200\0\u1240\0\u1280"+
+ "\0\u0200\0\u12c0\0\u0200\0\u1300\0\u0180\0\u1340\0\u1380\0\u13c0"+
+ "\0\u1400\0\u1440\0\u1480\0\u14c0\0\u1500\0\u1540\0\u1580\0\u15c0"+
+ "\0\u1600\0\u1640\0\u1680\0\u0200\0\u16c0\0\u0180\0\u0180\0\u0180"+
+ "\0\u0180\0\u0180\0\u0180\0\u0180\0\u0180\0\u0180\0\u0180\0\u1700"+
+ "\0\u1740\0\u0180\0\u0180\0\u1780\0\u17c0\0\u1800\0\u1840\0\u0180"+
+ "\0\u0180\0\u1880\0\u0180\0\u18c0\0\u0180\0\u1900\0\u1940\0\u1980"+
+ "\0\u1980\0\u0180\0\u19c0\0\u0180\0\u0180\0\u1a00\0\u1a40\0\u1a80"+
+ "\0\u1ac0\0\u0200\0\u1b00\0\u1b40\0\u1b80\0\u1bc0\0\u0180\0\u1c00"+
+ "\0\u1c40\0\u0200\0\u1c80\0\u0200\0\u1cc0\0\u1d00\0\u1d40\0\u1d80"+
+ "\0\u1dc0\0\u1e00\0\u0200\0\u0200\0\u0180\0\u1e40\0\u1e80\0\u17c0"+
+ "\0\u0180\0\u1ec0\0\u0180\0\u0180\0\u0180\0\u0200\0\u1f00\0\u1f40"+
+ "\0\u0200\0\u1f80\0\u1fc0\0\u2000\0\u0200\0\u0200\0\u2040\0\u2080"+
+ "\0\u20c0\0\u2100\0\u2140\0\u2180\0\u21c0\0\u0200\0\u0180\0\u2200"+
+ "\0\u0c40\0\u0200\0\u2240\0\u2280\0\u0200\0\u22c0\0\u2300\0\u0200"+
+ "\0\u0200\0\u2340\0\u2380\0\u0200\0\u0200\0\u23c0\0\u2400\0\u2440"+
+ "\0\u2480\0\u0200\0\u24c0\0\u0200\0\u2500\0\u2540\0\u0200\0\u2580"+
+ "\0\u25c0\0\u2600\0\u0200\0\u0200\0\u0200";
private static int [] zzUnpackRowMap() {
- int [] result = new int[233];
+ int [] result = new int[229];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
@@ -251,244 +250,238 @@ class _JetLexer implements FlexLexer {
"\1\11\1\36\1\37\1\40\1\41\1\42\2\11\1\43"+
"\1\11\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\1\65\1\66\1\67\7\70\1\71\1\72"+
- "\14\70\1\73\1\70\1\74\60\70\1\75\1\72\14\70"+
- "\1\75\1\70\1\76\51\70\2\7\1\77\1\7\1\77"+
- "\1\7\1\100\1\0\5\7\3\77\1\7\2\77\3\7"+
- "\1\77\2\7\1\101\3\77\2\7\22\77\20\7\11\102"+
- "\1\103\24\102\1\104\42\102\1\7\1\10\1\11\1\12"+
- "\1\11\1\7\1\13\1\12\1\14\1\15\1\16\1\17"+
- "\1\20\3\11\1\21\2\11\1\22\1\23\1\7\1\11"+
- "\1\24\1\105\1\26\1\11\1\27\1\30\1\106\1\32"+
- "\1\11\1\33\1\34\1\35\1\11\1\36\1\37\1\40"+
- "\1\41\1\42\2\11\1\43\1\11\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\1\65\1\66"+
- "\1\67\102\0\1\10\12\0\1\10\2\0\1\107\1\110"+
- "\1\111\1\112\16\0\1\112\1\0\1\107\2\0\1\111"+
- "\33\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\22\11\23\0\1\12"+
- "\3\0\1\12\71\0\6\113\2\0\71\113\2\0\1\114"+
- "\1\0\1\114\1\0\1\115\6\0\3\114\1\0\2\114"+
- "\3\0\1\114\2\0\4\114\2\0\22\114\31\0\1\116"+
- "\24\0\1\117\22\0\1\120\32\0\1\121\120\0\1\122"+
- "\25\0\1\123\20\0\1\124\12\0\1\124\1\125\1\126"+
- "\1\107\1\110\1\111\1\112\16\0\1\112\1\0\1\107"+
- "\2\0\1\111\4\0\1\126\26\0\1\127\12\0\1\127"+
- "\3\0\1\130\103\0\1\131\35\0\1\132\3\0\1\133"+
- "\13\0\7\23\1\0\14\23\1\134\1\135\53\23\27\0"+
- "\1\136\52\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\1\11\1\137\2\11\2\0"+
- "\1\140\5\11\1\141\13\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\3\11"+
- "\1\142\2\0\5\11\1\143\1\11\1\144\12\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\145\2\0\4\11\2\0\22\11\101\0\1\146\20\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\3\11\1\147\16\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\4\11\1\150\15\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\3\11\1\151\2\0\22\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\152"+
- "\2\0\4\11\2\0\22\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\2\11\1\153\17\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\154\2\0\4\11"+
- "\2\0\3\11\1\155\5\11\1\156\10\11\21\0\2\11"+
+ "\1\63\1\64\1\65\1\66\7\67\1\70\1\71\14\67"+
+ "\1\72\1\67\1\73\57\67\1\74\1\71\14\67\1\74"+
+ "\1\67\1\75\50\67\2\7\1\76\1\7\1\76\1\7"+
+ "\1\77\1\0\5\7\3\76\1\7\2\76\3\7\1\76"+
+ "\2\7\1\100\3\76\2\7\21\76\20\7\11\101\1\102"+
+ "\24\101\1\103\41\101\1\7\1\10\1\11\1\12\1\11"+
+ "\1\7\1\13\1\12\1\14\1\15\1\16\1\17\1\20"+
+ "\3\11\1\21\2\11\1\22\1\23\1\7\1\11\1\24"+
+ "\1\104\1\26\1\11\1\27\1\30\1\105\1\32\1\11"+
+ "\1\33\1\34\1\35\1\11\1\36\1\37\1\40\1\41"+
+ "\1\42\2\11\1\43\1\11\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\1\65\1\66\101\0"+
+ "\1\10\12\0\1\10\2\0\1\106\1\107\1\110\1\111"+
+ "\16\0\1\111\1\0\1\106\2\0\1\110\32\0\2\11"+
"\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\4\11\1\157\4\11\1\160\10\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\14\11\1\161\5\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\6\11\1\162\13\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\1\11\1\163\2\11\2\0\22\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\1\11\1\164\2\11\2\0\22\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\3\11\1\165\16\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\11\11\1\166\10\11"+
- "\101\0\1\167\3\0\1\170\74\0\1\171\1\0\1\172"+
- "\76\0\1\173\100\0\1\174\105\0\1\175\101\0\1\176"+
- "\72\0\1\177\110\0\1\200\105\0\1\201\2\0\7\70"+
- "\2\0\14\70\1\0\1\70\1\0\51\70\2\0\1\202"+
- "\1\0\1\202\1\0\1\203\6\0\3\202\1\0\2\202"+
- "\3\0\1\202\1\0\1\204\4\202\2\0\22\202\20\0"+
- "\7\205\1\0\16\205\1\206\52\205\27\0\1\207\52\0"+
- "\2\77\1\0\2\77\6\0\4\77\1\0\2\77\3\0"+
- "\1\77\2\0\4\77\2\0\22\77\20\0\6\210\2\0"+
- "\71\210\1\0\2\77\1\0\2\77\6\0\4\77\1\0"+
- "\2\77\3\0\1\77\2\0\1\77\1\211\2\77\2\0"+
- "\22\77\56\0\1\212\53\0\1\213\107\0\1\214\61\0"+
- "\1\127\12\0\1\127\3\0\1\215\61\0\1\216\12\0"+
- "\1\216\4\0\1\111\1\0\1\216\22\0\1\111\14\0"+
- "\1\216\15\0\6\113\1\217\1\0\71\113\1\0\2\114"+
- "\1\0\2\114\6\0\4\114\1\0\2\114\3\0\1\114"+
- "\2\0\4\114\2\0\22\114\20\0\6\220\2\0\71\220"+
- "\7\116\1\0\71\116\36\0\1\221\42\0\7\121\1\0"+
- "\71\121\34\0\1\222\7\0\1\223\115\0\1\224\20\0"+
- "\1\124\12\0\1\124\3\0\1\225\1\111\1\112\16\0"+
- "\1\112\4\0\1\111\33\0\2\125\11\0\1\125\1\0"+
- "\1\125\1\107\1\214\2\125\16\0\2\125\1\107\2\0"+
- "\2\125\3\0\1\125\4\0\1\125\21\0\1\126\12\0"+
- "\1\126\2\0\1\107\1\214\22\0\1\107\36\0\1\127"+
- "\12\0\1\127\4\0\1\111\1\112\16\0\1\112\4\0"+
- "\1\111\52\0\1\226\60\0\7\23\1\0\71\23\27\0"+
- "\1\227\52\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\2\11\1\230\1\11\2\0"+
- "\6\11\1\231\13\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\1\11\1\232\20\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\233\2\0\4\11\2\0"+
- "\1\234\21\11\21\0\2\11\1\0\2\11\6\0\4\11"+
- "\1\0\2\11\3\0\1\11\2\0\1\235\3\11\2\0"+
- "\22\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\1\11\1\236"+
- "\20\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\10\11\1\237"+
- "\11\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\3\11\1\240\2\0\22\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\22\11\1\0\1\241"+
- "\17\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\4\11\1\242\15\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\1\243\3\11\2\0\22\11\21\0"+
+ "\2\0\4\11\2\0\21\11\23\0\1\12\3\0\1\12"+
+ "\70\0\6\112\2\0\70\112\2\0\1\113\1\0\1\113"+
+ "\1\0\1\114\6\0\3\113\1\0\2\113\3\0\1\113"+
+ "\2\0\4\113\2\0\21\113\31\0\1\115\24\0\1\116"+
+ "\21\0\1\117\32\0\1\120\117\0\1\121\24\0\1\122"+
+ "\20\0\1\123\12\0\1\123\1\124\1\125\1\106\1\107"+
+ "\1\110\1\111\16\0\1\111\1\0\1\106\2\0\1\110"+
+ "\4\0\1\125\25\0\1\126\12\0\1\126\3\0\1\127"+
+ "\102\0\1\130\34\0\1\131\3\0\1\132\13\0\7\23"+
+ "\1\0\14\23\1\133\1\134\52\23\27\0\1\135\51\0"+
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\5\11\1\244\14\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\4\11\1\245\15\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\6\11\1\246\13\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\3\11\1\247\16\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\5\11\1\250\14\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\15\11\1\251\4\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\4\11\2\0\2\11\1\252\17\11\21\0"+
- "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
- "\1\11\2\0\2\11\1\253\1\11\2\0\2\11\1\254"+
- "\17\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\2\11\1\255\1\11\2\0"+
- "\22\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\4\11\1\256"+
- "\1\11\1\257\13\11\101\0\1\260\20\0\2\202\1\0"+
- "\2\202\6\0\4\202\1\0\2\202\3\0\1\202\2\0"+
- "\4\202\2\0\22\202\20\0\6\261\2\0\71\261\1\0"+
- "\2\262\11\0\1\262\1\0\1\262\2\0\2\262\16\0"+
- "\2\262\3\0\2\262\3\0\1\262\4\0\1\262\47\0"+
- "\1\263\51\0\6\210\1\264\1\0\71\210\1\0\2\77"+
- "\1\0\2\77\6\0\4\77\1\0\2\77\3\0\1\77"+
- "\2\0\2\77\1\265\1\77\2\0\22\77\40\0\1\215"+
- "\61\0\1\216\12\0\1\216\4\0\1\111\24\0\1\111"+
- "\32\0\6\220\1\266\1\0\71\220\11\0\1\267\70\0"+
- "\2\270\1\0\2\270\6\0\4\270\1\0\2\270\3\0"+
- "\1\270\2\0\4\270\2\0\22\270\21\0\1\127\12\0"+
- "\1\127\65\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\3\11\1\271\2\0\22\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\11\11\1\272\10\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\2\11\1\273\17\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\2\11\1\274\17\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\2\11\1\275\17\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\2\11\1\276\17\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\12\11\1\277\7\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\2\11\1\300\17\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\11\2\0\4\11\2\0\4\11\1\301\15\11"+
- "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
- "\3\0\1\302\2\0\4\11\2\0\22\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\3\11\1\303\2\0\22\11\21\0\2\11\1\0"+
+ "\1\11\2\0\1\11\1\136\2\11\2\0\1\137\5\11"+
+ "\1\140\12\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\1\0\2\11\3\0\1\11\2\0\3\11\1\141\2\0"+
+ "\5\11\1\142\1\11\1\143\11\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\144\2\0"+
+ "\4\11\2\0\21\11\100\0\1\145\20\0\2\11\1\0"+
"\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\3\11\1\304\2\0\22\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\1\305"+
- "\3\11\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\2\11\1\306\17\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\3\11\1\307\16\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\4\11\1\310\15\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
- "\5\11\1\311\14\11\21\0\2\11\1\0\2\11\6\0"+
- "\4\11\1\0\2\11\3\0\1\11\2\0\3\11\1\312"+
- "\2\0\22\11\20\0\6\261\1\313\1\0\71\261\1\0"+
- "\2\314\11\0\1\314\1\0\1\314\2\0\2\314\16\0"+
- "\2\314\3\0\2\314\3\0\1\314\4\0\1\314\21\0"+
- "\2\77\1\0\2\77\6\0\4\77\1\0\2\77\3\0"+
- "\1\77\2\0\3\77\1\315\2\0\22\77\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\16\11\1\316\3\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\3\11\1\317\16\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\6\11\1\320\13\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\6\11\1\321\13\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\3\11\1\322\16\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\6\11\1\323\13\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\4\11\2\0\2\11\1\324\17\11\21\0\2\11"+
- "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
- "\2\0\3\11\1\325\2\0\22\11\21\0\2\11\1\0"+
+ "\4\11\2\0\3\11\1\146\15\11\21\0\2\11\1\0"+
"\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\2\11\1\326\1\11\2\0\22\11\21\0\2\11\1\0"+
+ "\4\11\2\0\4\11\1\147\14\11\21\0\2\11\1\0"+
"\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\10\11\1\327\11\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\12\11\1\330\7\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\2\11\1\331\17\11\21\0\2\332\11\0"+
- "\1\332\1\0\1\332\2\0\2\332\16\0\2\332\3\0"+
- "\2\332\3\0\1\332\4\0\1\332\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\4\11\1\333\15\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\7\11\1\334\12\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\13\11\1\335\6\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\5\11\1\336\14\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\4\11\2\0\5\11\1\337\14\11\21\0\2\11\1\0"+
- "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
- "\1\340\3\11\2\0\22\11\21\0\2\205\11\0\1\205"+
- "\1\0\1\205\2\0\2\205\16\0\2\205\3\0\2\205"+
- "\3\0\1\205\4\0\1\205\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\2\11"+
- "\1\341\1\11\2\0\22\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\3\11\1\342\16\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
- "\2\0\2\11\1\343\17\11\21\0\2\11\1\0\2\11"+
- "\6\0\4\11\1\0\2\11\3\0\1\344\2\0\4\11"+
- "\2\0\22\11\21\0\2\11\1\0\2\11\6\0\4\11"+
- "\1\0\2\11\3\0\1\11\2\0\4\11\2\0\3\11"+
- "\1\345\16\11\21\0\2\11\1\0\2\11\6\0\4\11"+
- "\1\0\2\11\3\0\1\11\2\0\4\11\2\0\10\11"+
- "\1\346\11\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\3\11\1\150\2\0\21\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\151\2\0\4\11"+
+ "\2\0\21\11\21\0\2\11\1\0\2\11\6\0\4\11"+
"\1\0\2\11\3\0\1\11\2\0\4\11\2\0\2\11"+
- "\1\347\17\11\21\0\2\11\1\0\2\11\6\0\4\11"+
- "\1\0\2\11\3\0\1\11\2\0\3\11\1\350\2\0"+
- "\22\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
- "\2\11\3\0\1\11\2\0\4\11\2\0\2\11\1\351"+
- "\17\11\20\0";
+ "\1\152\16\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\1\0\2\11\3\0\1\153\2\0\4\11\2\0\3\11"+
+ "\1\154\5\11\1\155\7\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\4\11\1\156\4\11\1\157\7\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\14\11\1\160\4\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\6\11\1\161\12\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\1\11\1\162\2\11\2\0\21\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\3\11\1\163\15\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\11\11\1\164\7\11\100\0\1\165"+
+ "\3\0\1\166\73\0\1\167\1\0\1\170\75\0\1\171"+
+ "\77\0\1\172\104\0\1\173\100\0\1\174\71\0\1\175"+
+ "\107\0\1\176\104\0\1\177\2\0\7\67\2\0\14\67"+
+ "\1\0\1\67\1\0\50\67\2\0\1\200\1\0\1\200"+
+ "\1\0\1\201\6\0\3\200\1\0\2\200\3\0\1\200"+
+ "\1\0\1\202\4\200\2\0\21\200\20\0\7\203\1\0"+
+ "\16\203\1\204\51\203\27\0\1\205\51\0\2\76\1\0"+
+ "\2\76\6\0\4\76\1\0\2\76\3\0\1\76\2\0"+
+ "\4\76\2\0\21\76\20\0\6\206\2\0\70\206\1\0"+
+ "\2\76\1\0\2\76\6\0\4\76\1\0\2\76\3\0"+
+ "\1\76\2\0\1\76\1\207\2\76\2\0\21\76\56\0"+
+ "\1\210\52\0\1\211\106\0\1\212\60\0\1\126\12\0"+
+ "\1\126\3\0\1\213\60\0\1\214\12\0\1\214\4\0"+
+ "\1\110\1\0\1\214\22\0\1\110\13\0\1\214\15\0"+
+ "\6\112\1\215\1\0\70\112\1\0\2\113\1\0\2\113"+
+ "\6\0\4\113\1\0\2\113\3\0\1\113\2\0\4\113"+
+ "\2\0\21\113\20\0\6\216\2\0\70\216\7\115\1\0"+
+ "\70\115\36\0\1\217\41\0\7\120\1\0\70\120\34\0"+
+ "\1\220\7\0\1\221\113\0\1\222\20\0\1\123\12\0"+
+ "\1\123\3\0\1\223\1\110\1\111\16\0\1\111\4\0"+
+ "\1\110\32\0\2\124\11\0\1\124\1\0\1\124\1\106"+
+ "\1\212\2\124\16\0\2\124\1\106\2\0\2\124\3\0"+
+ "\1\124\3\0\1\124\21\0\1\125\12\0\1\125\2\0"+
+ "\1\106\1\212\22\0\1\106\35\0\1\126\12\0\1\126"+
+ "\4\0\1\110\1\111\16\0\1\111\4\0\1\110\51\0"+
+ "\1\224\57\0\7\23\1\0\70\23\27\0\1\225\51\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\2\11\1\226\1\11\2\0\6\11\1\227"+
+ "\12\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\1\11\1\230"+
+ "\17\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\231\2\0\4\11\2\0\1\232\20\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\1\233\3\11\2\0\21\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\1\11\1\234\17\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\10\11\1\235\10\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\3\11\1\236\2\0\21\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\21\11\1\0\1\237\17\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\4\11\1\240\14\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\1\241\3\11\2\0\21\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\5\11\1\242\13\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\4\11\1\243\14\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\6\11\1\244\12\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\3\11\1\245\15\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\5\11\1\246\13\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\15\11\1\247\3\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\2\11\1\250\16\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\2\11\1\251\1\11\2\0\2\11\1\252\16\11\21\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\4\11\2\0\4\11\1\253\1\11\1\254"+
+ "\12\11\100\0\1\255\20\0\2\200\1\0\2\200\6\0"+
+ "\4\200\1\0\2\200\3\0\1\200\2\0\4\200\2\0"+
+ "\21\200\20\0\6\256\2\0\70\256\1\0\2\257\11\0"+
+ "\1\257\1\0\1\257\2\0\2\257\16\0\2\257\3\0"+
+ "\2\257\3\0\1\257\3\0\1\257\47\0\1\260\50\0"+
+ "\6\206\1\261\1\0\70\206\1\0\2\76\1\0\2\76"+
+ "\6\0\4\76\1\0\2\76\3\0\1\76\2\0\2\76"+
+ "\1\262\1\76\2\0\21\76\40\0\1\213\60\0\1\214"+
+ "\12\0\1\214\4\0\1\110\24\0\1\110\31\0\6\216"+
+ "\1\263\1\0\70\216\11\0\1\264\67\0\2\265\1\0"+
+ "\2\265\6\0\4\265\1\0\2\265\3\0\1\265\2\0"+
+ "\4\265\2\0\21\265\21\0\1\126\12\0\1\126\64\0"+
+ "\2\11\1\0\2\11\6\0\4\11\1\0\2\11\3\0"+
+ "\1\11\2\0\3\11\1\266\2\0\21\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\11\11\1\267\7\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\2\11\1\270\16\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\2\11\1\271\16\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\2\11\1\272\16\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\2\11\1\273\16\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\12\11\1\274\6\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\2\11\1\275\16\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\11"+
+ "\2\0\4\11\2\0\4\11\1\276\14\11\21\0\2\11"+
+ "\1\0\2\11\6\0\4\11\1\0\2\11\3\0\1\277"+
+ "\2\0\4\11\2\0\21\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\3\11"+
+ "\1\300\2\0\21\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\3\11\1\301"+
+ "\2\0\21\11\21\0\2\11\1\0\2\11\6\0\4\11"+
+ "\1\0\2\11\3\0\1\11\2\0\1\302\3\11\2\0"+
+ "\21\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\2\11\1\303"+
+ "\16\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\3\11\1\304"+
+ "\15\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\4\11\1\305"+
+ "\14\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\5\11\1\306"+
+ "\13\11\20\0\6\256\1\307\1\0\70\256\1\0\2\310"+
+ "\11\0\1\310\1\0\1\310\2\0\2\310\16\0\2\310"+
+ "\3\0\2\310\3\0\1\310\3\0\1\310\21\0\2\76"+
+ "\1\0\2\76\6\0\4\76\1\0\2\76\3\0\1\76"+
+ "\2\0\3\76\1\311\2\0\21\76\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\16\11\1\312\2\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\3\11\1\313\15\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\6\11\1\314\12\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\6\11\1\315\12\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\3\11\1\316\15\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\6\11\1\317\12\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\4\11\2\0\2\11\1\320\16\11\21\0\2\11\1\0"+
+ "\2\11\6\0\4\11\1\0\2\11\3\0\1\11\2\0"+
+ "\3\11\1\321\2\0\21\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\2\11"+
+ "\1\322\1\11\2\0\21\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\10\11\1\323\10\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\12\11\1\324\6\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\2\11\1\325\16\11\21\0\2\326\11\0\1\326"+
+ "\1\0\1\326\2\0\2\326\16\0\2\326\3\0\2\326"+
+ "\3\0\1\326\3\0\1\326\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\4\11\1\327\14\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\7\11\1\330\11\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\13\11\1\331\5\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\5\11\1\332\13\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\4\11"+
+ "\2\0\5\11\1\333\13\11\21\0\2\11\1\0\2\11"+
+ "\6\0\4\11\1\0\2\11\3\0\1\11\2\0\1\334"+
+ "\3\11\2\0\21\11\21\0\2\203\11\0\1\203\1\0"+
+ "\1\203\2\0\2\203\16\0\2\203\3\0\2\203\3\0"+
+ "\1\203\3\0\1\203\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\2\11\1\335"+
+ "\1\11\2\0\21\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
+ "\3\11\1\336\15\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\11\2\0\4\11\2\0"+
+ "\2\11\1\337\16\11\21\0\2\11\1\0\2\11\6\0"+
+ "\4\11\1\0\2\11\3\0\1\340\2\0\4\11\2\0"+
+ "\21\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\3\11\1\341"+
+ "\15\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\10\11\1\342"+
+ "\10\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\4\11\2\0\2\11\1\343"+
+ "\16\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
+ "\2\11\3\0\1\11\2\0\3\11\1\344\2\0\21\11"+
+ "\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
+ "\3\0\1\11\2\0\4\11\2\0\2\11\1\345\16\11"+
+ "\20\0";
private static int [] zzUnpackTrans() {
- int [] result = new int[10140];
+ int [] result = new int[9792];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
@@ -529,18 +522,18 @@ class _JetLexer implements FlexLexer {
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\6\0\1\11\15\1\1\11\3\1\1\11\17\1\1\11"+
+ "\6\0\1\11\15\1\1\11\3\1\1\11\16\1\1\11"+
"\7\1\4\11\1\1\2\11\1\1\1\11\2\1\2\11"+
"\4\1\1\11\2\1\2\11\1\1\1\0\1\11\1\1"+
"\1\0\1\1\1\0\2\1\1\11\1\1\1\0\1\1"+
- "\1\0\4\1\4\11\1\1\1\0\7\1\1\11\21\1"+
+ "\1\0\4\1\4\11\1\1\1\0\7\1\1\11\20\1"+
"\12\11\1\1\1\0\2\11\1\1\2\0\1\1\2\11"+
"\1\0\1\11\1\1\1\11\1\0\3\1\1\11\1\0"+
- "\2\11\11\1\1\11\16\1\1\11\2\0\1\1\1\11"+
- "\1\1\3\11\22\1\1\11\1\0\15\1\1\0\17\1";
+ "\2\11\11\1\1\11\15\1\1\11\2\0\1\1\1\11"+
+ "\1\1\3\11\21\1\1\11\1\0\15\1\1\0\17\1";
private static int [] zzUnpackAttribute() {
- int [] result = new int[233];
+ int [] result = new int[229];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
@@ -664,7 +657,7 @@ class _JetLexer implements FlexLexer {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1708) {
+ while (i < 1704) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
@@ -890,167 +883,167 @@ class _JetLexer implements FlexLexer {
case 22:
{ return KtTokens.LBRACKET ;
}
- case 105: break;
+ case 104: break;
case 78:
{ return KtTokens.FUN_KEYWORD ;
}
- case 106: break;
+ case 105: break;
case 48:
{ return KtTokens.IN_KEYWORD ;
}
- case 107: break;
+ case 106: break;
case 58:
{ return KtTokens.GTEQ ;
}
- case 108: break;
+ case 107: break;
case 87:
{ return KtTokens.TRUE_KEYWORD ;
}
- case 109: break;
+ case 108: break;
case 13:
{ return KtTokens.RBRACE ;
}
- case 110: break;
+ case 109: break;
case 10:
{ return KtTokens.CHARACTER_LITERAL;
}
- case 111: break;
+ case 110: break;
case 7:
{ return KtTokens.EXCL ;
}
- case 112: break;
+ case 111: break;
case 80:
{ return KtTokens.VAL_KEYWORD ;
}
- case 113: break;
+ case 112: break;
case 42:
{ return KtTokens.EXCLEQ ;
}
- case 114: break;
+ case 113: break;
case 45:
{ return KtTokens.MINUSEQ ;
}
- case 115: break;
+ case 114: break;
case 36:
{ return KtTokens.FLOAT_LITERAL;
}
- case 116: break;
+ case 115: break;
case 51:
{ return KtTokens.AS_KEYWORD ;
}
- case 117: break;
+ case 116: break;
case 90:
{ return KtTokens.WHEN_KEYWORD ;
}
- case 118: break;
+ case 117: break;
case 16:
{ return KtTokens.QUEST ;
}
- case 119: break;
- case 95:
+ case 118: break;
+ case 94:
{ return KtTokens.FALSE_KEYWORD ;
}
- case 120: break;
+ case 119: break;
case 34:
{ lBraceCount++; return KtTokens.LBRACE;
}
- case 121: break;
+ case 120: break;
case 44:
{ return KtTokens.MINUSMINUS;
}
- case 122: break;
+ case 121: break;
case 66:
{ return KtTokens.ESCAPE_SEQUENCE;
}
- case 123: break;
+ case 122: break;
case 5:
{ return KtTokens.DIV ;
}
- case 124: break;
+ case 123: break;
case 79:
{ return KtTokens.FOR_KEYWORD ;
}
- case 125: break;
+ case 124: break;
case 30:
{ popState(); yypushback(1); return KtTokens.DANGLING_NEWLINE;
}
- case 126: break;
+ case 125: break;
case 52:
{ return KtTokens.DO_KEYWORD ;
}
- case 127: break;
- case 102:
+ case 126: break;
+ case 101:
{ return KtTokens.CONTINUE_KEYWORD ;
}
- case 128: break;
- case 104:
+ case 127: break;
+ case 103:
{ return KtTokens.INTERFACE_KEYWORD ;
}
- case 129: break;
+ case 128: break;
case 75:
{ pushState(RAW_STRING); return KtTokens.OPEN_QUOTE;
}
- case 130: break;
+ case 129: break;
case 4:
{ return KtTokens.WHITE_SPACE;
}
- case 131: break;
- case 97:
+ case 130: break;
+ case 96:
{ return KtTokens.BREAK_KEYWORD ;
}
- case 132: break;
+ case 131: break;
case 85:
{ yypushback(3); return KtTokens.EXCL;
}
- case 133: break;
+ case 132: break;
case 60:
{ return KtTokens.OROR ;
}
- case 134: break;
+ case 133: break;
case 20:
{ return KtTokens.PERC ;
}
- case 135: break;
+ case 134: break;
case 73:
{ return KtTokens.EXCLEQEQEQ;
}
- case 136: break;
+ case 135: break;
case 61:
{ return KtTokens.PERCEQ ;
}
- case 137: break;
+ case 136: break;
case 43:
{ return KtTokens.RANGE ;
}
- case 138: break;
+ case 137: break;
case 54:
{ return KtTokens.DOUBLE_ARROW;
}
- case 139: break;
+ case 138: break;
case 38:
{ return KtTokens.EOL_COMMENT;
}
- case 140: break;
+ case 139: break;
case 31:
{ popState(); return KtTokens.CLOSING_QUOTE;
}
- case 141: break;
+ case 140: break;
case 14:
{ return KtTokens.MUL ;
}
- case 142: break;
+ case 141: break;
case 23:
{ return KtTokens.RBRACKET ;
}
- case 143: break;
+ case 142: break;
case 56:
{ return KtTokens.PLUSPLUS ;
}
- case 144: break;
- case 100:
+ case 143: break;
+ case 99:
{ return KtTokens.OBJECT_KEYWORD ;
}
- case 145: break;
+ case 144: break;
case 68:
{ if (commentDepth > 0) {
commentDepth--;
@@ -1062,93 +1055,93 @@ class _JetLexer implements FlexLexer {
return commentStateToTokenType(state);
}
}
- case 146: break;
+ case 145: break;
case 8:
{ return KtTokens.DOT ;
}
- case 147: break;
+ case 146: break;
case 26:
{ return KtTokens.SEMICOLON ;
}
- case 148: break;
+ case 147: break;
case 69:
{ yypushback(2); return KtTokens.INTEGER_LITERAL;
}
- case 149: break;
+ case 148: break;
case 32:
{ popState(); return KtTokens.IDENTIFIER;
}
- case 150: break;
+ case 149: break;
case 81:
{ return KtTokens.VAR_KEYWORD ;
}
- case 151: break;
- case 103:
+ case 150: break;
+ case 102:
{ return KtTokens.TYPE_ALIAS_KEYWORD ;
}
- case 152: break;
- case 99:
+ case 151: break;
+ case 98:
{ return KtTokens.RETURN_KEYWORD ;
}
- case 153: break;
+ case 152: break;
case 37:
{ return KtTokens.FIELD_IDENTIFIER;
}
- case 154: break;
+ case 153: break;
case 15:
{ return KtTokens.EQ ;
}
- case 155: break;
+ case 154: break;
case 28:
{ return KtTokens.AT ;
}
- case 156: break;
+ case 155: break;
case 76:
{ return KtTokens.TRY_KEYWORD ;
}
- case 157: break;
+ case 156: break;
case 24:
{ return KtTokens.LPAR ;
}
- case 158: break;
+ case 157: break;
case 9:
{ return KtTokens.MINUS ;
}
- case 159: break;
+ case 158: break;
case 70:
{ pushState(DOC_COMMENT);
commentDepth = 0;
commentStart = getTokenStart();
}
- case 160: break;
+ case 159: break;
case 86:
{ return KtTokens.THIS_KEYWORD ;
}
- case 161: break;
+ case 160: break;
case 1:
{ return TokenType.BAD_CHARACTER;
}
- case 162: break;
- case 98:
+ case 161: break;
+ case 97:
{ return KtTokens.WHILE_KEYWORD ;
}
- case 163: break;
+ case 162: break;
case 40:
{ return KtTokens.DIVEQ ;
}
- case 164: break;
- case 96:
+ case 163: break;
+ case 95:
{ return KtTokens.CLASS_KEYWORD ;
}
- case 165: break;
+ case 164: break;
case 53:
{ return KtTokens.EQEQ ;
}
- case 166: break;
+ case 165: break;
case 82:
{ return KtTokens.EQEQEQ ;
}
- case 167: break;
+ case 166: break;
case 83:
{ int length = yytext().length();
if (length <= 3) { // closing """
@@ -1160,125 +1153,121 @@ class _JetLexer implements FlexLexer {
return KtTokens.REGULAR_STRING_PART;
}
}
- case 168: break;
+ case 167: break;
case 50:
{ return KtTokens.MULTEQ ;
}
- case 169: break;
+ case 168: break;
case 65:
{ pushState(LONG_TEMPLATE_ENTRY); return KtTokens.LONG_TEMPLATE_ENTRY_START;
}
- case 170: break;
+ case 169: break;
case 12:
{ return KtTokens.LBRACE ;
}
- case 171: break;
+ case 170: break;
case 39:
{ pushState(BLOCK_COMMENT);
commentDepth = 0;
commentStart = getTokenStart();
}
- case 172: break;
- case 93:
+ case 171: break;
+ case 92:
{ return KtTokens.THROW_KEYWORD ;
}
- case 173: break;
- case 94:
+ case 172: break;
+ case 93:
{ return KtTokens.SUPER_KEYWORD ;
}
- case 174: break;
+ case 173: break;
case 62:
{ return KtTokens.COLONCOLON;
}
- case 175: break;
+ case 174: break;
case 72:
{ return KtTokens.NOT_IN;
}
- case 176: break;
+ case 175: break;
case 63:
{ return KtTokens.DOUBLE_SEMICOLON;
}
- case 177: break;
+ case 176: break;
case 6:
{ return KtTokens.HASH ;
}
- case 178: break;
+ case 177: break;
case 3:
{ return KtTokens.IDENTIFIER;
}
- case 179: break;
+ case 178: break;
case 2:
{ return KtTokens.INTEGER_LITERAL;
}
- case 180: break;
+ case 179: break;
case 88:
{ return KtTokens.ELSE_KEYWORD ;
}
- case 181: break;
+ case 180: break;
case 11:
{ pushState(STRING); return KtTokens.OPEN_QUOTE;
}
- case 182: break;
- case 101:
+ case 181: break;
+ case 100:
{ return KtTokens.PACKAGE_KEYWORD ;
}
- case 183: break;
+ case 182: break;
case 49:
{ return KtTokens.IF_KEYWORD ;
}
- case 184: break;
+ case 183: break;
case 18:
{ return KtTokens.LT ;
}
- case 185: break;
- case 91:
- { return KtTokens.CAPITALIZED_THIS_KEYWORD ;
- }
- case 186: break;
+ case 184: break;
case 17:
{ return KtTokens.PLUS ;
}
- case 187: break;
+ case 185: break;
case 55:
{ return KtTokens.PLUSEQ ;
}
- case 188: break;
+ case 186: break;
case 74:
{ return KtTokens.RESERVED ;
}
- case 189: break;
+ case 187: break;
case 67:
{ commentDepth++;
}
- case 190: break;
+ case 188: break;
case 27:
{ return KtTokens.COMMA ;
}
- case 191: break;
+ case 189: break;
case 19:
{ return KtTokens.GT ;
}
- case 192: break;
+ case 190: break;
case 77:
{ return KtTokens.AS_SAFE;
}
- case 193: break;
+ case 191: break;
case 25:
{ return KtTokens.RPAR ;
}
- case 194: break;
+ case 192: break;
case 71:
{ return KtTokens.NOT_IS;
}
- case 195: break;
+ case 193: break;
case 89:
{ return KtTokens.NULL_KEYWORD ;
}
- case 196: break;
+ case 194: break;
case 59:
{ return KtTokens.ANDAND ;
}
- case 197: break;
+ case 195: break;
case 35:
{ if (lBraceCount == 0) {
popState();
@@ -1287,11 +1276,11 @@ class _JetLexer implements FlexLexer {
lBraceCount--;
return KtTokens.RBRACE;
}
- case 198: break;
+ case 196: break;
case 84:
{ return KtTokens.BLOCK_COMMENT;
}
- case 199: break;
+ case 197: break;
case 41:
{ if (zzCurrentPos == 0) {
return KtTokens.SHEBANG_COMMENT;
@@ -1301,41 +1290,41 @@ class _JetLexer implements FlexLexer {
return KtTokens.HASH;
}
}
- case 200: break;
+ case 198: break;
case 29:
{ return KtTokens.REGULAR_STRING_PART;
}
- case 201: break;
+ case 199: break;
case 47:
{ return KtTokens.IS_KEYWORD ;
}
- case 202: break;
- case 92:
+ case 200: break;
+ case 91:
{ popState(); return KtTokens.THIS_KEYWORD;
}
- case 203: break;
+ case 201: break;
case 21:
{ return KtTokens.COLON ;
}
- case 204: break;
+ case 202: break;
case 57:
{ return KtTokens.LTEQ ;
}
- case 205: break;
+ case 203: break;
case 33:
{
}
- case 206: break;
+ case 204: break;
case 64:
{ pushState(SHORT_TEMPLATE_ENTRY);
yypushback(yylength() - 1);
return KtTokens.SHORT_TEMPLATE_ENTRY_START;
}
- case 207: break;
+ case 205: break;
case 46:
{ return KtTokens.ARROW ;
}
- case 208: break;
+ case 206: break;
default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;
@@ -1347,14 +1336,14 @@ class _JetLexer implements FlexLexer {
zzStartRead = commentStart;
return commentStateToTokenType(state);
}
- case 234: break;
+ case 230: break;
case DOC_COMMENT: {
int state = yystate();
popState();
zzStartRead = commentStart;
return commentStateToTokenType(state);
}
- case 235: break;
+ case 231: break;
default:
return null;
}
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java b/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java
index 3e186e07954..5277fad8d2b 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java
+++ b/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java
@@ -56,7 +56,7 @@ public class KotlinParsing extends AbstractKotlinParsing {
private static final TokenSet PARAMETER_NAME_RECOVERY_SET = TokenSet.create(COLON, EQ, COMMA, RPAR);
private static final TokenSet PACKAGE_NAME_RECOVERY_SET = TokenSet.create(DOT, EOL_OR_SEMICOLON);
private static final TokenSet IMPORT_RECOVERY_SET = TokenSet.create(AS_KEYWORD, DOT, EOL_OR_SEMICOLON);
- /*package*/ static final TokenSet TYPE_REF_FIRST = TokenSet.create(LBRACKET, IDENTIFIER, LPAR, CAPITALIZED_THIS_KEYWORD, HASH, DYNAMIC_KEYWORD);
+ /*package*/ static final TokenSet TYPE_REF_FIRST = TokenSet.create(LBRACKET, IDENTIFIER, LPAR, HASH, DYNAMIC_KEYWORD);
private static final TokenSet RECEIVER_TYPE_TERMINATORS = TokenSet.create(DOT, SAFE_ACCESS);
private static final TokenSet VALUE_PARAMETER_FIRST =
TokenSet.orSet(TokenSet.create(IDENTIFIER, LBRACKET, VAL_KEYWORD, VAR_KEYWORD), MODIFIER_KEYWORDS);
@@ -1867,9 +1867,6 @@ public class KotlinParsing extends AbstractKotlinParsing {
}
}
- else if (at(CAPITALIZED_THIS_KEYWORD)) {
- parseSelfType();
- }
else {
errorWithRecovery("Type expected",
TokenSet.orSet(TOP_LEVEL_DECLARATION_FIRST,
@@ -2021,19 +2018,6 @@ public class KotlinParsing extends AbstractKotlinParsing {
}
}
- /*
- * selfType
- * : "This"
- * ;
- */
- private void parseSelfType() {
- assert _at(CAPITALIZED_THIS_KEYWORD);
-
- PsiBuilder.Marker type = mark();
- advance(); // CAPITALIZED_THIS_KEYWORD
- type.done(SELF_TYPE);
- }
-
/*
* (optionalProjection type){","}
*/
diff --git a/compiler/testData/diagnostics/tests/SelfTypesUnsupported.kt b/compiler/testData/diagnostics/tests/SelfTypesUnsupported.kt
deleted file mode 100644
index e137d8399ec..00000000000
--- a/compiler/testData/diagnostics/tests/SelfTypesUnsupported.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-// !DIAGNOSTICS: -UNUSED_PARAMETER
-
-fun foo(f: This) {}
-
-interface CThis>> {
- val x: This
- val y: This?
-}
\ No newline at end of file
diff --git a/compiler/testData/diagnostics/tests/SelfTypesUnsupported.txt b/compiler/testData/diagnostics/tests/SelfTypesUnsupported.txt
deleted file mode 100644
index df49d032ff8..00000000000
--- a/compiler/testData/diagnostics/tests/SelfTypesUnsupported.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-package
-
-public fun foo(/*0*/ f: [ERROR : This]): kotlin.Unit
-
-public interface C*0*/ T : C<[ERROR : This]>> {
- public abstract val x: [ERROR : This]
- public abstract val y: [ERROR : This]?
- public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
- public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
- public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
-}
diff --git a/compiler/testData/psi/ThisType.kt b/compiler/testData/psi/ThisType.kt
deleted file mode 100644
index 2e6d869a189..00000000000
--- a/compiler/testData/psi/ThisType.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-class Foo>(a : This, b : bar) : List by foo as List {
- fun foo(a : This) : This {
- val a : This = Foo();
- }
-}
-
diff --git a/compiler/testData/psi/ThisType.txt b/compiler/testData/psi/ThisType.txt
deleted file mode 100644
index 9b771b03330..00000000000
--- a/compiler/testData/psi/ThisType.txt
+++ /dev/null
@@ -1,155 +0,0 @@
-JetFile: ThisType.kt
- PACKAGE_DIRECTIVE
-
- IMPORT_LIST
-
- CLASS
- PsiElement(class)('class')
- PsiWhiteSpace(' ')
- PsiElement(IDENTIFIER)('Foo')
- TYPE_PARAMETER_LIST
- PsiElement(LT)('<')
- TYPE_PARAMETER
- PsiElement(IDENTIFIER)('T')
- PsiWhiteSpace(' ')
- PsiElement(COLON)(':')
- PsiWhiteSpace(' ')
- TYPE_REFERENCE
- USER_TYPE
- REFERENCE_EXPRESSION
- PsiElement(IDENTIFIER)('List')
- TYPE_ARGUMENT_LIST
- PsiElement(LT)('<')
- TYPE_PROJECTION
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiElement(GT)('>')
- PsiElement(GT)('>')
- PRIMARY_CONSTRUCTOR
- VALUE_PARAMETER_LIST
- PsiElement(LPAR)('(')
- VALUE_PARAMETER
- PsiElement(IDENTIFIER)('a')
- PsiWhiteSpace(' ')
- PsiElement(COLON)(':')
- PsiWhiteSpace(' ')
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiElement(COMMA)(',')
- PsiWhiteSpace(' ')
- VALUE_PARAMETER
- PsiElement(IDENTIFIER)('b')
- PsiWhiteSpace(' ')
- PsiElement(COLON)(':')
- PsiWhiteSpace(' ')
- TYPE_REFERENCE
- USER_TYPE
- REFERENCE_EXPRESSION
- PsiElement(IDENTIFIER)('bar')
- TYPE_ARGUMENT_LIST
- PsiElement(LT)('<')
- TYPE_PROJECTION
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiElement(GT)('>')
- PsiElement(RPAR)(')')
- PsiWhiteSpace(' ')
- PsiElement(COLON)(':')
- PsiWhiteSpace(' ')
- DELEGATION_SPECIFIER_LIST
- DELEGATOR_BY
- TYPE_REFERENCE
- USER_TYPE
- REFERENCE_EXPRESSION
- PsiElement(IDENTIFIER)('List')
- TYPE_ARGUMENT_LIST
- PsiElement(LT)('<')
- TYPE_PROJECTION
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiElement(GT)('>')
- PsiWhiteSpace(' ')
- PsiElement(by)('by')
- PsiWhiteSpace(' ')
- BINARY_WITH_TYPE
- REFERENCE_EXPRESSION
- PsiElement(IDENTIFIER)('foo')
- PsiWhiteSpace(' ')
- OPERATION_REFERENCE
- PsiElement(as)('as')
- PsiWhiteSpace(' ')
- TYPE_REFERENCE
- USER_TYPE
- REFERENCE_EXPRESSION
- PsiElement(IDENTIFIER)('List')
- TYPE_ARGUMENT_LIST
- PsiElement(LT)('<')
- TYPE_PROJECTION
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiElement(GT)('>')
- PsiWhiteSpace(' ')
- CLASS_BODY
- PsiElement(LBRACE)('{')
- PsiWhiteSpace('\n ')
- FUN
- PsiElement(fun)('fun')
- PsiWhiteSpace(' ')
- PsiElement(IDENTIFIER)('foo')
- VALUE_PARAMETER_LIST
- PsiElement(LPAR)('(')
- VALUE_PARAMETER
- PsiElement(IDENTIFIER)('a')
- PsiWhiteSpace(' ')
- PsiElement(COLON)(':')
- PsiWhiteSpace(' ')
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiElement(RPAR)(')')
- PsiWhiteSpace(' ')
- PsiElement(COLON)(':')
- PsiWhiteSpace(' ')
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiWhiteSpace(' ')
- BLOCK
- PsiElement(LBRACE)('{')
- PsiWhiteSpace('\n ')
- PROPERTY
- PsiElement(val)('val')
- PsiWhiteSpace(' ')
- PsiElement(IDENTIFIER)('a')
- PsiWhiteSpace(' ')
- PsiElement(COLON)(':')
- PsiWhiteSpace(' ')
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiWhiteSpace(' ')
- PsiElement(EQ)('=')
- PsiWhiteSpace(' ')
- CALL_EXPRESSION
- REFERENCE_EXPRESSION
- PsiElement(IDENTIFIER)('Foo')
- TYPE_ARGUMENT_LIST
- PsiElement(LT)('<')
- TYPE_PROJECTION
- TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
- PsiElement(GT)('>')
- VALUE_ARGUMENT_LIST
- PsiElement(LPAR)('(')
- PsiElement(RPAR)(')')
- PsiElement(SEMICOLON)(';')
- PsiWhiteSpace('\n ')
- PsiElement(RBRACE)('}')
- PsiWhiteSpace('\n')
- PsiElement(RBRACE)('}')
diff --git a/compiler/testData/psi/examples/BitArith.txt b/compiler/testData/psi/examples/BitArith.txt
index 9e1688256ce..165fa9cee51 100644
--- a/compiler/testData/psi/examples/BitArith.txt
+++ b/compiler/testData/psi/examples/BitArith.txt
@@ -536,8 +536,9 @@ JetFile: BitArith.kt
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
+ USER_TYPE
+ REFERENCE_EXPRESSION
+ PsiElement(IDENTIFIER)('This')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
CLASS_BODY
@@ -576,15 +577,17 @@ JetFile: BitArith.kt
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
+ USER_TYPE
+ REFERENCE_EXPRESSION
+ PsiElement(IDENTIFIER)('This')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
+ USER_TYPE
+ REFERENCE_EXPRESSION
+ PsiElement(IDENTIFIER)('This')
PsiWhiteSpace('\n\n ')
FUN
MODIFIER_LIST
@@ -615,8 +618,9 @@ JetFile: BitArith.kt
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
- SELF_TYPE
- PsiElement(This)('This')
+ USER_TYPE
+ REFERENCE_EXPRESSION
+ PsiElement(IDENTIFIER)('This')
PsiWhiteSpace('\n ')
PsiComment(EOL_COMMENT)('// ...')
PsiWhiteSpace('\n')
diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java
index b3ae0fcb106..07dfcaabfba 100644
--- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java
+++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java
@@ -577,12 +577,6 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
doTest(fileName);
}
- @TestMetadata("SelfTypesUnsupported.kt")
- public void testSelfTypesUnsupported() throws Exception {
- String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/SelfTypesUnsupported.kt");
- doTest(fileName);
- }
-
@TestMetadata("Serializable.kt")
public void testSerializable() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/Serializable.kt");
diff --git a/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java
index 2b4ebf5ff8b..4baead2d7e9 100644
--- a/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java
+++ b/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java
@@ -703,12 +703,6 @@ public class ParsingTestGenerated extends AbstractParsingTest {
doParsingTest(fileName);
}
- @TestMetadata("ThisType.kt")
- public void testThisType() throws Exception {
- String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/ThisType.kt");
- doParsingTest(fileName);
- }
-
@TestMetadata("TraitConstructor.kt")
public void testTraitConstructor() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TraitConstructor.kt");
diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/KeywordStringsGenerated.java b/core/descriptors/src/org/jetbrains/kotlin/renderer/KeywordStringsGenerated.java
index 14f963cc793..dd5c893a369 100644
--- a/core/descriptors/src/org/jetbrains/kotlin/renderer/KeywordStringsGenerated.java
+++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/KeywordStringsGenerated.java
@@ -51,7 +51,6 @@ public class KeywordStringsGenerated {
"while",
"do",
"when",
- "interface",
- "This"
+ "interface"
));
}
diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt
index 5652b20fd38..f2d756b841d 100644
--- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt
+++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt
@@ -44,8 +44,7 @@ import org.jetbrains.kotlin.resolve.ModifierCheckerCore
open class KeywordLookupObject
object KeywordCompletion {
- private val NON_ACTUAL_KEYWORDS = setOf(CAPITALIZED_THIS_KEYWORD,
- TYPE_ALIAS_KEYWORD)
+ private val NON_ACTUAL_KEYWORDS = setOf(TYPE_ALIAS_KEYWORD)
private val ALL_KEYWORDS = (KEYWORDS.getTypes() + SOFT_KEYWORDS.getTypes())
.filter { it !in NON_ACTUAL_KEYWORDS }
.map { it as KtKeywordToken }
diff --git a/j2k/testData/fileOrElement/identifier/keywords.java b/j2k/testData/fileOrElement/identifier/keywords.java
index bb210e7ddaa..b2c71995cdf 100644
--- a/j2k/testData/fileOrElement/identifier/keywords.java
+++ b/j2k/testData/fileOrElement/identifier/keywords.java
@@ -1,2 +1,2 @@
//statement
-int as, type, val, var, fun, is, in, object, when, This;
\ No newline at end of file
+int as, type, val, var, fun, is, in, object, when;
\ No newline at end of file
diff --git a/j2k/testData/fileOrElement/identifier/keywords.kt b/j2k/testData/fileOrElement/identifier/keywords.kt
index 144ed11e938..7d924af8a27 100644
--- a/j2k/testData/fileOrElement/identifier/keywords.kt
+++ b/j2k/testData/fileOrElement/identifier/keywords.kt
@@ -6,5 +6,4 @@ val `fun`: Int
val `is`: Int
val `in`: Int
val `object`: Int
-val `when`: Int
-val `This`: Int
\ No newline at end of file
+val `when`: Int
\ No newline at end of file
diff --git a/j2k/testData/fileOrElement/importStatement/importWithKeywords.java b/j2k/testData/fileOrElement/importStatement/importWithKeywords.java
index a0fd7fa6664..b7b0c0ff8cb 100644
--- a/j2k/testData/fileOrElement/importStatement/importWithKeywords.java
+++ b/j2k/testData/fileOrElement/importStatement/importWithKeywords.java
@@ -1,6 +1,6 @@
//file
package test;
-import as.type.val.var.fun.is.in.object.when.This;
+import as.type.val.var.fun.is.in.object.when;
class Test {}
\ No newline at end of file
diff --git a/j2k/testData/fileOrElement/importStatement/importWithKeywords.kt b/j2k/testData/fileOrElement/importStatement/importWithKeywords.kt
index cceda6680c2..2720249e739 100644
--- a/j2k/testData/fileOrElement/importStatement/importWithKeywords.kt
+++ b/j2k/testData/fileOrElement/importStatement/importWithKeywords.kt
@@ -1,6 +1,6 @@
// ERROR: Unresolved reference: `as`
package test
-import `as`.type.`val`.`var`.`fun`.`is`.`in`.`object`.`when`.`This`
+import `as`.type.`val`.`var`.`fun`.`is`.`in`.`object`.`when`
internal class Test
\ No newline at end of file