JetFile: PropertiesFollowedByInitializers.jet
  NAMESPACE
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('Foo')
      TYPE_PARAMETER_LIST
        <empty list>
      VALUE_PARAMETER_LIST
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(val)('val')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('a')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
            PsiErrorElement:Accessor body expected
              <empty list>
            PsiErrorElement:Expecting '('
              <empty list>
            PsiErrorElement:Expecting ')'
              <empty list>
            PsiWhiteSpace(' ')
            PsiElement(EQ)('=')
            PsiWhiteSpace(' ')
            INTEGER_CONSTANT
              PsiElement(INTEGER_LITERAL)('1')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
            PsiWhiteSpace(' ')
            PsiElement(EQ)('=')
            PsiWhiteSpace(' ')
            INTEGER_CONSTANT
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(SEMICOLON)(';')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(set)('set')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b1')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
            PsiWhiteSpace(' ')
            PsiElement(EQ)('=')
            PsiWhiteSpace(' ')
            INTEGER_CONSTANT
              PsiElement(INTEGER_LITERAL)('1')
            PsiElement(SEMICOLON)(';')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(set)('set')
            PsiErrorElement:Accessor body expected
              <empty list>
            PsiErrorElement:Expecting '('
              <empty list>
            PsiWhiteSpace(' ')
            VALUE_PARAMETER_LIST
              VALUE_PARAMETER
                PsiErrorElement:Expecting parameter name
                  <empty list>
            PsiErrorElement:Expecting ')'
              <empty list>
            BLOCK
              PsiElement(LBRACE)('{')
              INTEGER_CONSTANT
                PsiElement(INTEGER_LITERAL)('1')
              PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(val)('val')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b2')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
        PsiWhiteSpace('\n  ')
        ANONYMOUS_INITIALIZER
          BLOCK
            PsiElement(LBRACE)('{')
            PsiWhiteSpace('\n\n  ')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(val)('val')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b3')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
            PsiErrorElement:Accessor body expected
              <empty list>
            PsiErrorElement:Expecting '('
              <empty list>
            PsiErrorElement:Expecting ')'
              <empty list>
            PsiWhiteSpace(' ')
            BLOCK
              PsiElement(LBRACE)('{')
              PsiWhiteSpace('\n    ')
              RETURN
                PsiElement(return)('return')
                PsiWhiteSpace(' ')
                INTEGER_CONSTANT
                  PsiElement(INTEGER_LITERAL)('1')
              PsiWhiteSpace('\n  ')
              PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(val)('val')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b4')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
          PsiElement(SEMICOLON)(';')
        PsiWhiteSpace(' ')
        ANONYMOUS_INITIALIZER
          BLOCK
            PsiElement(LBRACE)('{')
            PsiWhiteSpace('\n  ')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n\n  ')
        PROPERTY
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b5')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            MODIFIER_LIST
              PsiElement(abstract)('abstract')
            PsiWhiteSpace(' ')
            PsiElement(set)('set')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b6')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            MODIFIER_LIST
              ANNOTATION
                PsiElement(LBRACKET)('[')
                ANNOTATION_ENTRY
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION
                          PsiElement(IDENTIFIER)('a')
                PsiElement(RBRACKET)(']')
              PsiWhiteSpace(' ')
              PsiElement(abstract)('abstract')
            PsiWhiteSpace(' ')
            PsiElement(set)('set')
        PsiWhiteSpace('\n  ')
        PROPERTY
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('b7')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
          PsiWhiteSpace(' ')
          PsiErrorElement:Property getter or setter expected
            PsiElement(LBRACKET)('[')
            PsiElement(IDENTIFIER)('a')
            PsiElement(RBRACKET)(']')
            PsiWhiteSpace(' ')
            PsiElement(abstract)('abstract')
            PsiWhiteSpace(' ')
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('PublicVar')
      TYPE_PARAMETER_LIST
        <empty list>
      VALUE_PARAMETER_LIST
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace(' ')
        PROPERTY
          MODIFIER_LIST
            PsiElement(public)('public')
          PsiWhiteSpace(' ')
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('foo')
          PsiWhiteSpace(' ')
          PsiElement(EQ)('=')
          PsiWhiteSpace(' ')
          INTEGER_CONSTANT
            PsiElement(INTEGER_LITERAL)('0')
          PsiElement(SEMICOLON)(';')
        PsiWhiteSpace(' ')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('PublicVar')
      TYPE_PARAMETER_LIST
        <empty list>
      VALUE_PARAMETER_LIST
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace(' ')
        PROPERTY
          MODIFIER_LIST
            PsiElement(public)('public')
          PsiWhiteSpace(' ')
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('foo')
          PsiWhiteSpace(' ')
          PsiElement(EQ)('=')
          PsiWhiteSpace(' ')
          INTEGER_CONSTANT
            PsiElement(INTEGER_LITERAL)('0')
          PsiElement(SEMICOLON)(';')
        PsiWhiteSpace(' ')
        PROPERTY
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('x')
          PsiWhiteSpace(' ')
          PsiElement(COLON)(':')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('Int')
        PsiWhiteSpace(' ')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('PublicVar')
      TYPE_PARAMETER_LIST
        <empty list>
      VALUE_PARAMETER_LIST
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace(' ')
        PROPERTY
          MODIFIER_LIST
            PsiElement(public)('public')
          PsiWhiteSpace(' ')
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('foo')
          PsiWhiteSpace(' ')
          PsiElement(EQ)('=')
          PsiWhiteSpace(' ')
          INTEGER_CONSTANT
            PsiElement(INTEGER_LITERAL)('0')
        PsiWhiteSpace(' ')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('PublicVar')
      TYPE_PARAMETER_LIST
        <empty list>
      VALUE_PARAMETER_LIST
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace(' ')
        PROPERTY
          MODIFIER_LIST
            PsiElement(public)('public')
          PsiWhiteSpace(' ')
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('foo')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(set)('set')
        PsiWhiteSpace(' ')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('PublicVar')
      TYPE_PARAMETER_LIST
        <empty list>
      VALUE_PARAMETER_LIST
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace(' ')
        PROPERTY
          MODIFIER_LIST
            PsiElement(public)('public')
          PsiWhiteSpace(' ')
          PsiElement(var)('var')
          PsiWhiteSpace(' ')
          PsiElement(IDENTIFIER)('foo')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(get)('get')
          PsiWhiteSpace(' ')
          PROPERTY_ACCESSOR
            PsiElement(set)('set')
        PsiWhiteSpace(' ')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n\n')
    PROPERTY
      PsiElement(val)('val')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('now')
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION
            PsiElement(IDENTIFIER)('Long')
      PsiWhiteSpace(' ')
      PROPERTY_ACCESSOR
        PsiElement(get)('get')
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(EQ)('=')
        PsiWhiteSpace(' ')
        DOT_QUALIFIED_EXPRESSION
          REFERENCE_EXPRESSION
            PsiElement(IDENTIFIER)('System')
          PsiElement(DOT)('.')
          CALL_EXPRESSION
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('currentTimeMillis')
            VALUE_ARGUMENT_LIST
              PsiElement(LPAR)('(')
              PsiElement(RPAR)(')')
        PsiElement(SEMICOLON)(';')
    PsiWhiteSpace(' ')
    FUN
      PsiElement(fun)('fun')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('foo')
      VALUE_PARAMETER_LIST
        PsiElement(LPAR)('(')
        PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      REFERENCE_EXPRESSION
        PsiElement(IDENTIFIER)('now')