JetFile: Properties.jet
  NAMESPACE
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        ATTRIBUTE_ANNOTATION
          PsiElement(LBRACKET)('[')
          ATTRIBUTE
            USER_TYPE
              USER_TYPE
                PsiElement(IDENTIFIER)('a')
          PsiElement(RBRACKET)(']')
        PsiWhiteSpace(' ')
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
        PsiElement(DOT)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
    PsiWhiteSpace('\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
        PsiElement(DOT)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
        PsiElement(DOT)('.')
        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)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
    PsiWhiteSpace('\n\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      RECEIVER_TYPE_ATTRIBUTES
        <empty list>
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('T')
    PsiWhiteSpace('\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      RECEIVER_TYPE_ATTRIBUTES
        ATTRIBUTE_ANNOTATION
          PsiElement(LBRACKET)('[')
          ATTRIBUTE
            USER_TYPE
              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)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace(' ')
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        PsiElement(get)('get')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(LBRACE)('{')
        PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        PsiElement(set)('set')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(EQ)('=')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace('\n ')
      PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
        PsiElement(DOT)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
        PsiElement(DOT)('.')
        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)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        PsiElement(get)('get')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(LBRACE)('{')
        PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        PsiElement(set)('set')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(LBRACE)('{')
        PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n ')
      PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
        PsiElement(DOT)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
        PsiElement(DOT)('.')
        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)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        MODIFIER_LIST
          ATTRIBUTE_ANNOTATION
            PsiElement(LBRACKET)('[')
            ATTRIBUTE
              USER_TYPE
                USER_TYPE
                  PsiElement(IDENTIFIER)('a')
            PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          PsiElement(public)('public')
        PsiWhiteSpace(' ')
        PsiElement(get)('get')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(LBRACE)('{')
        PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        MODIFIER_LIST
          PsiElement(virtual)('virtual')
        PsiWhiteSpace(' ')
        PsiElement(set)('set')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          VALUE_PARAMETER
            PsiElement(IDENTIFIER)('a')
            PsiWhiteSpace(' ')
            PsiElement(COLON)(':')
            PsiWhiteSpace(' ')
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('b')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(LBRACE)('{')
        PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n ')
      PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
        PsiElement(DOT)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
        PsiElement(DOT)('.')
        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)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        MODIFIER_LIST
          PsiElement(virtual)('virtual')
        PsiWhiteSpace(' ')
        PsiElement(set)('set')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          VALUE_PARAMETER
            PsiElement(IDENTIFIER)('a')
            PsiWhiteSpace(' ')
            PsiElement(COLON)(':')
            PsiWhiteSpace(' ')
            TYPE_REFERENCE
              USER_TYPE
                PsiElement(IDENTIFIER)('b')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(LBRACE)('{')
        PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n ')
      PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n ')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
        PsiElement(DOT)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
        PsiElement(DOT)('.')
        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)('.')
        USER_TYPE
          PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          PsiElement(IDENTIFIER)('bar')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      PsiWhiteSpace(' ')
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        MODIFIER_LIST
          ATTRIBUTE_ANNOTATION
            PsiElement(LBRACKET)('[')
            ATTRIBUTE
              USER_TYPE
                USER_TYPE
                  PsiElement(IDENTIFIER)('a')
            PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          PsiElement(public)('public')
        PsiWhiteSpace(' ')
        PsiElement(get)('get')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(LBRACE)('{')
        PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n ')
      PsiElement(RBRACE)('}')