JetFile: FunctionsWithFunctionReceivers.kt PACKAGE_DIRECTIVE FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE PsiErrorElement:Type expected PsiErrorElement:Expecting '.' before a function name PsiElement(LBRACE)('{') PsiErrorElement:Expecting function name PsiElement(LBRACKET)('[') PsiErrorElement:Expecting '(' MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(COLON)(':') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACE)('}') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') FUN MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n') PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE PsiErrorElement:Type expected PsiErrorElement:Expecting '.' before a function name PsiElement(LBRACE)('{') PsiErrorElement:Expecting function name PsiElement(LBRACKET)('[') PsiErrorElement:Expecting '(' MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(COLON)(':') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACE)('}') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiErrorElement:Expecting package directive or top level declaration PsiElement(SEMICOLON)(';') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE PsiErrorElement:Type expected PsiErrorElement:Expecting '.' before a function name PsiElement(LBRACE)('{') PsiErrorElement:Expecting function name PsiElement(LBRACKET)('[') PsiErrorElement:Expecting '(' MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(COLON)(':') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACE)('}') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LBRACE)('{') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACE)('}') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE ANNOTATION PsiElement(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiErrorElement:Type expected PsiWhiteSpace(' ') PsiErrorElement:Expecting '.' before a function name PsiElement(LBRACE)('{') PsiErrorElement:Expecting function name PsiElement(LBRACKET)('[') PsiErrorElement:Expecting '(' MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(COLON)(':') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACE)('}') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LBRACE)('{') PsiErrorElement:Expecting package directive or top level declaration 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(LBRACKET)('[') ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiElement(RBRACKET)(']') PsiErrorElement:Type expected PsiWhiteSpace(' ') PsiErrorElement:Expecting '.' before a function name PsiElement(LBRACE)('{') PsiErrorElement:Expecting function name VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Unit') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACE)('}') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') FUN MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n\n') PsiComment(EOL_COMMENT)('// And tuples, too') PsiWhiteSpace('\n') PsiElement(fun)('fun') PsiErrorElement:Expecting function name or receiver type PsiWhiteSpace(' ') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER PsiElement(IDENTIFIER)('A') PsiErrorElement:Parameters must have type annotation PsiElement(COMMA)(',') PsiWhiteSpace(' ') VALUE_PARAMETER PsiElement(IDENTIFIER)('B') PsiErrorElement:Parameters must have type annotation PsiElement(RPAR)(')') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('foo') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(COLON)(':') PsiWhiteSpace(' ') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Unit') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LBRACE)('{') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n\n') PsiComment(EOL_COMMENT)('// Recovery') PsiWhiteSpace('\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE PsiErrorElement:Type expected PsiErrorElement:Expecting '.' before a function name PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiErrorElement:Expecting function name PsiElement(LBRACKET)('[') PsiErrorElement:Expecting '(' MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') MODIFIER_LIST ANNOTATION_ENTRY CONSTRUCTOR_CALLEE 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)('>') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(COLON)(':') PsiWhiteSpace(' ') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')') PsiErrorElement:Expecting package directive or top level declaration PsiElement(DOT)('.') PsiErrorElement:Expecting package directive or top level declaration PsiElement(MINUS)('-') PsiErrorElement:Expecting package directive or top level declaration PsiElement(LPAR)('(') PsiErrorElement:Expecting package directive or top level declaration PsiElement(RPAR)(')')