Parser: do not produce CLASS_OBJECT element

"class object" is parsed into OBJECT_DECLARATION instead
This commit is contained in:
Pavel V. Talanov
2015-01-21 17:01:46 +03:00
parent 42d2b97c09
commit f1942b1a74
9 changed files with 394 additions and 424 deletions
@@ -882,13 +882,9 @@ public class JetParsing extends AbstractJetParsing {
*/ */
private IElementType parseClassObject() { private IElementType parseClassObject() {
assert _at(CLASS_KEYWORD) && lookahead(1) == OBJECT_KEYWORD; assert _at(CLASS_KEYWORD) && lookahead(1) == OBJECT_KEYWORD;
advance(); // CLASS_KEYWORD advance(); // CLASS_KEYWORD
PsiBuilder.Marker objectDeclaration = mark();
parseObject(NameParsingMode.ALLOWED, true); parseObject(NameParsingMode.ALLOWED, true);
closeDeclarationWithCommentBinders(objectDeclaration, OBJECT_DECLARATION, true); return OBJECT_DECLARATION;
return CLASS_OBJECT;
} }
/* /*
+42 -49
View File
@@ -23,15 +23,14 @@ JetFile: ByClauses.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -75,15 +74,14 @@ JetFile: ByClauses.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -112,15 +110,14 @@ JetFile: ByClauses.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -158,15 +155,14 @@ JetFile: ByClauses.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -207,15 +203,14 @@ JetFile: ByClauses.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -257,15 +252,14 @@ JetFile: ByClauses.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -319,14 +313,13 @@ JetFile: ByClauses.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+9 -10
View File
@@ -263,20 +263,19 @@ JetFile: CommentsBinding.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiComment(EOL_COMMENT)('// end of foo') PsiComment(EOL_COMMENT)('// end of foo')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiComment(EOL_COMMENT)('// class object') PsiComment(EOL_COMMENT)('// class object')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n ')
PsiWhiteSpace('\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// end of class object')
PsiComment(EOL_COMMENT)('// end of class object')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
+21 -25
View File
@@ -9,42 +9,38 @@ JetFile: NamedClassObject.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') OBJECT_DECLARATION_NAME
OBJECT_DECLARATION_NAME PsiElement(IDENTIFIER)('Default')
PsiElement(IDENTIFIER)('Default')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') OBJECT_DECLARATION_NAME
OBJECT_DECLARATION_NAME PsiElement(IDENTIFIER)('B')
PsiElement(IDENTIFIER)('B')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') OBJECT_DECLARATION_NAME
OBJECT_DECLARATION_NAME PsiElement(IDENTIFIER)('C')
PsiElement(IDENTIFIER)('C') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
OBJECT_DECLARATION OBJECT_DECLARATION
PsiElement(object)('object') PsiElement(object)('object')
+170 -180
View File
@@ -86,129 +86,124 @@ JetFile: SimpleClassMembers.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n\n ')
PsiWhiteSpace('\n\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n\n ')
PsiWhiteSpace('\n\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') PsiElement(COLON)(':')
PsiElement(COLON)(':') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER_LIST DELEGATOR_SUPER_CLASS
DELEGATOR_SUPER_CLASS TYPE_REFERENCE
TYPE_REFERENCE USER_TYPE
USER_TYPE REFERENCE_EXPRESSION
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Fooo')
PsiElement(IDENTIFIER)('Fooo') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n\n ')
PsiWhiteSpace('\n\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(COLON)(':') DELEGATOR_BY
PsiWhiteSpace(' ') TYPE_REFERENCE
DELEGATION_SPECIFIER_LIST USER_TYPE
DELEGATOR_SUPER_CLASS REFERENCE_EXPRESSION
TYPE_REFERENCE PsiElement(IDENTIFIER)('Bar')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATOR_BY PsiElement(by)('by')
TYPE_REFERENCE PsiWhiteSpace(' ')
USER_TYPE REFERENCE_EXPRESSION
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo')
PsiElement(IDENTIFIER)('Bar') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
PsiElement(by)('by') PsiElement(LBRACE)('{')
PsiWhiteSpace(' ') PsiWhiteSpace('\n\n ')
REFERENCE_EXPRESSION PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(COLON)(':') DELEGATOR_BY
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST DELEGATOR_SUPER_CALL
DELEGATOR_SUPER_CLASS CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo') PsiElement(IDENTIFIER)('Goo')
PsiElement(COMMA)(',') VALUE_ARGUMENT_LIST
PsiWhiteSpace(' ') PsiElement(LPAR)('(')
DELEGATOR_BY PsiElement(RPAR)(')')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATOR_SUPER_CALL
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Goo')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
@@ -283,128 +278,123 @@ JetFile: SimpleClassMembers.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n\n ')
PsiWhiteSpace('\n\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n\n ')
PsiWhiteSpace('\n\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') PsiElement(COLON)(':')
PsiElement(COLON)(':') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER_LIST DELEGATOR_SUPER_CLASS
DELEGATOR_SUPER_CLASS TYPE_REFERENCE
TYPE_REFERENCE USER_TYPE
USER_TYPE REFERENCE_EXPRESSION
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Fooo')
PsiElement(IDENTIFIER)('Fooo') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n\n ')
PsiWhiteSpace('\n\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(COLON)(':') DELEGATOR_BY
PsiWhiteSpace(' ') TYPE_REFERENCE
DELEGATION_SPECIFIER_LIST USER_TYPE
DELEGATOR_SUPER_CLASS REFERENCE_EXPRESSION
TYPE_REFERENCE PsiElement(IDENTIFIER)('Bar')
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATOR_BY PsiElement(by)('by')
TYPE_REFERENCE PsiWhiteSpace(' ')
USER_TYPE REFERENCE_EXPRESSION
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo')
PsiElement(IDENTIFIER)('Bar') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
PsiElement(by)('by') PsiElement(LBRACE)('{')
PsiWhiteSpace(' ') PsiWhiteSpace('\n\n ')
REFERENCE_EXPRESSION PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST
DELEGATOR_SUPER_CLASS
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(COLON)(':') DELEGATOR_BY
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
DELEGATION_SPECIFIER_LIST DELEGATOR_SUPER_CALL
DELEGATOR_SUPER_CLASS CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Fooo') PsiElement(IDENTIFIER)('Goo')
PsiElement(COMMA)(',') VALUE_ARGUMENT_LIST
PsiWhiteSpace(' ') PsiElement(LPAR)('(')
DELEGATOR_BY PsiElement(RPAR)(')')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
PsiElement(by)('by')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
DELEGATOR_SUPER_CALL
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Goo')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n\n') PsiWhiteSpace('\n\n\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
@@ -425,7 +425,7 @@ JetFile: ShortAnnotations.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
MODIFIER_LIST MODIFIER_LIST
ANNOTATION_ENTRY ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
@@ -477,12 +477,11 @@ JetFile: ShortAnnotations.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS CLASS
MODIFIER_LIST MODIFIER_LIST
@@ -131,67 +131,66 @@ JetFile: PolymorphicClassObjects.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') PsiElement(COLON)(':')
PsiElement(COLON)(':') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') DELEGATION_SPECIFIER_LIST
DELEGATION_SPECIFIER_LIST DELEGATOR_SUPER_CLASS
DELEGATOR_SUPER_CLASS TYPE_REFERENCE
TYPE_REFERENCE USER_TYPE
USER_TYPE REFERENCE_EXPRESSION
REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Buildable')
PsiElement(IDENTIFIER)('Buildable') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n ')
PsiWhiteSpace('\n ') FUN
FUN MODIFIER_LIST
MODIFIER_LIST PsiElement(override)('override')
PsiElement(override)('override') PsiWhiteSpace(' ')
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('newBuilder')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('E')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(fun)('fun') TYPE_PARAMETER
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('R')
PsiElement(IDENTIFIER)('newBuilder') PsiElement(GT)('>')
TYPE_PARAMETER_LIST VALUE_PARAMETER_LIST
PsiElement(LT)('<') PsiElement(LPAR)('(')
TYPE_PARAMETER PsiElement(RPAR)(')')
PsiElement(IDENTIFIER)('E') PsiWhiteSpace(' ')
PsiElement(COMMA)(',') PsiElement(COLON)(':')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_PARAMETER TYPE_REFERENCE
PsiElement(IDENTIFIER)('R') USER_TYPE
PsiElement(GT)('>') REFERENCE_EXPRESSION
VALUE_PARAMETER_LIST PsiElement(IDENTIFIER)('Builder')
PsiElement(LPAR)('(') TYPE_ARGUMENT_LIST
PsiElement(RPAR)(')') PsiElement(LT)('<')
PsiWhiteSpace(' ') TYPE_PROJECTION
PsiElement(COLON)(':') TYPE_REFERENCE
PsiWhiteSpace(' ') USER_TYPE
TYPE_REFERENCE REFERENCE_EXPRESSION
USER_TYPE PsiElement(IDENTIFIER)('E')
REFERENCE_EXPRESSION PsiElement(COMMA)(',')
PsiElement(IDENTIFIER)('Builder') PsiWhiteSpace(' ')
TYPE_ARGUMENT_LIST TYPE_PROJECTION
PsiElement(LT)('<') TYPE_REFERENCE
TYPE_PROJECTION USER_TYPE
TYPE_REFERENCE REFERENCE_EXPRESSION
USER_TYPE PsiElement(IDENTIFIER)('R')
REFERENCE_EXPRESSION PsiElement(GT)('>')
PsiElement(IDENTIFIER)('E') PsiWhiteSpace('\n\n ')
PsiElement(COMMA)(',') PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('R')
PsiElement(GT)('>')
PsiWhiteSpace('\n\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
@@ -32,90 +32,89 @@ JetFile: UpdateOperation.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n ')
PsiWhiteSpace('\n ') FUN
FUN PsiElement(fun)('fun')
PsiElement(fun)('fun') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('copy')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('from')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Pair')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('copy') VALUE_PARAMETER
VALUE_PARAMETER_LIST PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Pair')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_ARGUMENT
PsiElement(IDENTIFIER)('from') REFERENCE_EXPRESSION
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('x')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Pair')
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
VALUE_PARAMETER VALUE_ARGUMENT
PsiElement(IDENTIFIER)('x') REFERENCE_EXPRESSION
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('y')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_PARAMETER
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('from')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace('\n ')
PsiElement(EQ)('=') PsiElement(RBRACE)('}')
PsiWhiteSpace(' ')
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Pair')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('y')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
+12 -13
View File
@@ -9,20 +9,19 @@ JetFile: kt2172.kt
CLASS_BODY CLASS_BODY
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ') PsiWhiteSpace('\n\n ')
CLASS_OBJECT OBJECT_DECLARATION
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION PsiElement(object)('object')
PsiElement(object)('object') PsiWhiteSpace(' ')
PsiWhiteSpace(' ') CLASS_BODY
CLASS_BODY PsiElement(LBRACE)('{')
PsiElement(LBRACE)('{') PsiWhiteSpace('\n ')
PsiWhiteSpace('\n ') PROPERTY
PROPERTY PsiElement(val)('val')
PsiElement(val)('val') PsiErrorElement:Expecting property name or receiver type
PsiErrorElement:Expecting property name or receiver type <empty list>
<empty list> PsiWhiteSpace('\n ')
PsiWhiteSpace('\n ') PsiElement(RBRACE)('}')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')