JetFile: With.kt
  PACKAGE_DIRECTIVE
    <empty list>
  IMPORT_LIST
    <empty list>
  FUN
    MODIFIER_LIST
      ANNOTATION_ENTRY
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('inline')
    PsiWhiteSpace(' ')
    PsiElement(fun)('fun')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('with')
    TYPE_PARAMETER_LIST
      PsiElement(LT)('<')
      TYPE_PARAMETER
        PsiElement(IDENTIFIER)('T')
      PsiElement(GT)('>')
    VALUE_PARAMETER_LIST
      PsiElement(LPAR)('(')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('receiver')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('T')
      PsiElement(COMMA)(',')
      PsiWhiteSpace(' ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('body')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace('  ')
        TYPE_REFERENCE
          FUNCTION_TYPE
            FUNCTION_TYPE_RECEIVER
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('T')
            PsiElement(DOT)('.')
            VALUE_PARAMETER_LIST
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
            PsiWhiteSpace(' ')
            PsiElement(ARROW)('->')
            PsiWhiteSpace(' ')
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('Unit')
      PsiElement(RPAR)(')')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    DOT_QUALIFIED_EXPRESSION
      REFERENCE_EXPRESSION
        PsiElement(IDENTIFIER)('receiver')
      PsiElement(DOT)('.')
      CALL_EXPRESSION
        REFERENCE_EXPRESSION
          PsiElement(IDENTIFIER)('body')
        VALUE_ARGUMENT_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
  PsiWhiteSpace('\n\n')
  FUN
    PsiElement(fun)('fun')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('example')
    VALUE_PARAMETER_LIST
      PsiElement(LPAR)('(')
      PsiElement(RPAR)(')')
    PsiWhiteSpace(' ')
    BLOCK
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n\n  ')
      CALL_EXPRESSION
        REFERENCE_EXPRESSION
          PsiElement(IDENTIFIER)('with')
        VALUE_ARGUMENT_LIST
          PsiElement(LPAR)('(')
          VALUE_ARGUMENT
            DOT_QUALIFIED_EXPRESSION
              DOT_QUALIFIED_EXPRESSION
                DOT_QUALIFIED_EXPRESSION
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('java')
                  PsiElement(DOT)('.')
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('lang')
                PsiElement(DOT)('.')
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('System')
              PsiElement(DOT)('.')
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('out')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        FUNCTION_LITERAL_ARGUMENT
          FUNCTION_LITERAL_EXPRESSION
            FUNCTION_LITERAL
              PsiElement(LBRACE)('{')
              PsiWhiteSpace('\n    ')
              BLOCK
                CALL_EXPRESSION
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('println')
                  VALUE_ARGUMENT_LIST
                    PsiElement(LPAR)('(')
                    VALUE_ARGUMENT
                      STRING_TEMPLATE
                        PsiElement(OPEN_QUOTE)('"')
                        LITERAL_STRING_TEMPLATE_ENTRY
                          PsiElement(REGULAR_STRING_PART)('foo')
                        PsiElement(CLOSING_QUOTE)('"')
                    PsiElement(RPAR)(')')
                PsiElement(SEMICOLON)(';')
                PsiWhiteSpace('\n    ')
                CALL_EXPRESSION
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('print')
                  VALUE_ARGUMENT_LIST
                    PsiElement(LPAR)('(')
                    VALUE_ARGUMENT
                      STRING_TEMPLATE
                        PsiElement(OPEN_QUOTE)('"')
                        LITERAL_STRING_TEMPLATE_ENTRY
                          PsiElement(REGULAR_STRING_PART)('bar')
                        PsiElement(CLOSING_QUOTE)('"')
                    PsiElement(RPAR)(')')
                PsiElement(SEMICOLON)(';')
              PsiWhiteSpace('\n  ')
              PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n  ')
      DOT_QUALIFIED_EXPRESSION
        DOT_QUALIFIED_EXPRESSION
          REFERENCE_EXPRESSION
            PsiElement(IDENTIFIER)('System')
          PsiElement(DOT)('.')
          REFERENCE_EXPRESSION
            PsiElement(IDENTIFIER)('out')
        PsiElement(DOT)('.')
        CALL_EXPRESSION
          FUNCTION_LITERAL_EXPRESSION
            FUNCTION_LITERAL
              PsiElement(LBRACE)('{')
              PsiWhiteSpace('\n    ')
              BLOCK
                CALL_EXPRESSION
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('println')
                  VALUE_ARGUMENT_LIST
                    PsiElement(LPAR)('(')
                    VALUE_ARGUMENT
                      STRING_TEMPLATE
                        PsiElement(OPEN_QUOTE)('"')
                        LITERAL_STRING_TEMPLATE_ENTRY
                          PsiElement(REGULAR_STRING_PART)('foo')
                        PsiElement(CLOSING_QUOTE)('"')
                    PsiElement(RPAR)(')')
                PsiElement(SEMICOLON)(';')
                PsiWhiteSpace('\n    ')
                CALL_EXPRESSION
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('print')
                  VALUE_ARGUMENT_LIST
                    PsiElement(LPAR)('(')
                    VALUE_ARGUMENT
                      STRING_TEMPLATE
                        PsiElement(OPEN_QUOTE)('"')
                        LITERAL_STRING_TEMPLATE_ENTRY
                          PsiElement(REGULAR_STRING_PART)('bar')
                        PsiElement(CLOSING_QUOTE)('"')
                    PsiElement(RPAR)(')')
                PsiElement(SEMICOLON)(';')
              PsiWhiteSpace('\n  ')
              PsiElement(RBRACE)('}')
          VALUE_ARGUMENT_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
      PsiWhiteSpace('\n\n')
      PsiElement(RBRACE)('}')
