JetFile: FunctionsWithFunctionReceivers.kt PACKAGE_DIRECTIVE IMPORT_LIST FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE ANNOTATION PsiElement(AT)('@') PsiElement(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Unit') PsiElement(RPAR)(')') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE ANNOTATION PsiElement(AT)('@') PsiElement(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('C') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('D') PsiElement(COMMA)(',') PsiWhiteSpace(' ') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('E') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiElement(SEMICOLON)(';') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE ANNOTATION PsiElement(AT)('@') PsiElement(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE ANNOTATION PsiElement(AT)('@') PsiElement(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(DOT)('.') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('A') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('R') PsiElement(RPAR)(')') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiElement(RBRACE)('}') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_PARAMETER_LIST PsiElement(LT)('<') TYPE_PARAMETER PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') TYPE_PARAMETER PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE ANNOTATION PsiElement(AT)('@') PsiElement(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('B') PsiElement(DOT)('.') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('A') PsiErrorElement:Expecting comma or ')' PsiWhiteSpace(' ') PsiErrorElement:Expecting ')' PsiElement(ARROW)('->') PsiErrorElement:Expecting '->' to specify return type of a function type TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('B') PsiElement(RPAR)(')') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Unit') PsiErrorElement:Expecting '.' before a function name PsiErrorElement:Expecting a top level declaration PsiElement(RPAR)(')') PsiErrorElement:Expecting a top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting a top level declaration PsiElement(IDENTIFIER)('foo') PsiErrorElement:Expecting a top level declaration PsiElement(LPAR)('(') PsiErrorElement:Expecting a top level declaration PsiElement(RPAR)(')') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_PARAMETER_LIST PsiElement(LT)('<') TYPE_PARAMETER PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') TYPE_PARAMETER PsiElement(IDENTIFIER)('B') PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE ANNOTATION PsiElement(AT)('@') PsiElement(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('A') PsiElement(COMMA)(',') PsiWhiteSpace(' ') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('B') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Unit') PsiElement(RPAR)(')') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE NULLABLE_TYPE PsiElement(LPAR)('(') FUNCTION_TYPE VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('G') PsiElement(RPAR)(')') PsiElement(QUEST)('?') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE NULLABLE_TYPE NULLABLE_TYPE PsiElement(LPAR)('(') FUNCTION_TYPE VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('G') PsiElement(RPAR)(')') PsiElement(QUEST)('?') PsiElement(QUEST)('?') PsiElement(DOT)('.') PsiElement(IDENTIFIER)('foo') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n\n') FUN PsiComment(EOL_COMMENT)('//--------------') PsiWhiteSpace('\n') PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_PARAMETER_LIST PsiElement(LT)('<') TYPE_PARAMETER PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('f') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n') PsiErrorElement:Expecting a top level declaration PsiElement(IDENTIFIER)('a') PsiErrorElement:Expecting a top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting a top level declaration PsiElement(IDENTIFIER)('b') PsiWhiteSpace(' ') CLASS PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('C')