JetFile: Properties.jet
  NAMESPACE
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      ATTRIBUTE_ANNOTATION
        PsiElement(LBRACKET)('[')
        ATTRIBUTE
          USER_TYPE
            PsiElement(IDENTIFIER)('a')
        PsiElement(RBRACKET)(']')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('bar')
    PsiWhiteSpace('\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        FUNCTION_TYPE
          PsiElement(LBRACE)('{')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            TUPLE_TYPE
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
          PsiElement(RBRACE)('}')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        FUNCTION_TYPE
          PsiElement(LBRACE)('{')
          RECEIVER_TYPE
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('foo')
              PsiElement(DOT)('.')
              USER_TYPE
                PsiElement(IDENTIFIER)('bar')
          PsiElement(DOT)('.')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            TUPLE_TYPE
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
          PsiElement(RBRACE)('}')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('T')
    PsiWhiteSpace('\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      ATTRIBUTE_ANNOTATION
        PsiElement(LBRACKET)('[')
        ATTRIBUTE
          USER_TYPE
            PsiElement(IDENTIFIER)('a')
        PsiElement(RBRACKET)(']')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('bar')
    PsiWhiteSpace('\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        PsiElement(get)('get')
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        PsiElement(set)('set')
        PsiElement(LPAR)('(')
        VALUE_PARAMETER
          PsiElement(IDENTIFIER)('sad')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(EQ)('=')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        FUNCTION_TYPE
          PsiElement(LBRACE)('{')
          RECEIVER_TYPE
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('foo')
              PsiElement(DOT)('.')
              USER_TYPE
                PsiElement(IDENTIFIER)('bar')
          PsiElement(DOT)('.')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            TUPLE_TYPE
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
          PsiElement(RBRACE)('}')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        PsiElement(get)('get')
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        PsiElement(set)('set')
        PsiElement(LPAR)('(')
        VALUE_PARAMETER
          PsiElement(IDENTIFIER)('it')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        FUNCTION_TYPE
          PsiElement(LBRACE)('{')
          RECEIVER_TYPE
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('foo')
              PsiElement(DOT)('.')
              USER_TYPE
                PsiElement(IDENTIFIER)('bar')
          PsiElement(DOT)('.')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            TUPLE_TYPE
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
          PsiElement(RBRACE)('}')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        PsiElement(get)('get')
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            PsiElement(IDENTIFIER)('Foo')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        PsiElement(set)('set')
        PsiElement(LPAR)('(')
        VALUE_PARAMETER
          PsiElement(IDENTIFIER)('it')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        FUNCTION_TYPE
          PsiElement(LBRACE)('{')
          RECEIVER_TYPE
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('foo')
              PsiElement(DOT)('.')
              USER_TYPE
                PsiElement(IDENTIFIER)('bar')
          PsiElement(DOT)('.')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            TUPLE_TYPE
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
          PsiElement(RBRACE)('}')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        MODIFIER_LIST
          ATTRIBUTE_ANNOTATION
            PsiElement(LBRACKET)('[')
            ATTRIBUTE
              USER_TYPE
                PsiElement(IDENTIFIER)('a')
            PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          PsiElement(public)('public')
        PsiWhiteSpace(' ')
        PsiElement(get)('get')
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        MODIFIER_LIST
          PsiElement(virtual)('virtual')
        PsiWhiteSpace(' ')
        PsiElement(set)('set')
        PsiElement(LPAR)('(')
        VALUE_PARAMETER
          PsiElement(IDENTIFIER)('a')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              PsiElement(IDENTIFIER)('b')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        FUNCTION_TYPE
          PsiElement(LBRACE)('{')
          RECEIVER_TYPE
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('foo')
              PsiElement(DOT)('.')
              USER_TYPE
                PsiElement(IDENTIFIER)('bar')
          PsiElement(DOT)('.')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            TUPLE_TYPE
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
          PsiElement(RBRACE)('}')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        MODIFIER_LIST
          PsiElement(virtual)('virtual')
        PsiWhiteSpace(' ')
        PsiElement(set)('set')
        PsiElement(LPAR)('(')
        VALUE_PARAMETER
          PsiElement(IDENTIFIER)('a')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              PsiElement(IDENTIFIER)('b')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        FUNCTION_TYPE
          PsiElement(LBRACE)('{')
          RECEIVER_TYPE
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('foo')
              PsiElement(DOT)('.')
              USER_TYPE
                PsiElement(IDENTIFIER)('bar')
          PsiElement(DOT)('.')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            TUPLE_TYPE
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
          PsiElement(RBRACE)('}')
      PsiElement(DOT)('.')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace('\n   ')
      PROPERTY_ACCESSOR
        MODIFIER_LIST
          ATTRIBUTE_ANNOTATION
            PsiElement(LBRACKET)('[')
            ATTRIBUTE
              USER_TYPE
                PsiElement(IDENTIFIER)('a')
            PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          PsiElement(public)('public')
        PsiWhiteSpace(' ')
        PsiElement(get)('get')
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')