KtFile: CommentsBinding.kt PsiComment(BLOCK_COMMENT)('/*\n * Copyright JetBrains s.r.o.\n */') PsiWhiteSpace('\n') PACKAGE_DIRECTIVE PsiElement(package)('package') PsiWhiteSpace(' ') DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') PsiElement(DOT)('.') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('bar') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// package directive') PsiWhiteSpace('\n\n') IMPORT_LIST IMPORT_DIRECTIVE PsiElement(import)('import') PsiWhiteSpace(' ') DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('java') PsiElement(DOT)('.') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('util') PsiElement(DOT)('.') PsiElement(MUL)('*') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// we need classes from java.util') PsiWhiteSpace('\n') IMPORT_DIRECTIVE PsiElement(import)('import') PsiWhiteSpace(' ') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('javax') PsiElement(DOT)('.') PsiElement(MUL)('*') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// and from here too') PsiWhiteSpace('\n\n') PsiComment(EOL_COMMENT)('// other imports') PsiWhiteSpace('\n') IMPORT_DIRECTIVE PsiElement(import)('import') PsiWhiteSpace(' ') DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(DOT)('.') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('b') PsiWhiteSpace('\n') IMPORT_DIRECTIVE PsiElement(import)('import') PsiWhiteSpace(' ') DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('c') PsiElement(DOT)('.') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('d') PsiWhiteSpace('\n\n') CLASS KDoc PsiElement(KDOC_START)('/**') PsiWhiteSpace('\n ') KDOC_SECTION PsiElement(KDOC_LEADING_ASTERISK)('*') PsiElement(KDOC_TEXT)(' Doc comment for A') PsiWhiteSpace('\n ') PsiElement(KDOC_END)('*/') PsiWhiteSpace('\n') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('A') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiElement(RBRACE)('}') PsiWhiteSpace('\n') PsiComment(EOL_COMMENT)('// after class A') PsiWhiteSpace('\n\n') CLASS PsiComment(EOL_COMMENT)('// comment for B 1') PsiWhiteSpace('\n') PsiComment(EOL_COMMENT)('// comment for B 2') PsiWhiteSpace('\n') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('B') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiElement(RBRACE)('}') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// end of class B') PsiWhiteSpace('\n\n') CLASS PsiComment(BLOCK_COMMENT)('/* Simple comment */') PsiWhiteSpace('\n') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('C') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// no body') PsiWhiteSpace('\n\n') CLASS PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('D') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') PROPERTY PsiComment(EOL_COMMENT)('// This is v1') PsiWhiteSpace('\n ') PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('v1') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// use 1') PsiWhiteSpace('\n ') PROPERTY KDoc PsiElement(KDOC_START)('/**') KDOC_SECTION PsiElement(KDOC_TEXT)(' v2 doc comment ') PsiElement(KDOC_END)('*/') PsiWhiteSpace('\n ') PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('v2') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('2') PsiWhiteSpace('\n\n ') FUN PsiComment(EOL_COMMENT)('// Function foo()') PsiWhiteSpace('\n ') PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiComment(BLOCK_COMMENT)('/* parameters */') PsiWhiteSpace(' ') VALUE_PARAMETER PsiElement(IDENTIFIER)('p1') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Int') PsiComment(BLOCK_COMMENT)('/* p1 */') PsiElement(COMMA)(',') PsiWhiteSpace(' ') VALUE_PARAMETER PsiElement(IDENTIFIER)('p2') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Int') PsiWhiteSpace(' ') PsiComment(BLOCK_COMMENT)('/* p2 */') PsiElement(COMMA)(',') PsiWhiteSpace(' ') VALUE_PARAMETER PsiElement(IDENTIFIER)('p3') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('String') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(DOT)('.') CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('b') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') VALUE_ARGUMENT REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('c') PsiElement(RPAR)(')') PsiComment(BLOCK_COMMENT)('/*parameter with default value*/') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') PsiComment(EOL_COMMENT)('// before local var') PsiWhiteSpace('\n ') PROPERTY PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('local') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// local var') PsiWhiteSpace('\n ') FUN PsiComment(EOL_COMMENT)('// before local fun') PsiWhiteSpace('\n ') PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('localFun') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// local fun') PsiWhiteSpace('\n ') CLASS PsiComment(EOL_COMMENT)('// before local class') PsiWhiteSpace('\n ') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('Local') CLASS_BODY PsiElement(LBRACE)('{') PsiElement(RBRACE)('}') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// local class') PsiWhiteSpace('\n ') PsiComment(EOL_COMMENT)('// before statement') PsiWhiteSpace('\n ') CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// statement') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// end of foo') PsiWhiteSpace('\n\n ') OBJECT_DECLARATION PsiComment(EOL_COMMENT)('// companion object') PsiWhiteSpace('\n ') MODIFIER_LIST PsiElement(companion)('companion') PsiWhiteSpace(' ') PsiElement(object)('object') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// end of companion object') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') PROPERTY PsiComment(EOL_COMMENT)('// This is v') PsiWhiteSpace('\n') PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('v') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// one') PsiWhiteSpace('\n\n') FUN PsiComment(EOL_COMMENT)('// This is fun') PsiWhiteSpace('\n') MODIFIER_LIST PsiElement(public)('public') PsiWhiteSpace(' ') PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') PROPERTY PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('local') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// this is local') PsiWhiteSpace('\n ') PsiComment(EOL_COMMENT)('// declare another local') PsiWhiteSpace('\n ') PROPERTY PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('local2') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('2') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// end') PsiWhiteSpace('\n\n') CLASS MODIFIER_LIST PsiElement(enum)('enum') PsiWhiteSpace(' ') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('E') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') ENUM_ENTRY PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// this is A') PsiWhiteSpace('\n ') ENUM_ENTRY KDoc PsiElement(KDOC_START)('/**') KDOC_SECTION PsiElement(KDOC_TEXT)(' This is B ') PsiElement(KDOC_END)('*/') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('B') PsiElement(COMMA)(',') PsiWhiteSpace('\n ') ENUM_ENTRY PsiComment(BLOCK_COMMENT)('/* And this is C */') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('C') PsiElement(COMMA)(',') PsiWhiteSpace('\n ') ENUM_ENTRY KDoc PsiElement(KDOC_START)('/**') KDOC_SECTION PsiElement(KDOC_TEXT)(' This is X ') PsiElement(KDOC_END)('*/') PsiWhiteSpace('\n ') PsiElement(IDENTIFIER)('X') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') FUN MODIFIER_LIST PsiElement(override)('override') PsiWhiteSpace(' ') PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('toString') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') STRING_TEMPLATE PsiElement(OPEN_QUOTE)('"') LITERAL_STRING_TEMPLATE_ENTRY PsiElement(REGULAR_STRING_PART)('X') PsiElement(CLOSING_QUOTE)('"') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// end of X') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') PROPERTY PsiElement(var)('var') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('prop') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Int') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// Int') PsiWhiteSpace('\n ') PROPERTY_ACCESSOR PsiElement(get)('get') PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// this is getter') PsiWhiteSpace('\n ') PROPERTY_ACCESSOR PsiElement(set)('set') PsiElement(LPAR)('(') VALUE_PARAMETER_LIST VALUE_PARAMETER PsiElement(IDENTIFIER)('value') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiElement(RBRACE)('}') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// this is setter') PsiWhiteSpace('\n\n') PROPERTY PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('prop2') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Int') PsiWhiteSpace(' ') PROPERTY_ACCESSOR PsiElement(get)('get') PsiErrorElement:Accessor body expected PsiErrorElement:Expecting '(' PsiErrorElement:Expecting ')' PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// prop2') PsiWhiteSpace('\n\n') PROPERTY PsiElement(var)('var') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('prop3') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Int') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// Int') PsiWhiteSpace('\n ') PROPERTY_ACCESSOR PsiComment(EOL_COMMENT)('// this comment is for getter') PsiWhiteSpace('\n ') PsiElement(get)('get') PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace('\n ') PROPERTY_ACCESSOR PsiComment(EOL_COMMENT)('// this comment is for setter') PsiWhiteSpace('\n ') PsiElement(set)('set') PsiElement(LPAR)('(') VALUE_PARAMETER_LIST VALUE_PARAMETER PsiElement(IDENTIFIER)('value') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiElement(RBRACE)('}')