JetFile: LocalDeclarations.kt
  PACKAGE_DIRECTIVE
    <empty list>
  IMPORT_LIST
    <empty list>
  FUN
    PsiElement(fun)('fun')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('foo')
    VALUE_PARAMETER_LIST
      PsiElement(LPAR)('(')
      PsiElement(RPAR)(')')
    PsiWhiteSpace(' ')
    BLOCK
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      REFERENCE_EXPRESSION
        PsiElement(IDENTIFIER)('out')
      PsiWhiteSpace('\n    ')
      INTEGER_CONSTANT
        PsiElement(INTEGER_LITERAL)('1')
      PsiWhiteSpace('\n    ')
      CLASS
        MODIFIER_LIST
          ANNOTATION_ENTRY
            PsiElement(AT)('@')
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('a')
          PsiWhiteSpace(' ')
          PsiElement(abstract)('abstract')
        PsiWhiteSpace(' ')
        PsiElement(class)('class')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('foof')
        PsiWhiteSpace(' ')
        CLASS_BODY
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      CLASS
        MODIFIER_LIST
          PsiElement(abstract)('abstract')
          PsiWhiteSpace(' ')
          ANNOTATION_ENTRY
            PsiElement(AT)('@')
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('a')
        PsiWhiteSpace(' ')
        PsiElement(class)('class')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('foof')
        PsiWhiteSpace(' ')
        CLASS_BODY
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n    ')
      PROPERTY
        MODIFIER_LIST
          PsiElement(out)('out')
        PsiWhiteSpace(' ')
        PsiElement(val)('val')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('foo')
        PsiWhiteSpace(' ')
        PsiElement(EQ)('=')
        PsiWhiteSpace(' ')
        INTEGER_CONSTANT
          PsiElement(INTEGER_LITERAL)('5')
      PsiWhiteSpace('\n    ')
      PROPERTY
        MODIFIER_LIST
          ANNOTATION_ENTRY
            PsiElement(AT)('@')
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('a')
        PsiWhiteSpace(' ')
        PsiElement(var)('var')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('foo')
        PsiWhiteSpace(' ')
        PsiElement(EQ)('=')
        PsiWhiteSpace(' ')
        INTEGER_CONSTANT
          PsiElement(INTEGER_LITERAL)('4')
      PsiWhiteSpace('\n    ')
      TYPEALIAS
        PsiElement(typealias)('typealias')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('f')
        PsiWhiteSpace(' ')
        PsiElement(EQ)('=')
        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')
      PsiWhiteSpace('\n')
      PsiElement(RBRACE)('}')