Parse const as soft modifier keyword

This commit is contained in:
Denis Zharkov
2015-09-21 15:33:35 +03:00
parent 4a3ac474ca
commit 02b64ce1ed
15 changed files with 64 additions and 3 deletions
@@ -177,6 +177,8 @@ public interface JetTokens {
JetModifierKeywordToken ANNOTATION_KEYWORD = JetModifierKeywordToken.softKeywordModifier("annotation");
JetModifierKeywordToken CROSSINLINE_KEYWORD = JetModifierKeywordToken.softKeywordModifier("crossinline");
JetModifierKeywordToken CONST_KEYWORD = JetModifierKeywordToken.softKeywordModifier("const");
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,
@@ -194,7 +196,7 @@ public interface JetTokens {
FIELD_KEYWORD, PROPERTY_KEYWORD, RECEIVER_KEYWORD, PARAM_KEYWORD, SPARAM_KEYWORD,
LATE_INIT_KEYWORD,
DATA_KEYWORD, INLINE_KEYWORD, NOINLINE_KEYWORD, TAILREC_KEYWORD, EXTERNAL_KEYWORD,
ANNOTATION_KEYWORD, CROSSINLINE_KEYWORD
ANNOTATION_KEYWORD, CROSSINLINE_KEYWORD, CONST_KEYWORD
);
/*
@@ -207,7 +209,8 @@ public interface JetTokens {
ABSTRACT_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, INNER_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD,
PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD, OUT_KEYWORD, IN_KEYWORD, FINAL_KEYWORD, VARARG_KEYWORD,
REIFIED_KEYWORD, COMPANION_KEYWORD, SEALED_KEYWORD, LATE_INIT_KEYWORD,
DATA_KEYWORD, INLINE_KEYWORD, NOINLINE_KEYWORD, TAILREC_KEYWORD, EXTERNAL_KEYWORD, ANNOTATION_KEYWORD, CROSSINLINE_KEYWORD
DATA_KEYWORD, INLINE_KEYWORD, NOINLINE_KEYWORD, TAILREC_KEYWORD, EXTERNAL_KEYWORD, ANNOTATION_KEYWORD, CROSSINLINE_KEYWORD,
CONST_KEYWORD
};
// Please synchronize this array with org.jetbrains.kotlin.descriptors.annotations.ANNOTATION_MODIFIERS_FQ_NAMES
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.psi.stubs.KotlinFileStub;
import java.io.IOException;
public class JetFileElementType extends IStubFileElementType<KotlinFileStub> {
public static final int STUB_VERSION = 57;
public static final int STUB_VERSION = 58;
private static final String NAME = "kotlin.FILE";
+4
View File
@@ -60,6 +60,7 @@ ref
val param
val sparam
val lateinit
val const
get() = a
set(S : s) {}
@@ -94,6 +95,7 @@ ref
fun param () : param
fun sparam () : sparam
fun lateinit () : lateinit
fun const () : const
fun test(
abstract : t,
@@ -125,6 +127,7 @@ ref
param : t,
sparam : t,
lateinit : t,
const : t,
public protected private internal abstract
open
enum
@@ -173,6 +176,7 @@ class F(val foo : bar,
param : t,
sparam : t,
lateinit : t,
const : t,
public protected private internal abstract
open
enum
+43
View File
@@ -317,6 +317,11 @@ JetFile: SoftKeywords.kt
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('lateinit')
PsiWhiteSpace('\n ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('const')
PsiWhiteSpace('\n ')
PROPERTY_ACCESSOR
PsiElement(get)('get')
@@ -819,6 +824,22 @@ JetFile: SoftKeywords.kt
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('lateinit')
PsiWhiteSpace('\n ')
FUN
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('const')
PsiWhiteSpace(' ')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('const')
PsiWhiteSpace('\n\n ')
FUN
PsiElement(fun)('fun')
@@ -1145,6 +1166,17 @@ JetFile: SoftKeywords.kt
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('t')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('const')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('t')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
MODIFIER_LIST
@@ -1531,6 +1563,17 @@ JetFile: SoftKeywords.kt
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('t')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('const')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('t')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_PARAMETER
MODIFIER_LIST
@@ -43,4 +43,5 @@ class MouseMovedEventArgs
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
// NOTHING_ELSE
@@ -46,5 +46,6 @@ class B {
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
/*TODO*/
// NOTHING_ELSE
+1
View File
@@ -46,4 +46,5 @@ class A {
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
// NOTHING_ELSE
@@ -46,5 +46,6 @@ var a : Int
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
/*TODO*/
// NOTHING_ELSE
@@ -44,4 +44,5 @@ public class Test {
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
// NOTHING_ELSE
@@ -38,4 +38,5 @@ class TestClass {
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
// NOTHING_ELSE
@@ -37,5 +37,6 @@ package Test
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
/*TODO*/
// NOTHING_ELSE
@@ -42,4 +42,5 @@ class Some {
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
// NOTHING_ELSE
@@ -42,4 +42,5 @@ class Some {
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
// NOTHING_ELSE
@@ -44,4 +44,5 @@ class Some {
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
// NOTHING_ELSE
+1
View File
@@ -36,5 +36,6 @@
// EXIST: external
// EXIST: annotation
// EXIST: crossinline
// EXIST: const
/*TODO*/
// NOTHING_ELSE