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
            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 ')
    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)('.')
      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
            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(' ')
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        PsiElement(get)('get')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          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)('.')
      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(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      PROPERTY_GETTER
        PsiElement(set)('set')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        BLOCK
          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)('.')
      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(' ')
        BLOCK
          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(' ')
        BLOCK
          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)('.')
      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(' ')
        BLOCK
          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)('.')
      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(' ')
        BLOCK
          PsiElement(LBRACE)('{')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n ')
      PsiElement(RBRACE)('}')