Special modifier parsing for enum entries: last of them is considered as an enum entry name #KT-9088 Fixed

This commit is contained in:
Mikhail Glukhikh
2015-09-08 12:47:12 +03:00
parent 52f3e9ca06
commit 0257f46ebb
9 changed files with 123 additions and 4 deletions
+3
View File
@@ -0,0 +1,3 @@
enum class My {
inline
}
+21
View File
@@ -0,0 +1,21 @@
JetFile: EnumInline.kt
PACKAGE_DIRECTIVE
<empty list>
IMPORT_LIST
<empty list>
CLASS
MODIFIER_LIST
PsiElement(enum)('enum')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('My')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('inline')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
+6
View File
@@ -0,0 +1,6 @@
enum class My {
inline public,
inner private;
companion object {}
}
+43
View File
@@ -0,0 +1,43 @@
JetFile: EnumInlinePublic.kt
PACKAGE_DIRECTIVE
<empty list>
IMPORT_LIST
<empty list>
CLASS
MODIFIER_LIST
PsiElement(enum)('enum')
PsiWhiteSpace(' ')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('My')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
MODIFIER_LIST
PsiElement(inline)('inline')
PsiWhiteSpace(' ')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('public')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
ENUM_ENTRY
MODIFIER_LIST
PsiElement(inner)('inner')
PsiWhiteSpace(' ')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('private')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n\n ')
OBJECT_DECLARATION
MODIFIER_LIST
PsiElement(companion)('companion')
PsiWhiteSpace(' ')
PsiElement(object)('object')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace(' \n')
PsiElement(RBRACE)('}')