remove support for 'trait' keyword
This commit is contained in:
@@ -149,7 +149,6 @@ public interface Errors {
|
||||
|
||||
DiagnosticFactory0<JetDelegatorToSuperClass> SUPERTYPE_NOT_INITIALIZED = DiagnosticFactory0.create(ERROR);
|
||||
|
||||
DiagnosticFactory0<PsiElement> DEPRECATED_TRAIT_KEYWORD = DiagnosticFactory0.create(WARNING);
|
||||
DiagnosticFactory0<JetTypeReference> DELEGATION_NOT_TO_TRAIT = DiagnosticFactory0.create(ERROR);
|
||||
DiagnosticFactory0<JetTypeReference> SUPERTYPE_NOT_A_CLASS_OR_TRAIT = DiagnosticFactory0.create(ERROR);
|
||||
|
||||
|
||||
-1
@@ -280,7 +280,6 @@ public class DefaultErrorMessages {
|
||||
|
||||
MAP.put(DELEGATION_IN_TRAIT, "Interfaces cannot use delegation");
|
||||
MAP.put(DELEGATION_NOT_TO_TRAIT, "Only interfaces can be delegated to");
|
||||
MAP.put(DEPRECATED_TRAIT_KEYWORD, "'trait' keyword is deprecated, use 'interface' instead");
|
||||
MAP.put(NO_CONSTRUCTOR, "This class does not have a constructor");
|
||||
MAP.put(NOT_A_CLASS, "Not a class");
|
||||
MAP.put(ILLEGAL_ESCAPE_SEQUENCE, "Illegal escape sequence");
|
||||
|
||||
@@ -72,7 +72,6 @@ public interface JetTokens {
|
||||
JetKeywordToken WHILE_KEYWORD = JetKeywordToken.keyword("while");
|
||||
JetKeywordToken DO_KEYWORD = JetKeywordToken.keyword("do");
|
||||
JetKeywordToken WHEN_KEYWORD = JetKeywordToken.keyword("when");
|
||||
JetKeywordToken TRAIT_KEYWORD = JetKeywordToken.keyword("trait");
|
||||
JetKeywordToken INTERFACE_KEYWORD = JetKeywordToken.keyword("interface");
|
||||
// TODO: Discuss "This" keyword
|
||||
JetKeywordToken CAPITALIZED_THIS_KEYWORD = JetKeywordToken.keyword("This");
|
||||
@@ -178,7 +177,7 @@ public interface JetTokens {
|
||||
JetModifierKeywordToken ANNOTATION_KEYWORD = JetModifierKeywordToken.softKeywordModifier("annotation");
|
||||
JetModifierKeywordToken CROSSINLINE_KEYWORD = JetModifierKeywordToken.softKeywordModifier("crossinline");
|
||||
|
||||
TokenSet KEYWORDS = TokenSet.create(PACKAGE_KEYWORD, AS_KEYWORD, TYPE_ALIAS_KEYWORD, CLASS_KEYWORD, TRAIT_KEYWORD, INTERFACE_KEYWORD,
|
||||
TokenSet KEYWORDS = TokenSet.create(PACKAGE_KEYWORD, AS_KEYWORD, TYPE_ALIAS_KEYWORD, CLASS_KEYWORD, INTERFACE_KEYWORD,
|
||||
THIS_KEYWORD, SUPER_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, FUN_KEYWORD, FOR_KEYWORD,
|
||||
NULL_KEYWORD,
|
||||
TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD,
|
||||
|
||||
@@ -249,7 +249,6 @@ LONG_TEMPLATE_ENTRY_START=\$\{
|
||||
"while" { return JetTokens.WHILE_KEYWORD ;}
|
||||
"break" { return JetTokens.BREAK_KEYWORD ;}
|
||||
"class" { return JetTokens.CLASS_KEYWORD ;}
|
||||
"trait" { return JetTokens.TRAIT_KEYWORD ;}
|
||||
"throw" { return JetTokens.THROW_KEYWORD ;}
|
||||
"false" { return JetTokens.FALSE_KEYWORD ;}
|
||||
"super" { return JetTokens.SUPER_KEYWORD ;}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* The following code was generated by JFlex 1.4.3 on 4/29/15 4:44 PM */
|
||||
/* The following code was generated by JFlex 1.4.3 on 9/18/15 3:17 PM */
|
||||
|
||||
package org.jetbrains.kotlin.lexer;
|
||||
|
||||
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.lexer.JetTokens;
|
||||
/**
|
||||
* This class is a scanner generated by
|
||||
* <a href="http://www.jflex.de/">JFlex</a> 1.4.3
|
||||
* on 4/29/15 4:44 PM from the specification file
|
||||
* on 9/18/15 3:17 PM from the specification file
|
||||
* <tt>/Users/yole/jetbrains/kotlin/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex</tt>
|
||||
*/
|
||||
class _JetLexer implements FlexLexer {
|
||||
@@ -136,17 +136,16 @@ class _JetLexer implements FlexLexer {
|
||||
"\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77"+
|
||||
"\1\0\1\100\2\101\2\0\1\40\1\102\1\103\1\0"+
|
||||
"\1\104\1\44\1\3\1\0\1\105\1\106\1\107\1\110"+
|
||||
"\1\0\1\2\2\0\1\111\4\3\1\112\5\3\1\113"+
|
||||
"\1\0\1\2\2\0\1\111\4\3\1\112\4\3\1\113"+
|
||||
"\2\3\1\114\1\3\1\115\7\3\1\116\1\117\1\120"+
|
||||
"\2\0\1\121\2\40\1\45\1\122\1\123\2\44\1\0"+
|
||||
"\1\124\2\3\1\125\4\3\1\126\1\127\7\3\1\130"+
|
||||
"\1\131\1\77\1\0\1\132\1\133\1\3\1\134\1\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";
|
||||
"\1\124\2\3\1\125\3\3\1\126\1\127\7\3\1\130"+
|
||||
"\1\131\1\77\1\0\1\132\1\133\2\3\1\134\2\3"+
|
||||
"\1\135\1\136\2\3\1\137\1\140\1\0\3\3\1\141"+
|
||||
"\1\3\1\142\2\3\1\143\3\3\1\144\1\145\1\146";
|
||||
|
||||
private static int [] zzUnpackAction() {
|
||||
int [] result = new int[240];
|
||||
int [] result = new int[237];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -191,19 +190,19 @@ class _JetLexer implements FlexLexer {
|
||||
"\0\u018c\0\u018c\0\u1944\0\u018c\0\u1986\0\u018c\0\u19c8\0\u1a0a"+
|
||||
"\0\u1a4c\0\u1a4c\0\u018c\0\u1a8e\0\u1ad0\0\u1b12\0\u1b54\0\u018c"+
|
||||
"\0\u1b96\0\u1bd8\0\u1c1a\0\u1c5c\0\u0210\0\u1c9e\0\u1ce0\0\u1d22"+
|
||||
"\0\u1d64\0\u1da6\0\u018c\0\u1de8\0\u1e2a\0\u0210\0\u1e6c\0\u0210"+
|
||||
"\0\u1eae\0\u1ef0\0\u1f32\0\u1f74\0\u1fb6\0\u1ff8\0\u203a\0\u0210"+
|
||||
"\0\u0210\0\u018c\0\u207c\0\u20be\0\u187e\0\u018c\0\u2100\0\u018c"+
|
||||
"\0\u018c\0\u018c\0\u2142\0\u2184\0\u2184\0\u0210\0\u21c6\0\u2208"+
|
||||
"\0\u0210\0\u224a\0\u228c\0\u22ce\0\u2310\0\u0210\0\u0210\0\u2352"+
|
||||
"\0\u2394\0\u23d6\0\u2418\0\u245a\0\u249c\0\u24de\0\u0210\0\u0210"+
|
||||
"\0\u018c\0\u2520\0\u0ca2\0\u0210\0\u2562\0\u0210\0\u25a4\0\u0210"+
|
||||
"\0\u25e6\0\u2628\0\u0210\0\u0210\0\u266a\0\u26ac\0\u0210\0\u0210"+
|
||||
"\0\u26ee\0\u2730\0\u2772\0\u27b4\0\u0210\0\u27f6\0\u0210\0\u2838"+
|
||||
"\0\u287a\0\u0210\0\u28bc\0\u28fe\0\u2940\0\u0210\0\u0210\0\u0210";
|
||||
"\0\u1d64\0\u018c\0\u1da6\0\u1de8\0\u0210\0\u1e2a\0\u0210\0\u1e6c"+
|
||||
"\0\u1eae\0\u1ef0\0\u1f32\0\u1f74\0\u1fb6\0\u1ff8\0\u0210\0\u0210"+
|
||||
"\0\u018c\0\u203a\0\u207c\0\u187e\0\u018c\0\u20be\0\u018c\0\u018c"+
|
||||
"\0\u018c\0\u2100\0\u2142\0\u2142\0\u0210\0\u2184\0\u21c6\0\u0210"+
|
||||
"\0\u2208\0\u224a\0\u228c\0\u0210\0\u0210\0\u22ce\0\u2310\0\u2352"+
|
||||
"\0\u2394\0\u23d6\0\u2418\0\u245a\0\u0210\0\u0210\0\u018c\0\u249c"+
|
||||
"\0\u0ca2\0\u0210\0\u24de\0\u2520\0\u0210\0\u2562\0\u25a4\0\u0210"+
|
||||
"\0\u0210\0\u25e6\0\u2628\0\u0210\0\u0210\0\u266a\0\u26ac\0\u26ee"+
|
||||
"\0\u2730\0\u0210\0\u2772\0\u0210\0\u27b4\0\u27f6\0\u0210\0\u2838"+
|
||||
"\0\u287a\0\u28bc\0\u0210\0\u0210\0\u0210";
|
||||
|
||||
private static int [] zzUnpackRowMap() {
|
||||
int [] result = new int[240];
|
||||
int [] result = new int[237];
|
||||
int offset = 0;
|
||||
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -330,181 +329,177 @@ class _JetLexer implements FlexLexer {
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\1\11\1\233\20\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\234\2\0\4\11\2\0\1\235\2\11\1\236"+
|
||||
"\16\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\1\237\3\11"+
|
||||
"\2\0\1\234\2\0\4\11\2\0\1\235\21\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\1\236\3\11\2\0\22\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\1\11"+
|
||||
"\1\237\20\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\4\11"+
|
||||
"\2\0\10\11\1\240\11\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\3\11\1\241\2\0\22\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\4\11\2\0\22\11\1\0\1\242\17\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\4\11\1\243"+
|
||||
"\15\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\1\244\3\11"+
|
||||
"\2\0\22\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\4\11"+
|
||||
"\2\0\1\11\1\240\20\11\21\0\2\11\1\0\2\11"+
|
||||
"\2\0\5\11\1\245\14\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\10\11\1\241\11\11\21\0\2\11"+
|
||||
"\2\0\4\11\2\0\4\11\1\246\15\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\3\11\1\242\2\0\22\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\22\11\1\0"+
|
||||
"\1\243\17\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\4\11\2\0"+
|
||||
"\4\11\1\244\15\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\1\245\3\11\2\0\22\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\5\11\1\246\14\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\4\11\1\247\15\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\6\11\1\247\13\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\6\11"+
|
||||
"\1\250\13\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\3\11"+
|
||||
"\1\250\16\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\4\11"+
|
||||
"\2\0\3\11\1\251\16\11\21\0\2\11\1\0\2\11"+
|
||||
"\2\0\5\11\1\251\14\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\5\11\1\252\14\11\21\0\2\11"+
|
||||
"\2\0\4\11\2\0\15\11\1\252\4\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\15\11\1\253\4\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\2\11\1\253\17\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\2\11\1\254\1\11"+
|
||||
"\2\0\2\11\1\255\17\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\2\11\1\256\1\11\2\0\22\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\4\11\1\257\1\11"+
|
||||
"\1\260\13\11\102\0\1\261\20\0\2\201\1\0\2\201"+
|
||||
"\6\0\4\201\1\0\2\201\1\0\1\201\2\0\1\201"+
|
||||
"\2\0\4\201\2\0\22\201\20\0\6\262\2\0\72\262"+
|
||||
"\1\0\2\263\11\0\1\263\1\0\1\263\2\0\2\263"+
|
||||
"\17\0\2\263\3\0\2\263\3\0\1\263\4\0\1\263"+
|
||||
"\50\0\1\264\51\0\6\207\1\265\1\0\72\207\1\0"+
|
||||
"\2\77\1\0\2\77\6\0\4\77\1\0\2\77\1\0"+
|
||||
"\1\77\2\0\1\77\2\0\2\77\1\266\1\77\2\0"+
|
||||
"\22\77\40\0\1\214\62\0\1\215\12\0\1\215\4\0"+
|
||||
"\1\111\25\0\1\111\32\0\6\217\1\267\1\0\72\217"+
|
||||
"\11\0\1\270\71\0\2\271\1\0\2\271\6\0\4\271"+
|
||||
"\1\0\2\271\1\0\1\271\2\0\1\271\2\0\4\271"+
|
||||
"\2\0\22\271\21\0\1\127\12\0\1\127\105\0\1\213"+
|
||||
"\3\0\1\227\14\0\1\227\41\0\2\272\11\0\1\272"+
|
||||
"\1\0\1\272\1\0\1\214\2\272\17\0\2\272\3\0"+
|
||||
"\2\272\3\0\1\272\4\0\1\272\21\0\1\273\12\0"+
|
||||
"\1\273\6\0\1\274\40\0\1\274\16\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\3\11\1\275\2\0\22\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\11\11\1\276\10\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\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\1\0\1\11\2\0\1\11\2\0\2\11"+
|
||||
"\1\255\1\11\2\0\2\11\1\256\17\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\2\11\1\257\1\11\2\0\22\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\4\11"+
|
||||
"\1\260\1\11\1\261\13\11\102\0\1\262\20\0\2\201"+
|
||||
"\1\0\2\201\6\0\4\201\1\0\2\201\1\0\1\201"+
|
||||
"\2\0\1\201\2\0\4\201\2\0\22\201\20\0\6\263"+
|
||||
"\2\0\72\263\1\0\2\264\11\0\1\264\1\0\1\264"+
|
||||
"\2\0\2\264\17\0\2\264\3\0\2\264\3\0\1\264"+
|
||||
"\4\0\1\264\50\0\1\265\51\0\6\207\1\266\1\0"+
|
||||
"\72\207\1\0\2\77\1\0\2\77\6\0\4\77\1\0"+
|
||||
"\2\77\1\0\1\77\2\0\1\77\2\0\2\77\1\267"+
|
||||
"\1\77\2\0\22\77\40\0\1\214\62\0\1\215\12\0"+
|
||||
"\1\215\4\0\1\111\25\0\1\111\32\0\6\217\1\270"+
|
||||
"\1\0\72\217\11\0\1\271\71\0\2\272\1\0\2\272"+
|
||||
"\6\0\4\272\1\0\2\272\1\0\1\272\2\0\1\272"+
|
||||
"\2\0\4\272\2\0\22\272\21\0\1\127\12\0\1\127"+
|
||||
"\105\0\1\213\3\0\1\227\14\0\1\227\41\0\2\273"+
|
||||
"\11\0\1\273\1\0\1\273\1\0\1\214\2\273\17\0"+
|
||||
"\2\273\3\0\2\273\3\0\1\273\4\0\1\273\21\0"+
|
||||
"\1\274\12\0\1\274\6\0\1\275\40\0\1\275\16\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\3\11\1\276\2\0\22\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\11\11"+
|
||||
"\1\277\10\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\277\17\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\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\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\2\11\1\301\17\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\2\11\1\302\1\11\2\0\22\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\2\11\1\302\17\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\2\11"+
|
||||
"\1\303\17\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\12\11"+
|
||||
"\1\303\7\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\4\11"+
|
||||
"\2\0\2\11\1\304\17\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\12\11\1\305\7\11\21\0\2\11"+
|
||||
"\2\0\4\11\2\0\4\11\1\305\15\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\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"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\4\11"+
|
||||
"\1\307\15\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\310\2\0\4\11"+
|
||||
"\2\0\22\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\3\11"+
|
||||
"\1\311\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\3\11\1\312\2\0\22\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\1\313\3\11\2\0\22\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\4\11\2\0\2\11\1\314\17\11\21\0"+
|
||||
"\2\0\1\306\2\0\4\11\2\0\22\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\3\11\1\307\2\0\22\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\3\11\1\315"+
|
||||
"\1\11\2\0\1\11\2\0\3\11\1\310\2\0\22\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\1\311\3\11\2\0"+
|
||||
"\22\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\4\11\2\0"+
|
||||
"\2\11\1\312\17\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\3\11\1\313\16\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\4\11\2\0\4\11\1\314\15\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\5\11\1\315"+
|
||||
"\14\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\3\11\1\316"+
|
||||
"\2\0\22\11\20\0\6\262\1\317\1\0\72\262\1\0"+
|
||||
"\2\320\11\0\1\320\1\0\1\320\2\0\2\320\17\0"+
|
||||
"\2\320\3\0\2\320\3\0\1\320\4\0\1\320\21\0"+
|
||||
"\2\77\1\0\2\77\6\0\4\77\1\0\2\77\1\0"+
|
||||
"\1\77\2\0\1\77\2\0\3\77\1\321\2\0\22\77"+
|
||||
"\21\0\2\272\11\0\1\272\1\0\1\272\2\0\2\272"+
|
||||
"\1\0\1\227\14\0\1\227\2\272\3\0\2\272\3\0"+
|
||||
"\1\272\4\0\1\272\21\0\1\273\12\0\1\273\66\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\16\11\1\322"+
|
||||
"\3\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\4\11\2\0"+
|
||||
"\3\11\1\323\16\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\6\11\1\324\13\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\4\11\2\0\6\11\1\325\13\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\3\11\1\326"+
|
||||
"\16\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\4\11\2\0"+
|
||||
"\4\11\1\316\15\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\6\11\1\327\13\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\5\11\1\317\14\11\21\0\2\11\1\0"+
|
||||
"\4\11\2\0\2\11\1\330\17\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\3\11\1\320\2\0\22\11\20\0\6\263"+
|
||||
"\1\321\1\0\72\263\1\0\2\322\11\0\1\322\1\0"+
|
||||
"\1\322\2\0\2\322\17\0\2\322\3\0\2\322\3\0"+
|
||||
"\1\322\4\0\1\322\21\0\2\77\1\0\2\77\6\0"+
|
||||
"\4\77\1\0\2\77\1\0\1\77\2\0\1\77\2\0"+
|
||||
"\3\77\1\323\2\0\22\77\21\0\2\273\11\0\1\273"+
|
||||
"\1\0\1\273\2\0\2\273\1\0\1\227\14\0\1\227"+
|
||||
"\2\273\3\0\2\273\3\0\1\273\4\0\1\273\21\0"+
|
||||
"\1\274\12\0\1\274\66\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\16\11\1\324\3\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\4\11\2\0\3\11\1\325\16\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\1\326\3\11\2\0\22\11"+
|
||||
"\1\11\2\0\3\11\1\331\2\0\22\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\2\11\1\332\1\11\2\0\22\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\6\11"+
|
||||
"\1\327\13\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\10\11"+
|
||||
"\1\333\11\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\4\11"+
|
||||
"\2\0\6\11\1\330\13\11\21\0\2\11\1\0\2\11"+
|
||||
"\2\0\12\11\1\334\7\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\3\11\1\331\16\11\21\0\2\11"+
|
||||
"\2\0\4\11\2\0\2\11\1\335\17\11\21\0\2\336"+
|
||||
"\11\0\1\336\1\0\1\336\2\0\2\336\17\0\2\336"+
|
||||
"\3\0\2\336\3\0\1\336\4\0\1\336\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\6\11\1\332\13\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\4\11\1\337\15\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\2\11"+
|
||||
"\1\333\17\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\3\11"+
|
||||
"\1\334\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\2\11\1\335\1\11\2\0\22\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\4\11\2\0\10\11\1\336\11\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\12\11\1\337"+
|
||||
"\7\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\4\11\2\0"+
|
||||
"\2\11\1\340\17\11\21\0\2\341\11\0\1\341\1\0"+
|
||||
"\1\341\2\0\2\341\17\0\2\341\3\0\2\341\3\0"+
|
||||
"\1\341\4\0\1\341\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\4\11\1\342\15\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\4\11\2\0\7\11\1\343\12\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\13\11\1\344"+
|
||||
"\6\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\4\11\2\0"+
|
||||
"\5\11\1\345\14\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\5\11\1\346\14\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\1\347\3\11\2\0\22\11\21\0\2\204"+
|
||||
"\11\0\1\204\1\0\1\204\2\0\2\204\17\0\2\204"+
|
||||
"\3\0\2\204\3\0\1\204\4\0\1\204\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\2\11\1\350\1\11\2\0\22\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\3\11"+
|
||||
"\1\351\16\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\7\11"+
|
||||
"\1\340\12\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\4\11"+
|
||||
"\2\0\2\11\1\352\17\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\353"+
|
||||
"\2\0\4\11\2\0\22\11\21\0\2\11\1\0\2\11"+
|
||||
"\2\0\13\11\1\341\6\11\21\0\2\11\1\0\2\11"+
|
||||
"\6\0\4\11\1\0\2\11\1\0\1\11\2\0\1\11"+
|
||||
"\2\0\4\11\2\0\3\11\1\354\16\11\21\0\2\11"+
|
||||
"\2\0\4\11\2\0\5\11\1\342\14\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\10\11\1\355\11\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\5\11\1\343\14\11"+
|
||||
"\21\0\2\11\1\0\2\11\6\0\4\11\1\0\2\11"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\4\11\2\0\2\11"+
|
||||
"\1\356\17\11\21\0\2\11\1\0\2\11\6\0\4\11"+
|
||||
"\1\0\2\11\1\0\1\11\2\0\1\11\2\0\3\11"+
|
||||
"\1\357\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\1\0\1\11\2\0\1\11\2\0\1\344\3\11\2\0"+
|
||||
"\22\11\21\0\2\204\11\0\1\204\1\0\1\204\2\0"+
|
||||
"\2\204\17\0\2\204\3\0\2\204\3\0\1\204\4\0"+
|
||||
"\1\204\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\2\11\1\345"+
|
||||
"\1\11\2\0\22\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\2\11\1\360\17\11\20\0";
|
||||
"\4\11\2\0\3\11\1\346\16\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\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\1\0"+
|
||||
"\1\11\2\0\1\350\2\0\4\11\2\0\22\11\21\0"+
|
||||
"\2\11\1\0\2\11\6\0\4\11\1\0\2\11\1\0"+
|
||||
"\1\11\2\0\1\11\2\0\4\11\2\0\3\11\1\351"+
|
||||
"\16\11\21\0\2\11\1\0\2\11\6\0\4\11\1\0"+
|
||||
"\2\11\1\0\1\11\2\0\1\11\2\0\4\11\2\0"+
|
||||
"\10\11\1\352\11\11\21\0\2\11\1\0\2\11\6\0"+
|
||||
"\4\11\1\0\2\11\1\0\1\11\2\0\1\11\2\0"+
|
||||
"\4\11\2\0\2\11\1\353\17\11\21\0\2\11\1\0"+
|
||||
"\2\11\6\0\4\11\1\0\2\11\1\0\1\11\2\0"+
|
||||
"\1\11\2\0\3\11\1\354\2\0\22\11\21\0\2\11"+
|
||||
"\1\0\2\11\6\0\4\11\1\0\2\11\1\0\1\11"+
|
||||
"\2\0\1\11\2\0\4\11\2\0\2\11\1\355\17\11"+
|
||||
"\20\0";
|
||||
|
||||
private static int [] zzUnpackTrans() {
|
||||
int [] result = new int[10626];
|
||||
int [] result = new int[10494];
|
||||
int offset = 0;
|
||||
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -552,12 +547,12 @@ class _JetLexer implements FlexLexer {
|
||||
"\5\11\1\1\1\0\7\1\1\11\21\1\11\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\1\1\2\0"+
|
||||
"\1\11\12\1\1\11\16\1\1\11\2\0\1\1\1\11"+
|
||||
"\1\1\3\11\2\1\1\0\23\1\1\11\1\0\16\1"+
|
||||
"\1\11\11\1\1\11\16\1\1\11\2\0\1\1\1\11"+
|
||||
"\1\1\3\11\2\1\1\0\22\1\1\11\1\0\15\1"+
|
||||
"\1\0\17\1";
|
||||
|
||||
private static int [] zzUnpackAttribute() {
|
||||
int [] result = new int[240];
|
||||
int [] result = new int[237];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -904,34 +899,34 @@ class _JetLexer implements FlexLexer {
|
||||
zzMarkedPos = zzMarkedPosL;
|
||||
|
||||
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
|
||||
case 102:
|
||||
case 101:
|
||||
{ return JetTokens.TYPE_ALIAS_KEYWORD ;
|
||||
}
|
||||
case 104: break;
|
||||
case 103: break;
|
||||
case 3:
|
||||
{ return JetTokens.IDENTIFIER;
|
||||
}
|
||||
case 105: break;
|
||||
case 104: break;
|
||||
case 11:
|
||||
{ pushState(STRING); return JetTokens.OPEN_QUOTE;
|
||||
}
|
||||
case 106: break;
|
||||
case 105: break;
|
||||
case 77:
|
||||
{ return JetTokens.FOR_KEYWORD ;
|
||||
}
|
||||
case 107: break;
|
||||
case 98:
|
||||
case 106: break;
|
||||
case 97:
|
||||
{ return JetTokens.RETURN_KEYWORD ;
|
||||
}
|
||||
case 108: break;
|
||||
case 103:
|
||||
case 107: break;
|
||||
case 102:
|
||||
{ return JetTokens.INTERFACE_KEYWORD ;
|
||||
}
|
||||
case 109: break;
|
||||
case 108: break;
|
||||
case 87:
|
||||
{ return JetTokens.NULL_KEYWORD ;
|
||||
}
|
||||
case 110: break;
|
||||
case 109: break;
|
||||
case 35:
|
||||
{ if (lBraceCount == 0) {
|
||||
popState();
|
||||
@@ -940,155 +935,155 @@ class _JetLexer implements FlexLexer {
|
||||
lBraceCount--;
|
||||
return JetTokens.RBRACE;
|
||||
}
|
||||
case 111: break;
|
||||
case 110: break;
|
||||
case 18:
|
||||
{ return JetTokens.LT ;
|
||||
}
|
||||
case 112: break;
|
||||
case 111: break;
|
||||
case 52:
|
||||
{ return JetTokens.DO_KEYWORD ;
|
||||
}
|
||||
case 113: break;
|
||||
case 112: break;
|
||||
case 17:
|
||||
{ return JetTokens.PLUS ;
|
||||
}
|
||||
case 114: break;
|
||||
case 113: break;
|
||||
case 55:
|
||||
{ return JetTokens.PLUSEQ ;
|
||||
}
|
||||
case 115: break;
|
||||
case 114: break;
|
||||
case 90:
|
||||
{ popState(); return JetTokens.THIS_KEYWORD;
|
||||
}
|
||||
case 116: break;
|
||||
case 115: break;
|
||||
case 27:
|
||||
{ return JetTokens.COMMA ;
|
||||
}
|
||||
case 117: break;
|
||||
case 116: break;
|
||||
case 19:
|
||||
{ return JetTokens.GT ;
|
||||
}
|
||||
case 118: break;
|
||||
case 117: break;
|
||||
case 4:
|
||||
{ return JetTokens.WHITE_SPACE;
|
||||
}
|
||||
case 119: break;
|
||||
case 118: break;
|
||||
case 25:
|
||||
{ return JetTokens.RPAR ;
|
||||
}
|
||||
case 120: break;
|
||||
case 119: break;
|
||||
case 54:
|
||||
{ return JetTokens.DOUBLE_ARROW;
|
||||
}
|
||||
case 121: break;
|
||||
case 120: break;
|
||||
case 85:
|
||||
{ return JetTokens.TRUE_KEYWORD ;
|
||||
}
|
||||
case 122: break;
|
||||
case 121: break;
|
||||
case 37:
|
||||
{ return JetTokens.FIELD_IDENTIFIER;
|
||||
}
|
||||
case 123: break;
|
||||
case 122: break;
|
||||
case 59:
|
||||
{ return JetTokens.ANDAND ;
|
||||
}
|
||||
case 124: break;
|
||||
case 123: break;
|
||||
case 64:
|
||||
{ pushState(LONG_TEMPLATE_ENTRY); return JetTokens.LONG_TEMPLATE_ENTRY_START;
|
||||
}
|
||||
case 125: break;
|
||||
case 124: break;
|
||||
case 36:
|
||||
{ return JetTokens.FLOAT_LITERAL;
|
||||
}
|
||||
case 126: break;
|
||||
case 125: break;
|
||||
case 38:
|
||||
{ return JetTokens.EOL_COMMENT;
|
||||
}
|
||||
case 127: break;
|
||||
case 126: break;
|
||||
case 88:
|
||||
{ return JetTokens.WHEN_KEYWORD ;
|
||||
}
|
||||
case 128: break;
|
||||
case 127: break;
|
||||
case 73:
|
||||
{ pushState(RAW_STRING); return JetTokens.OPEN_QUOTE;
|
||||
}
|
||||
case 129: break;
|
||||
case 128: break;
|
||||
case 21:
|
||||
{ return JetTokens.COLON ;
|
||||
}
|
||||
case 130: break;
|
||||
case 129: break;
|
||||
case 57:
|
||||
{ return JetTokens.LTEQ ;
|
||||
}
|
||||
case 131: break;
|
||||
case 130: break;
|
||||
case 46:
|
||||
{ return JetTokens.ARROW ;
|
||||
}
|
||||
case 132: break;
|
||||
case 131: break;
|
||||
case 32:
|
||||
{ popState(); return JetTokens.IDENTIFIER;
|
||||
}
|
||||
case 133: break;
|
||||
case 132: break;
|
||||
case 22:
|
||||
{ return JetTokens.LBRACKET ;
|
||||
}
|
||||
case 134: break;
|
||||
case 133: break;
|
||||
case 68:
|
||||
{ yypushback(2); return JetTokens.INTEGER_LITERAL;
|
||||
}
|
||||
case 135: break;
|
||||
case 134: break;
|
||||
case 10:
|
||||
{ return JetTokens.CHARACTER_LITERAL;
|
||||
}
|
||||
case 136: break;
|
||||
case 135: break;
|
||||
case 79:
|
||||
{ return JetTokens.VAR_KEYWORD ;
|
||||
}
|
||||
case 137: break;
|
||||
case 136: break;
|
||||
case 58:
|
||||
{ return JetTokens.GTEQ ;
|
||||
}
|
||||
case 138: break;
|
||||
case 137: break;
|
||||
case 2:
|
||||
{ return JetTokens.INTEGER_LITERAL;
|
||||
}
|
||||
case 139: break;
|
||||
case 138: break;
|
||||
case 13:
|
||||
{ return JetTokens.RBRACE ;
|
||||
}
|
||||
case 140: break;
|
||||
case 95:
|
||||
case 139: break;
|
||||
case 94:
|
||||
{ return JetTokens.CLASS_KEYWORD ;
|
||||
}
|
||||
case 141: break;
|
||||
case 140: break;
|
||||
case 74:
|
||||
{ return JetTokens.TRY_KEYWORD ;
|
||||
}
|
||||
case 142: break;
|
||||
case 141: break;
|
||||
case 7:
|
||||
{ return JetTokens.EXCL ;
|
||||
}
|
||||
case 143: break;
|
||||
case 142: break;
|
||||
case 42:
|
||||
{ return JetTokens.EXCLEQ ;
|
||||
}
|
||||
case 144: break;
|
||||
case 143: break;
|
||||
case 45:
|
||||
{ return JetTokens.MINUSEQ ;
|
||||
}
|
||||
case 145: break;
|
||||
case 100:
|
||||
case 144: break;
|
||||
case 99:
|
||||
{ return JetTokens.PACKAGE_KEYWORD ;
|
||||
}
|
||||
case 146: break;
|
||||
case 145: break;
|
||||
case 91:
|
||||
{ return JetTokens.THROW_KEYWORD ;
|
||||
}
|
||||
case 147: break;
|
||||
case 93:
|
||||
case 146: break;
|
||||
case 92:
|
||||
{ return JetTokens.SUPER_KEYWORD ;
|
||||
}
|
||||
case 148: break;
|
||||
case 147: break;
|
||||
case 67:
|
||||
{ if (commentDepth > 0) {
|
||||
commentDepth--;
|
||||
@@ -1100,27 +1095,27 @@ class _JetLexer implements FlexLexer {
|
||||
return commentStateToTokenType(state);
|
||||
}
|
||||
}
|
||||
case 149: break;
|
||||
case 97:
|
||||
case 148: break;
|
||||
case 96:
|
||||
{ return JetTokens.WHILE_KEYWORD ;
|
||||
}
|
||||
case 150: break;
|
||||
case 149: break;
|
||||
case 44:
|
||||
{ return JetTokens.MINUSMINUS;
|
||||
}
|
||||
case 151: break;
|
||||
case 101:
|
||||
case 150: break;
|
||||
case 100:
|
||||
{ return JetTokens.CONTINUE_KEYWORD ;
|
||||
}
|
||||
case 152: break;
|
||||
case 151: break;
|
||||
case 71:
|
||||
{ return JetTokens.NOT_IN;
|
||||
}
|
||||
case 153: break;
|
||||
case 152: break;
|
||||
case 5:
|
||||
{ return JetTokens.DIV ;
|
||||
}
|
||||
case 154: break;
|
||||
case 153: break;
|
||||
case 81:
|
||||
{ int length = yytext().length();
|
||||
if (length <= 3) { // closing """
|
||||
@@ -1132,181 +1127,181 @@ class _JetLexer implements FlexLexer {
|
||||
return JetTokens.REGULAR_STRING_PART;
|
||||
}
|
||||
}
|
||||
case 155: break;
|
||||
case 154: break;
|
||||
case 29:
|
||||
{ return JetTokens.REGULAR_STRING_PART;
|
||||
}
|
||||
case 156: break;
|
||||
case 155: break;
|
||||
case 16:
|
||||
{ return JetTokens.QUEST ;
|
||||
}
|
||||
case 157: break;
|
||||
case 156: break;
|
||||
case 69:
|
||||
{ pushState(DOC_COMMENT);
|
||||
commentDepth = 0;
|
||||
commentStart = getTokenStart();
|
||||
}
|
||||
case 158: break;
|
||||
case 157: break;
|
||||
case 60:
|
||||
{ return JetTokens.OROR ;
|
||||
}
|
||||
case 159: break;
|
||||
case 158: break;
|
||||
case 20:
|
||||
{ return JetTokens.PERC ;
|
||||
}
|
||||
case 160: break;
|
||||
case 159: break;
|
||||
case 72:
|
||||
{ return JetTokens.EXCLEQEQEQ;
|
||||
}
|
||||
case 161: break;
|
||||
case 160: break;
|
||||
case 61:
|
||||
{ return JetTokens.PERCEQ ;
|
||||
}
|
||||
case 162: break;
|
||||
case 161: break;
|
||||
case 43:
|
||||
{ return JetTokens.RANGE ;
|
||||
}
|
||||
case 163: break;
|
||||
case 162: break;
|
||||
case 1:
|
||||
{ return TokenType.BAD_CHARACTER;
|
||||
}
|
||||
case 164: break;
|
||||
case 163: break;
|
||||
case 63:
|
||||
{ pushState(SHORT_TEMPLATE_ENTRY);
|
||||
yypushback(yylength() - 1);
|
||||
return JetTokens.SHORT_TEMPLATE_ENTRY_START;
|
||||
}
|
||||
case 165: break;
|
||||
case 164: break;
|
||||
case 70:
|
||||
{ return JetTokens.NOT_IS;
|
||||
}
|
||||
case 166: break;
|
||||
case 165: break;
|
||||
case 14:
|
||||
{ return JetTokens.MUL ;
|
||||
}
|
||||
case 167: break;
|
||||
case 166: break;
|
||||
case 23:
|
||||
{ return JetTokens.RBRACKET ;
|
||||
}
|
||||
case 168: break;
|
||||
case 167: break;
|
||||
case 56:
|
||||
{ return JetTokens.PLUSPLUS ;
|
||||
}
|
||||
case 169: break;
|
||||
case 168: break;
|
||||
case 39:
|
||||
{ pushState(BLOCK_COMMENT);
|
||||
commentDepth = 0;
|
||||
commentStart = getTokenStart();
|
||||
}
|
||||
case 170: break;
|
||||
case 169: break;
|
||||
case 84:
|
||||
{ return JetTokens.THIS_KEYWORD ;
|
||||
}
|
||||
case 171: break;
|
||||
case 170: break;
|
||||
case 8:
|
||||
{ return JetTokens.DOT ;
|
||||
}
|
||||
case 172: break;
|
||||
case 171: break;
|
||||
case 26:
|
||||
{ return JetTokens.SEMICOLON ;
|
||||
}
|
||||
case 173: break;
|
||||
case 172: break;
|
||||
case 49:
|
||||
{ return JetTokens.IF_KEYWORD ;
|
||||
}
|
||||
case 174: break;
|
||||
case 173: break;
|
||||
case 65:
|
||||
{ return JetTokens.ESCAPE_SEQUENCE;
|
||||
}
|
||||
case 175: break;
|
||||
case 174: break;
|
||||
case 31:
|
||||
{ popState(); return JetTokens.CLOSING_QUOTE;
|
||||
}
|
||||
case 176: break;
|
||||
case 175: break;
|
||||
case 15:
|
||||
{ return JetTokens.EQ ;
|
||||
}
|
||||
case 177: break;
|
||||
case 176: break;
|
||||
case 28:
|
||||
{ return JetTokens.AT ;
|
||||
}
|
||||
case 178: break;
|
||||
case 177: break;
|
||||
case 75:
|
||||
{ return JetTokens.AS_SAFE;
|
||||
}
|
||||
case 179: break;
|
||||
case 178: break;
|
||||
case 24:
|
||||
{ return JetTokens.LPAR ;
|
||||
}
|
||||
case 180: break;
|
||||
case 179: break;
|
||||
case 9:
|
||||
{ return JetTokens.MINUS ;
|
||||
}
|
||||
case 181: break;
|
||||
case 94:
|
||||
case 180: break;
|
||||
case 93:
|
||||
{ return JetTokens.FALSE_KEYWORD ;
|
||||
}
|
||||
case 182: break;
|
||||
case 181: break;
|
||||
case 66:
|
||||
{ commentDepth++;
|
||||
}
|
||||
case 183: break;
|
||||
case 182: break;
|
||||
case 76:
|
||||
{ return JetTokens.FUN_KEYWORD ;
|
||||
}
|
||||
case 184: break;
|
||||
case 183: break;
|
||||
case 47:
|
||||
{ return JetTokens.IS_KEYWORD ;
|
||||
}
|
||||
case 185: break;
|
||||
case 184: break;
|
||||
case 30:
|
||||
{ popState(); yypushback(1); return JetTokens.DANGLING_NEWLINE;
|
||||
}
|
||||
case 186: break;
|
||||
case 185: break;
|
||||
case 34:
|
||||
{ lBraceCount++; return JetTokens.LBRACE;
|
||||
}
|
||||
case 187: break;
|
||||
case 186: break;
|
||||
case 83:
|
||||
{ yypushback(3); return JetTokens.EXCL;
|
||||
}
|
||||
case 188: break;
|
||||
case 187: break;
|
||||
case 40:
|
||||
{ return JetTokens.DIVEQ ;
|
||||
}
|
||||
case 189: break;
|
||||
case 188: break;
|
||||
case 86:
|
||||
{ return JetTokens.ELSE_KEYWORD ;
|
||||
}
|
||||
case 190: break;
|
||||
case 189: break;
|
||||
case 51:
|
||||
{ return JetTokens.AS_KEYWORD ;
|
||||
}
|
||||
case 191: break;
|
||||
case 190: break;
|
||||
case 48:
|
||||
{ return JetTokens.IN_KEYWORD ;
|
||||
}
|
||||
case 192: break;
|
||||
case 191: break;
|
||||
case 53:
|
||||
{ return JetTokens.EQEQ ;
|
||||
}
|
||||
case 193: break;
|
||||
case 192: break;
|
||||
case 80:
|
||||
{ return JetTokens.EQEQEQ ;
|
||||
}
|
||||
case 194: break;
|
||||
case 193: break;
|
||||
case 78:
|
||||
{ return JetTokens.VAL_KEYWORD ;
|
||||
}
|
||||
case 195: break;
|
||||
case 194: break;
|
||||
case 89:
|
||||
{ return JetTokens.CAPITALIZED_THIS_KEYWORD ;
|
||||
}
|
||||
case 196: break;
|
||||
case 195: break;
|
||||
case 50:
|
||||
{ return JetTokens.MULTEQ ;
|
||||
}
|
||||
case 197: break;
|
||||
case 196: break;
|
||||
case 41:
|
||||
{ if (zzCurrentPos == 0) {
|
||||
return JetTokens.SHEBANG_COMMENT;
|
||||
@@ -1316,39 +1311,35 @@ class _JetLexer implements FlexLexer {
|
||||
return JetTokens.HASH;
|
||||
}
|
||||
}
|
||||
case 198: break;
|
||||
case 197: break;
|
||||
case 12:
|
||||
{ return JetTokens.LBRACE ;
|
||||
}
|
||||
case 199: break;
|
||||
case 99:
|
||||
case 198: break;
|
||||
case 98:
|
||||
{ return JetTokens.OBJECT_KEYWORD ;
|
||||
}
|
||||
case 200: break;
|
||||
case 96:
|
||||
case 199: break;
|
||||
case 95:
|
||||
{ return JetTokens.BREAK_KEYWORD ;
|
||||
}
|
||||
case 201: break;
|
||||
case 200: break;
|
||||
case 82:
|
||||
{ return JetTokens.BLOCK_COMMENT;
|
||||
}
|
||||
case 202: break;
|
||||
case 92:
|
||||
{ return JetTokens.TRAIT_KEYWORD ;
|
||||
}
|
||||
case 203: break;
|
||||
case 201: break;
|
||||
case 62:
|
||||
{ return JetTokens.COLONCOLON;
|
||||
}
|
||||
case 204: break;
|
||||
case 202: break;
|
||||
case 33:
|
||||
{
|
||||
}
|
||||
case 205: break;
|
||||
case 203: break;
|
||||
case 6:
|
||||
{ return JetTokens.HASH ;
|
||||
}
|
||||
case 206: break;
|
||||
case 204: break;
|
||||
default:
|
||||
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
|
||||
zzAtEOF = true;
|
||||
@@ -1360,14 +1351,14 @@ class _JetLexer implements FlexLexer {
|
||||
zzStartRead = commentStart;
|
||||
return commentStateToTokenType(state);
|
||||
}
|
||||
case 241: break;
|
||||
case 238: break;
|
||||
case DOC_COMMENT: {
|
||||
int state = yystate();
|
||||
popState();
|
||||
zzStartRead = commentStart;
|
||||
return commentStateToTokenType(state);
|
||||
}
|
||||
case 242: break;
|
||||
case 239: break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
|
||||
private static final TokenSet TYPE_ARGUMENT_LIST_STOPPERS = TokenSet.create(
|
||||
INTEGER_LITERAL, FLOAT_LITERAL, CHARACTER_LITERAL, OPEN_QUOTE,
|
||||
PACKAGE_KEYWORD, AS_KEYWORD, TYPE_ALIAS_KEYWORD, TRAIT_KEYWORD, INTERFACE_KEYWORD, CLASS_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD,
|
||||
PACKAGE_KEYWORD, AS_KEYWORD, TYPE_ALIAS_KEYWORD, INTERFACE_KEYWORD, CLASS_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD,
|
||||
FUN_KEYWORD, FOR_KEYWORD, NULL_KEYWORD,
|
||||
TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD,
|
||||
CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD, TRY_KEYWORD, ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD,
|
||||
@@ -119,7 +119,6 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
// declaration
|
||||
FUN_KEYWORD,
|
||||
VAL_KEYWORD, VAR_KEYWORD,
|
||||
TRAIT_KEYWORD,
|
||||
INTERFACE_KEYWORD,
|
||||
CLASS_KEYWORD,
|
||||
TYPE_ALIAS_KEYWORD
|
||||
@@ -1367,7 +1366,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
private IElementType parseLocalDeclarationRest(boolean isEnum) {
|
||||
IElementType keywordToken = tt();
|
||||
IElementType declType = null;
|
||||
if (keywordToken == CLASS_KEYWORD || keywordToken == TRAIT_KEYWORD || keywordToken == INTERFACE_KEYWORD) {
|
||||
if (keywordToken == CLASS_KEYWORD || keywordToken == INTERFACE_KEYWORD) {
|
||||
declType = myJetParsing.parseClass(isEnum, LOCAL);
|
||||
}
|
||||
else if (keywordToken == FUN_KEYWORD) {
|
||||
|
||||
@@ -46,7 +46,7 @@ public class JetParsing extends AbstractJetParsing {
|
||||
}
|
||||
|
||||
private static final TokenSet TOP_LEVEL_DECLARATION_FIRST = TokenSet.create(
|
||||
TYPE_ALIAS_KEYWORD, TRAIT_KEYWORD, INTERFACE_KEYWORD, CLASS_KEYWORD, OBJECT_KEYWORD,
|
||||
TYPE_ALIAS_KEYWORD, INTERFACE_KEYWORD, CLASS_KEYWORD, OBJECT_KEYWORD,
|
||||
FUN_KEYWORD, VAL_KEYWORD, PACKAGE_KEYWORD);
|
||||
private static final TokenSet DECLARATION_FIRST = TokenSet.orSet(TOP_LEVEL_DECLARATION_FIRST,
|
||||
TokenSet.create(INIT_KEYWORD, GET_KEYWORD, SET_KEYWORD, CONSTRUCTOR_KEYWORD));
|
||||
@@ -399,7 +399,7 @@ public class JetParsing extends AbstractJetParsing {
|
||||
// declType = parsePackageBlock();
|
||||
// }
|
||||
// else
|
||||
if (keywordToken == CLASS_KEYWORD || keywordToken == TRAIT_KEYWORD || keywordToken == INTERFACE_KEYWORD) {
|
||||
if (keywordToken == CLASS_KEYWORD || keywordToken == INTERFACE_KEYWORD) {
|
||||
declType = parseClass(detector.isEnumDetected(), TOP_LEVEL);
|
||||
}
|
||||
else if (keywordToken == FUN_KEYWORD) {
|
||||
@@ -774,9 +774,9 @@ public class JetParsing extends AbstractJetParsing {
|
||||
assert _at(OBJECT_KEYWORD);
|
||||
}
|
||||
else {
|
||||
assert _atSet(CLASS_KEYWORD, TRAIT_KEYWORD, INTERFACE_KEYWORD);
|
||||
assert _atSet(CLASS_KEYWORD, INTERFACE_KEYWORD);
|
||||
}
|
||||
advance(); // CLASS_KEYWORD, TRAIT_KEYWORD or OBJECT_KEYWORD
|
||||
advance(); // CLASS_KEYWORD, INTERFACE_KEYWORD or OBJECT_KEYWORD
|
||||
|
||||
if (nameParsingMode == NameParsingMode.REQUIRED) {
|
||||
OptionalMarker marker = new OptionalMarker(object);
|
||||
@@ -1068,7 +1068,7 @@ public class JetParsing extends AbstractJetParsing {
|
||||
private IElementType parseMemberDeclarationRest(boolean isEnum, boolean isDefault) {
|
||||
IElementType keywordToken = tt();
|
||||
IElementType declType = null;
|
||||
if (keywordToken == CLASS_KEYWORD || keywordToken == TRAIT_KEYWORD || keywordToken == INTERFACE_KEYWORD) {
|
||||
if (keywordToken == CLASS_KEYWORD || keywordToken == INTERFACE_KEYWORD) {
|
||||
declType = parseClass(isEnum, CLASS_MEMBER);
|
||||
}
|
||||
else if (keywordToken == FUN_KEYWORD) {
|
||||
|
||||
@@ -41,8 +41,7 @@ public open class JetClass : JetClassOrObject {
|
||||
public fun getProperties(): List<JetProperty> = getBody()?.getProperties().orEmpty()
|
||||
|
||||
public fun isInterface(): Boolean =
|
||||
getStub()?.isInterface()
|
||||
?: (findChildByType<PsiElement>(JetTokens.TRAIT_KEYWORD) != null || findChildByType<PsiElement>(JetTokens.INTERFACE_KEYWORD) != null)
|
||||
getStub()?.isInterface() ?: (findChildByType<PsiElement>(JetTokens.INTERFACE_KEYWORD) != null)
|
||||
|
||||
public fun isEnum(): Boolean = hasModifier(JetTokens.ENUM_KEYWORD)
|
||||
public fun isSealed(): Boolean = hasModifier(JetTokens.SEALED_KEYWORD)
|
||||
|
||||
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.resolve;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -233,11 +232,6 @@ public class DeclarationsChecker {
|
||||
checkTypeParameters(aClass);
|
||||
|
||||
if (aClass.isInterface()) {
|
||||
ASTNode traitKeyword = aClass.getNode().findChildByType(JetTokens.TRAIT_KEYWORD);
|
||||
if (traitKeyword != null) {
|
||||
trace.report(Errors.DEPRECATED_TRAIT_KEYWORD.on(traitKeyword.getPsi()));
|
||||
}
|
||||
|
||||
checkConstructorInTrait(aClass);
|
||||
}
|
||||
else if (classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait Id<T> {
|
||||
interface Id<T> {
|
||||
val id: T
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait A {
|
||||
interface A {
|
||||
fun visit(a:String, b:String="") : String = b + a
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Base
|
||||
interface Base
|
||||
class Derived: Base
|
||||
class Another: Base
|
||||
fun Base.inc(): Derived { return Derived() }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Base
|
||||
interface Base
|
||||
class Derived: Base
|
||||
class Another: Base
|
||||
fun Base.inc(): Derived { return Derived() }
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// KT-3407 Implementing (in Java) an abstract Kotlin class that implements a trait does not respect trait method definition
|
||||
|
||||
trait T {
|
||||
interface T {
|
||||
fun foo() = "OK"
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait KTrait : Simple {
|
||||
interface KTrait : Simple {
|
||||
fun bar(): String {
|
||||
return test("O") + Simple.testStatic("O")
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait KTrait: Simple {
|
||||
interface KTrait: Simple {
|
||||
override fun test(s: String): String {
|
||||
return s + "K"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait KTrait {
|
||||
interface KTrait {
|
||||
fun test(): String {
|
||||
return "base";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait KTrait : Test {
|
||||
interface KTrait : Test {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
<!DEPRECATED_TRAIT_KEYWORD!>trait<!> A {
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package
|
||||
|
||||
public interface A {
|
||||
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
|
||||
}
|
||||
+1
-1
@@ -2,6 +2,6 @@ package test
|
||||
|
||||
annotation class A
|
||||
|
||||
trait Foo<T : @A Number> : @A CharSequence {
|
||||
interface Foo<T : @A Number> : @A CharSequence {
|
||||
fun <E, F : @A E> bar()
|
||||
}
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ fun func() {}
|
||||
class C
|
||||
|
||||
@file:
|
||||
trait T
|
||||
interface T
|
||||
|
||||
@file:[]
|
||||
trait T
|
||||
interface T
|
||||
+2
-2
@@ -85,7 +85,7 @@ JetFile: fileAnnotationInWrongPlace.kt
|
||||
PsiElement(IDENTIFIER)('file')
|
||||
PsiElement(COLON)(':')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(trait)('trait')
|
||||
PsiElement(interface)('interface')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('T')
|
||||
PsiWhiteSpace('\n\n')
|
||||
@@ -101,6 +101,6 @@ JetFile: fileAnnotationInWrongPlace.kt
|
||||
<empty list>
|
||||
PsiElement(RBRACKET)(']')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(trait)('trait')
|
||||
PsiElement(interface)('interface')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('T')
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
trait A1() {
|
||||
interface A1() {
|
||||
constructor(x: Int = "", y: Int) : this() {
|
||||
x + y
|
||||
}
|
||||
}
|
||||
|
||||
trait A2 private constructor(private val prop: Int) {
|
||||
interface A2 private constructor(private val prop: Int) {
|
||||
constructor(x: Int = "", y: Int) : this(x * y) {
|
||||
x + y
|
||||
}
|
||||
|
||||
@@ -181,12 +181,6 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DeprecatedTraitKeyword.kt")
|
||||
public void testDeprecatedTraitKeyword() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/DeprecatedTraitKeyword.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DiamondFunction.kt")
|
||||
public void testDiamondFunction() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/DiamondFunction.kt");
|
||||
|
||||
@@ -50,7 +50,7 @@ public class KotlinSyntheticClassAnnotationTest extends CodegenTestCase {
|
||||
|
||||
public void testTraitImpl() {
|
||||
doTestKotlinSyntheticClass(
|
||||
"trait A { fun foo() = 42 }",
|
||||
"interface A { fun foo() = 42 }",
|
||||
JvmAbi.TRAIT_IMPL_SUFFIX,
|
||||
TRAIT_IMPL
|
||||
);
|
||||
@@ -106,7 +106,7 @@ public class KotlinSyntheticClassAnnotationTest extends CodegenTestCase {
|
||||
|
||||
public void testLocalTraitImpl() {
|
||||
doTestKotlinSyntheticClass(
|
||||
"fun foo() { trait Local { fun bar() = 42 } }",
|
||||
"fun foo() { interface Local { fun bar() = 42 } }",
|
||||
"Local$$TImpl.class",
|
||||
LOCAL_TRAIT_IMPL
|
||||
);
|
||||
@@ -114,7 +114,7 @@ public class KotlinSyntheticClassAnnotationTest extends CodegenTestCase {
|
||||
|
||||
public void testLocalTraitInterface() {
|
||||
doTestKotlinClass(
|
||||
"fun foo() { trait Local { fun bar() = 42 } }",
|
||||
"fun foo() { interface Local { fun bar() = 42 } }",
|
||||
"Local.class",
|
||||
LOCAL_CLASS
|
||||
);
|
||||
|
||||
@@ -28,7 +28,7 @@ public class MethodOrderTest: CodegenTestCase() {
|
||||
public fun testDelegatedMethod() {
|
||||
doTest(
|
||||
"""
|
||||
trait Trait {
|
||||
interface Trait {
|
||||
fun f0()
|
||||
fun f4()
|
||||
fun f3()
|
||||
|
||||
@@ -23,14 +23,13 @@ import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.JetFile
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||
import org.jetbrains.kotlin.test.JetTestUtils
|
||||
import org.jetbrains.org.objectweb.asm.ClassReader
|
||||
import org.jetbrains.org.objectweb.asm.ClassVisitor
|
||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
||||
import org.junit.Assert
|
||||
import java.io.File
|
||||
|
||||
public trait AbstractSMAPBaseTest {
|
||||
public interface AbstractSMAPBaseTest {
|
||||
|
||||
private fun extractSMAPFromClasses(outputFiles: Iterable<OutputFile>): List<SMAPAndFile> {
|
||||
return outputFiles.map { outputFile ->
|
||||
|
||||
@@ -227,9 +227,9 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
||||
tc.testEnumModality("abstract enum class A {}", Modality.ABSTRACT);
|
||||
tc.testEnumModality("final enum class A {}", Modality.FINAL);
|
||||
|
||||
tc.testTraitModality("trait A {}", Modality.ABSTRACT);
|
||||
tc.testTraitModality("open trait A {}", Modality.ABSTRACT);
|
||||
tc.testTraitModality("abstract trait A {}", Modality.ABSTRACT);
|
||||
tc.testTraitModality("interface A {}", Modality.ABSTRACT);
|
||||
tc.testTraitModality("open interface A {}", Modality.ABSTRACT);
|
||||
tc.testTraitModality("abstract interface A {}", Modality.ABSTRACT);
|
||||
}
|
||||
|
||||
public void testFunctionModality() {
|
||||
@@ -248,11 +248,11 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
||||
tc.testFunctionModalityInEnum("abstract enum class A { ; open fun foo() }", Modality.OPEN);
|
||||
tc.testFunctionModalityInEnum("abstract enum class A { ; abstract fun foo() }", Modality.ABSTRACT);
|
||||
|
||||
tc.testFunctionModalityInTrait("trait A { fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("trait A { abstract fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("trait A { fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("trait A { open fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("trait A { final fun foo() {} }", Modality.FINAL);
|
||||
tc.testFunctionModalityInTrait("interface A { fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("interface A { abstract fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("interface A { fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("interface A { open fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("interface A { final fun foo() {} }", Modality.FINAL);
|
||||
}
|
||||
|
||||
public void testFunctionModalityWithOverride() {
|
||||
@@ -272,11 +272,11 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
||||
tc.testFunctionModalityInEnum("abstract enum class A : C { ; open override fun foo() }", Modality.OPEN);
|
||||
tc.testFunctionModalityInEnum("abstract enum class A : C { ; abstract override fun foo() }", Modality.ABSTRACT);
|
||||
|
||||
tc.testFunctionModalityInTrait("trait A : C { override fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("trait A : C { abstract override fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("trait A : C { override fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("trait A : C { open override fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("trait A : C { final override fun foo() {} }", Modality.FINAL);
|
||||
tc.testFunctionModalityInTrait("interface A : C { override fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("interface A : C { abstract override fun foo() }", Modality.ABSTRACT);
|
||||
tc.testFunctionModalityInTrait("interface A : C { override fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("interface A : C { open override fun foo() {} }", Modality.OPEN);
|
||||
tc.testFunctionModalityInTrait("interface A : C { final override fun foo() {} }", Modality.FINAL);
|
||||
}
|
||||
|
||||
public void testPropertyModality() {
|
||||
@@ -297,18 +297,18 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
||||
tc.testPropertyModalityInEnum("abstract enum class A { ; open val a: Int = 0 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInEnum("abstract enum class A { ; abstract val a: Int }", Modality.ABSTRACT);
|
||||
|
||||
tc.testPropertyModalityInTrait("trait A { val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A { open val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A { abstract val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A { open abstract val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A { val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A { open val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A { abstract val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A { open abstract val a: Int }", Modality.ABSTRACT);
|
||||
|
||||
tc.testPropertyModalityInTrait("trait A { val a: Int get() = 10 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("trait A { var a: Int get() = 1; set(v: Int) {} }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("trait A { val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A { var a: Int open get open set}", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A { open val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A { open val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("trait A { open val a: Int final get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A { val a: Int get() = 10 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A { var a: Int get() = 1; set(v: Int) {} }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A { val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A { var a: Int open get open set}", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A { open val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A { open val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A { open val a: Int final get() = 1 }", Modality.OPEN);
|
||||
}
|
||||
|
||||
public void testPropertyModalityWithOverride() {
|
||||
@@ -329,18 +329,18 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
||||
tc.testPropertyModalityInEnum("abstract enum class A : C { ; open override val a: Int = 0 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInEnum("abstract enum class A : C { ; abstract override val a: Int }", Modality.ABSTRACT);
|
||||
|
||||
tc.testPropertyModalityInTrait("trait A : C { override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A : C { open override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A : C { abstract override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A : C { open abstract override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A : C { override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A : C { open override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A : C { abstract override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A : C { open abstract override val a: Int }", Modality.ABSTRACT);
|
||||
|
||||
tc.testPropertyModalityInTrait("trait A : C { override val a: Int get() = 10 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("trait A : C { override var a: Int get() = 1; set(v: Int) {} }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("trait A : C { override val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A : C { override var a: Int open get open set }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A : C { open override val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("trait A : C { open override val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("trait A : C { open override val a: Int final get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A : C { override val a: Int get() = 10 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A : C { override var a: Int get() = 1; set(v: Int) {} }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A : C { override val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A : C { override var a: Int open get open set }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A : C { open override val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyModalityInTrait("interface A : C { open override val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyModalityInTrait("interface A : C { open override val a: Int final get() = 1 }", Modality.OPEN);
|
||||
}
|
||||
|
||||
public void testPropertyAccessorModality() {
|
||||
@@ -381,23 +381,23 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
||||
tc.testPropertyAccessorModalityInClass("abstract class A { open val a: Int open get() = 10 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInClass("abstract class A { open val a: Int final get() = 10 }", Modality.FINAL);
|
||||
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int abstract get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int open get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int final get }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A { val a: Int final get() = 1 }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int abstract get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int open get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int final get }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A { val a: Int final get() = 1 }", Modality.FINAL);
|
||||
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int abstract get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int open get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int final get }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract trait A { val a: Int final get() = 1 }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int abstract get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int open get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int final get }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("abstract interface A { val a: Int final get() = 1 }", Modality.FINAL);
|
||||
}
|
||||
|
||||
public void testPropertyAccessorModalityWithOverride() {
|
||||
@@ -446,14 +446,14 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
||||
tc.testPropertyAccessorModalityInClass("abstract class A : C { open override val a: Int open override get() = 10 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInClass("abstract class A : C { open override val a: Int final override get() = 10 }", Modality.FINAL);
|
||||
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int override get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int abstract get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int open override get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int override get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int final get }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("trait A : C { override val a: Int final override get() = 1 }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int override get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int abstract get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int open get }", Modality.ABSTRACT);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int open override get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int override get() = 1 }", Modality.OPEN);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int final get }", Modality.FINAL);
|
||||
tc.testPropertyAccessorModalityInTrait("interface A : C { override val a: Int final override get() = 1 }", Modality.FINAL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,6 @@ public class KeywordStringsGenerated {
|
||||
"while",
|
||||
"do",
|
||||
"when",
|
||||
"trait",
|
||||
"interface",
|
||||
"This"
|
||||
));
|
||||
|
||||
+1
-2
@@ -60,7 +60,6 @@ fun box(): String {
|
||||
commonCasesWithTestNotRenamed()
|
||||
|
||||
case("class", "class $KEYWORD_MARKER { companion object {} }", "", testNotRenamedByName)
|
||||
case("trait", "trait $KEYWORD_MARKER { companion object {} }", "", testNotRenamedByName)
|
||||
case("interface", "interface $KEYWORD_MARKER { companion object {} }", "", testNotRenamedByName)
|
||||
case("enum", "enum class $KEYWORD_MARKER { foo }", "", testNotRenamed("$KEYWORD_MARKER.foo"))
|
||||
case("object", "object $KEYWORD_MARKER {}", "", testNotRenamedByName)
|
||||
@@ -165,7 +164,7 @@ fun box(): String {
|
||||
|
||||
suite("delegated",
|
||||
"""
|
||||
trait Trait {
|
||||
interface Trait {
|
||||
$DECLARATION_MARKER
|
||||
}
|
||||
|
||||
|
||||
@@ -151,9 +151,7 @@ public open class JetPsiChecker : Annotator, HighlightRangeExtension {
|
||||
|
||||
when (factory) {
|
||||
Errors.DEPRECATED_SYMBOL,
|
||||
Errors.DEPRECATED_SYMBOL_WITH_MESSAGE,
|
||||
Errors.DEPRECATED_TRAIT_KEYWORD
|
||||
-> annotation.setTextAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES)
|
||||
Errors.DEPRECATED_SYMBOL_WITH_MESSAGE -> annotation.setTextAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES)
|
||||
}
|
||||
|
||||
setUpAnnotation(diagnostic, annotation, if (factory in Errors.UNUSED_ELEMENT_DIAGNOSTICS)
|
||||
|
||||
@@ -41,8 +41,7 @@ open class KeywordLookupObject
|
||||
|
||||
object KeywordCompletion {
|
||||
private val NON_ACTUAL_KEYWORDS = setOf(CAPITALIZED_THIS_KEYWORD,
|
||||
TYPE_ALIAS_KEYWORD,
|
||||
TRAIT_KEYWORD)
|
||||
TYPE_ALIAS_KEYWORD)
|
||||
private val ALL_KEYWORDS = (KEYWORDS.getTypes() + SOFT_KEYWORDS.getTypes())
|
||||
.filter { it !in NON_ACTUAL_KEYWORDS }
|
||||
.map { it as JetKeywordToken }
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ fun foo(p: Iterable<D>) {
|
||||
p.filter { it.<caret> }
|
||||
}
|
||||
|
||||
trait D {
|
||||
interface D {
|
||||
fun bar()
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
trait T1 {
|
||||
interface T1 {
|
||||
fun inT1(){}
|
||||
}
|
||||
|
||||
trait T2 {
|
||||
interface T2 {
|
||||
fun inT2(){}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ open class C {
|
||||
}
|
||||
}
|
||||
|
||||
trait T
|
||||
interface T
|
||||
|
||||
// EXIST: { itemText: "extFunForT", attributes: "bold" }
|
||||
// EXIST: { itemText: "extFunForC", attributes: "bold" }
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T {
|
||||
interface T {
|
||||
fun fromTrait(){}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T {
|
||||
interface T {
|
||||
fun fromTrait(){}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T {
|
||||
interface T {
|
||||
fun f(){}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T {
|
||||
interface T {
|
||||
fun foo1(){}
|
||||
fun foo2(){}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
fun globalFun(){}
|
||||
|
||||
trait T {
|
||||
interface T {
|
||||
fun fromTrait(){}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait I<T>
|
||||
interface I<T>
|
||||
|
||||
fun <E, T : I<E>> T.ext() : T = this
|
||||
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
trait A {
|
||||
interface A {
|
||||
fun foo(): Int
|
||||
}
|
||||
|
||||
trait B: A {
|
||||
interface B: A {
|
||||
override fun foo(): Int
|
||||
override fun foo1(): Int
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Expr
|
||||
interface Expr
|
||||
class Num(val value : Int) : Expr
|
||||
|
||||
fun eval(e : Expr) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Expr {
|
||||
interface Expr {
|
||||
public fun testThis() {
|
||||
if (this is Num) {
|
||||
this.<caret>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Expr
|
||||
interface Expr
|
||||
class Sum(val left : Expr, val right : Expr) : Expr
|
||||
|
||||
fun evalWhen(e : Expr) : Int = when (e) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait Trait<T>
|
||||
interface Trait<T>
|
||||
|
||||
fun<T> Trait<T>.extension(t: T): T = t
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package first
|
||||
|
||||
trait TestedTrait() {
|
||||
interface TestedTrait() {
|
||||
}
|
||||
|
||||
fun firstFun() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait X {
|
||||
interface X {
|
||||
open fun fn() {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait X {
|
||||
interface X {
|
||||
open fun fn() {}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
public trait Comparator<T> {
|
||||
public interface Comparator<T> {
|
||||
public fun compare(var1: T, var2: T): Int
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Foo
|
||||
interface Foo
|
||||
|
||||
var a : Foo = <caret>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Foo
|
||||
interface Foo
|
||||
|
||||
var a : Foo = object: Foo {<caret>}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait Foo
|
||||
interface Foo
|
||||
|
||||
fun foo(f: Foo, i: Int){}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Foo
|
||||
interface Foo
|
||||
|
||||
fun foo(f: Foo, i: Int){}
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@ fun test() {
|
||||
registerHandler(<caret>)
|
||||
}
|
||||
|
||||
trait Message
|
||||
interface Message
|
||||
|
||||
trait Handler<E> {
|
||||
interface Handler<E> {
|
||||
fun handle(e: E)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -8,9 +8,9 @@ fun test() {
|
||||
})
|
||||
}
|
||||
|
||||
trait Message
|
||||
interface Message
|
||||
|
||||
trait Handler<E> {
|
||||
interface Handler<E> {
|
||||
fun handle(e: E)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
class `class`<T>
|
||||
|
||||
trait `trait`
|
||||
interface `interface`
|
||||
|
||||
fun foo(p: `class`<`trait`>){}
|
||||
fun foo(p: `class`<`interface`>){}
|
||||
|
||||
fun f(){
|
||||
foo(<caret>)
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
class `class`<T>
|
||||
|
||||
trait `trait`
|
||||
interface `interface`
|
||||
|
||||
fun foo(p: `class`<`trait`>){}
|
||||
fun foo(p: `class`<`interface`>){}
|
||||
|
||||
fun f(){
|
||||
foo(`class`())<caret>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
trait X
|
||||
trait Y
|
||||
interface X
|
||||
interface Y
|
||||
|
||||
fun X.iterator(): Y
|
||||
fun Y.next(): Int
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
trait X
|
||||
trait Y
|
||||
interface X
|
||||
interface Y
|
||||
|
||||
fun X.iterator(): Y
|
||||
fun Y.next(): Int
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
trait X
|
||||
trait Y
|
||||
interface X
|
||||
interface Y
|
||||
|
||||
fun X.iterator(): Y
|
||||
fun Y.next(): Int
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
trait X
|
||||
trait Y
|
||||
interface X
|
||||
interface Y
|
||||
|
||||
fun X.iterator(): Y
|
||||
fun Y.next(): Int
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package p
|
||||
|
||||
class Outer {
|
||||
trait T {
|
||||
interface T {
|
||||
object Null : T { }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package p
|
||||
|
||||
class Outer {
|
||||
trait T {
|
||||
interface T {
|
||||
object Null : T { }
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ public class LibClass {
|
||||
public val nested: Nested = Nested()
|
||||
}
|
||||
|
||||
public trait LibTrait {
|
||||
public interface LibTrait {
|
||||
public fun foo() {
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait Foo{
|
||||
interface Foo{
|
||||
public fun foo() : Foo
|
||||
public fun s() : String
|
||||
public val prop : String
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T {
|
||||
interface T {
|
||||
fun fromTrait() = ""
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait I
|
||||
interface I
|
||||
|
||||
object O : I
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package p
|
||||
|
||||
trait T {
|
||||
interface T {
|
||||
object Null : T { }
|
||||
|
||||
object Other {}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait Foo{
|
||||
interface Foo{
|
||||
fun foo1() : String
|
||||
fun foo2() : Object
|
||||
val prop : String
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Foo
|
||||
interface Foo
|
||||
|
||||
var a : Foo = <caret>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait Foo
|
||||
interface Foo
|
||||
|
||||
var a : Foo = o<caret>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait T
|
||||
interface T
|
||||
|
||||
class C {
|
||||
inner class Inner1(s: String) : T
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
trait X
|
||||
trait Y
|
||||
interface X
|
||||
interface Y
|
||||
|
||||
fun X.iterator(): Y
|
||||
fun Y.next(): Int
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
trait X
|
||||
trait Y: X
|
||||
trait Z
|
||||
interface X
|
||||
interface Y: X
|
||||
interface Z
|
||||
|
||||
fun foo(p1: Collection<X>, p2: Collection<Y>, p3: Collection<Z>, p4: Collection<X?>) {
|
||||
for (i: X in <caret>)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import java.util.ArrayList
|
||||
|
||||
trait A
|
||||
trait B : A
|
||||
trait C
|
||||
interface A
|
||||
interface B : A
|
||||
interface C
|
||||
|
||||
fun foo(a: A, cA: Collection<A>, cB: Collection<B>, cC: Collection<C>, cAny: Collection<Any>,
|
||||
lA: List<A>, lb: List<B>, lC: List<C>, lAny: List<Any>,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
trait A
|
||||
trait B : A
|
||||
trait C
|
||||
interface A
|
||||
interface B : A
|
||||
interface C
|
||||
|
||||
fun foo(a: A){}
|
||||
fun foo(c: C){}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
trait A
|
||||
trait B : A
|
||||
trait C
|
||||
interface A
|
||||
interface B : A
|
||||
interface C
|
||||
|
||||
fun foo(a: A?){}
|
||||
fun foo(c: C?){}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
trait A
|
||||
trait B : A
|
||||
trait C
|
||||
interface A
|
||||
interface B : A
|
||||
interface C
|
||||
|
||||
fun foo(a: A){}
|
||||
fun foo(c: C){}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
trait A
|
||||
trait B : A
|
||||
trait C
|
||||
interface A
|
||||
interface B : A
|
||||
interface C
|
||||
|
||||
fun foo(a: A){}
|
||||
fun foo(c: C){}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
trait X
|
||||
trait Y : X
|
||||
trait Z
|
||||
interface X
|
||||
interface Y : X
|
||||
interface Z
|
||||
|
||||
fun X.contains(s: String): Boolean
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
trait X {
|
||||
interface X {
|
||||
fun contains(s: String): Boolean
|
||||
}
|
||||
|
||||
trait Y {
|
||||
interface Y {
|
||||
fun contains(i: Int): Boolean
|
||||
}
|
||||
|
||||
trait Z {
|
||||
interface Z {
|
||||
fun contains(o: Any): Boolean
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
trait X<T> {
|
||||
interface X<T> {
|
||||
fun contains(t: T): Boolean
|
||||
}
|
||||
|
||||
trait A {
|
||||
interface A {
|
||||
fun<T> createX(t: T): X<T>
|
||||
|
||||
fun foo(s: String) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
trait X<T>
|
||||
interface X<T>
|
||||
|
||||
fun<T> X<T>.contains(t: T): Boolean
|
||||
|
||||
trait A {
|
||||
interface A {
|
||||
fun<T> createX(t: T): X<T>
|
||||
|
||||
fun foo(s: String) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
trait X {
|
||||
interface X {
|
||||
fun contains(s: String): Boolean?
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T
|
||||
interface T
|
||||
|
||||
open class A : T
|
||||
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
public trait Comparator<T> {
|
||||
public interface Comparator<T> {
|
||||
public fun compare(var1: T, var2: T): Int
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
package p
|
||||
|
||||
trait I1
|
||||
trait I2
|
||||
trait I3
|
||||
interface I1
|
||||
interface I2
|
||||
interface I3
|
||||
|
||||
trait KotlinTrait<T1, T2>
|
||||
interface KotlinTrait<T1, T2>
|
||||
|
||||
open class KotlinInheritor1<T> : KotlinTrait<T, I2>
|
||||
|
||||
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
package p
|
||||
|
||||
trait I1
|
||||
trait I2
|
||||
trait I3
|
||||
interface I1
|
||||
interface I2
|
||||
interface I3
|
||||
|
||||
trait KotlinTrait<T1, T2>
|
||||
interface KotlinTrait<T1, T2>
|
||||
|
||||
class KotlinInheritor<T> : KotlinTrait<T, T>
|
||||
|
||||
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
package p
|
||||
|
||||
trait I1
|
||||
trait I2
|
||||
trait I3
|
||||
interface I1
|
||||
interface I2
|
||||
interface I3
|
||||
|
||||
trait KotlinTrait<T1, T2>
|
||||
interface KotlinTrait<T1, T2>
|
||||
|
||||
class KotlinInheritor<T> : KotlinTrait<T, T>
|
||||
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package p
|
||||
|
||||
trait I1<T>
|
||||
trait I2
|
||||
interface I1<T>
|
||||
interface I2
|
||||
|
||||
trait KotlinTrait<T>
|
||||
interface KotlinTrait<T>
|
||||
|
||||
class KotlinInheritor<T> : KotlinTrait<I1<T>>
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T
|
||||
interface T
|
||||
|
||||
class C : A()
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package p2
|
||||
|
||||
trait KotlinTrait
|
||||
interface KotlinTrait
|
||||
|
||||
open class KotlinInheritor1 : KotlinTrait
|
||||
|
||||
|
||||
Vendored
+3
-3
@@ -1,9 +1,9 @@
|
||||
class X
|
||||
class Y
|
||||
|
||||
trait T1
|
||||
trait T2<T>
|
||||
trait T3<T>
|
||||
interface T1
|
||||
interface T2<T>
|
||||
interface T3<T>
|
||||
|
||||
class C1 : T1
|
||||
class C2<T> : T2<T>, T3<T>
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait X
|
||||
interface X
|
||||
|
||||
fun foo(x: X) {
|
||||
JavaClass.search(<caret>)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
trait T
|
||||
interface T
|
||||
|
||||
object OO : T
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
This intention converts a member of a class or trait into an extension to this class/trait.
|
||||
This intention converts a member of a class or interface into an extension to this class/interface.
|
||||
</body>
|
||||
</html>
|
||||
@@ -82,7 +82,6 @@ public class KotlinCleanupInspection(): LocalInspectionTool(), CleanupLocalInspe
|
||||
private fun Diagnostic.isCleanup() = getFactory() in cleanupDiagnosticsFactories || isObsoleteLabel()
|
||||
|
||||
private val cleanupDiagnosticsFactories = setOf(
|
||||
Errors.DEPRECATED_TRAIT_KEYWORD,
|
||||
Errors.DEPRECATED_LAMBDA_SYNTAX,
|
||||
Errors.MISSING_CONSTRUCTOR_KEYWORD,
|
||||
Errors.FUNCTION_EXPRESSION_WITH_NAME,
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.quickfix
|
||||
|
||||
import com.intellij.codeInsight.intention.IntentionAction
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.idea.quickfix.quickfixUtil.createIntentionFactory
|
||||
import org.jetbrains.kotlin.lexer.JetTokens
|
||||
import org.jetbrains.kotlin.psi.JetClass
|
||||
import org.jetbrains.kotlin.psi.JetFile
|
||||
import org.jetbrains.kotlin.psi.JetPsiFactory
|
||||
|
||||
public class DeprecatedTraitSyntaxFix(element: PsiElement): JetIntentionAction<PsiElement>(element), CleanupFix {
|
||||
override fun getFamilyName() = "Replace 'trait' with 'interface'"
|
||||
override fun getText() = getFamilyName()
|
||||
|
||||
override fun invoke(project: Project, editor: Editor?, file: JetFile)
|
||||
= replaceWithInterfaceKeyword(element)
|
||||
|
||||
|
||||
companion object : JetSingleIntentionActionFactory() {
|
||||
fun replaceWithInterfaceKeyword(element: PsiElement) {
|
||||
val cls = JetPsiFactory(element.getProject()).createClass("interface A {}")
|
||||
element.replace(cls.getNode().findChildByType(JetTokens.INTERFACE_KEYWORD)!!.getPsi())
|
||||
}
|
||||
|
||||
override fun createAction(diagnostic: Diagnostic): IntentionAction =
|
||||
DeprecatedTraitSyntaxFix(diagnostic.getPsiElement())
|
||||
|
||||
public fun createWholeProjectFixFactory(): JetSingleIntentionActionFactory = createIntentionFactory {
|
||||
JetWholeProjectForEachElementOfTypeFix.createByPredicate<JetClass>(
|
||||
predicate = { it.getNode().findChildByType(JetTokens.TRAIT_KEYWORD) != null },
|
||||
taskProcessor = { replaceWithInterfaceKeyword(it.getNode().findChildByType(JetTokens.TRAIT_KEYWORD)!!.getPsi())},
|
||||
name = "Replace 'trait' with 'interface' in whole project"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user