KtFile: AnonymousObjects.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\n')
      CALL_EXPRESSION
        REFERENCE_EXPRESSION
          PsiElement(IDENTIFIER)('addMouseListener')
        VALUE_ARGUMENT_LIST
          PsiElement(LPAR)('(')
          VALUE_ARGUMENT
            OBJECT_LITERAL
              OBJECT_DECLARATION
                PsiElement(object)('object')
                PsiWhiteSpace(' ')
                PsiElement(COLON)(':')
                PsiWhiteSpace(' ')
                SUPER_TYPE_LIST
                  SUPER_TYPE_CALL_ENTRY
                    CONSTRUCTOR_CALLEE
                      TYPE_REFERENCE
                        USER_TYPE
                          REFERENCE_EXPRESSION
                            PsiElement(IDENTIFIER)('MouseAdapter')
                    VALUE_ARGUMENT_LIST
                      PsiElement(LPAR)('(')
                      PsiElement(RPAR)(')')
                PsiWhiteSpace(' ')
                CLASS_BODY
                  PsiElement(LBRACE)('{')
                  PsiWhiteSpace('\n\n  ')
                  PROPERTY
                    MODIFIER_LIST
                      PsiElement(private)('private')
                    PsiWhiteSpace(' ')
                    PsiElement(var)('var')
                    PsiWhiteSpace(' ')
                    PsiElement(IDENTIFIER)('clickCount')
                    PsiWhiteSpace(' ')
                    PsiElement(EQ)('=')
                    PsiWhiteSpace(' ')
                    INTEGER_CONSTANT
                      PsiElement(INTEGER_LITERAL)('0')
                    PsiElement(SEMICOLON)(';')
                  PsiWhiteSpace('\n\n  ')
                  FUN
                    MODIFIER_LIST
                      PsiElement(override)('override')
                    PsiWhiteSpace(' ')
                    PsiElement(fun)('fun')
                    PsiWhiteSpace(' ')
                    PsiElement(IDENTIFIER)('mouseClicked')
                    VALUE_PARAMETER_LIST
                      PsiElement(LPAR)('(')
                      VALUE_PARAMETER
                        PsiElement(IDENTIFIER)('e')
                        PsiWhiteSpace(' ')
                        PsiElement(COLON)(':')
                        PsiWhiteSpace(' ')
                        TYPE_REFERENCE
                          USER_TYPE
                            REFERENCE_EXPRESSION
                              PsiElement(IDENTIFIER)('MouseEvent')
                      PsiElement(RPAR)(')')
                    PsiWhiteSpace(' ')
                    BLOCK
                      PsiElement(LBRACE)('{')
                      PsiWhiteSpace('\n    ')
                      POSTFIX_EXPRESSION
                        REFERENCE_EXPRESSION
                          PsiElement(IDENTIFIER)('clickCount')
                        OPERATION_REFERENCE
                          PsiElement(PLUSPLUS)('++')
                      PsiElement(SEMICOLON)(';')
                      PsiWhiteSpace('\n    ')
                      IF
                        PsiElement(if)('if')
                        PsiWhiteSpace(' ')
                        PsiElement(LPAR)('(')
                        CONDITION
                          BINARY_EXPRESSION
                            REFERENCE_EXPRESSION
                              PsiElement(IDENTIFIER)('clickCount')
                            PsiWhiteSpace(' ')
                            OPERATION_REFERENCE
                              PsiElement(GT)('>')
                            PsiWhiteSpace(' ')
                            INTEGER_CONSTANT
                              PsiElement(INTEGER_LITERAL)('3')
                        PsiElement(RPAR)(')')
                        PsiWhiteSpace(' ')
                        THEN
                          DOT_QUALIFIED_EXPRESSION
                            REFERENCE_EXPRESSION
                              PsiElement(IDENTIFIER)('GOD')
                            PsiElement(DOT)('.')
                            CALL_EXPRESSION
                              REFERENCE_EXPRESSION
                                PsiElement(IDENTIFIER)('sendMessage')
                              VALUE_ARGUMENT_LIST
                                PsiElement(LPAR)('(')
                                VALUE_ARGUMENT
                                  DOT_QUALIFIED_EXPRESSION
                                    REFERENCE_EXPRESSION
                                      PsiElement(IDENTIFIER)('GodMEssages')
                                    PsiElement(DOT)('.')
                                    REFERENCE_EXPRESSION
                                      PsiElement(IDENTIFIER)('TOO_MANY_CLICKS')
                                PsiElement(RPAR)(')')
                      PsiElement(SEMICOLON)(';')
                      PsiWhiteSpace('\n  ')
                      PsiElement(RBRACE)('}')
                  PsiWhiteSpace('\n')
                  PsiElement(RBRACE)('}')
          PsiElement(RPAR)(')')
      PsiWhiteSpace('\n\n')
      CLASS
        MODIFIER_LIST
          PsiElement(enum)('enum')
        PsiWhiteSpace(' ')
        PsiElement(class)('class')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('GodMessages')
        PsiWhiteSpace(' ')
        CLASS_BODY
          PsiElement(LBRACE)('{')
          PsiWhiteSpace('\n  ')
          ENUM_ENTRY
            PsiElement(IDENTIFIER)('TOO_MANY_CLICKS')
            PsiElement(COMMA)(',')
          PsiWhiteSpace('\n  ')
          ENUM_ENTRY
            PsiElement(IDENTIFIER)('ONE_MORE_MESSAGE')
          PsiWhiteSpace('\n')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n')
      PsiComment(EOL_COMMENT)('// Type of this variable is GOD_AnonymousClass')
      PsiWhiteSpace('\n')
      PROPERTY
        PsiElement(val)('val')
        PsiWhiteSpace(' ')
        PsiElement(IDENTIFIER)('GOD')
        PsiWhiteSpace(' ')
        PsiElement(EQ)('=')
        PsiWhiteSpace(' ')
        OBJECT_LITERAL
          OBJECT_DECLARATION
            PsiElement(object)('object')
            PsiWhiteSpace(' ')
            CLASS_BODY
              PsiElement(LBRACE)('{')
              PsiWhiteSpace('\n  ')
              FUN
                PsiElement(fun)('fun')
                PsiWhiteSpace(' ')
                PsiElement(IDENTIFIER)('sendMessage')
                VALUE_PARAMETER_LIST
                  PsiElement(LPAR)('(')
                  VALUE_PARAMETER
                    PsiElement(IDENTIFIER)('message')
                    PsiWhiteSpace(' ')
                    PsiElement(COLON)(':')
                    PsiWhiteSpace(' ')
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION
                          PsiElement(IDENTIFIER)('GodMEssage')
                  PsiElement(RPAR)(')')
                PsiWhiteSpace(' ')
                PsiElement(EQ)('=')
                PsiWhiteSpace(' ')
                THROW
                  PsiElement(throw)('throw')
                  PsiWhiteSpace(' ')
                  CALL_EXPRESSION
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('RuntimeException')
                    VALUE_ARGUMENT_LIST
                      PsiElement(LPAR)('(')
                      VALUE_ARGUMENT
                        DOT_QUALIFIED_EXPRESSION
                          REFERENCE_EXPRESSION
                            PsiElement(IDENTIFIER)('message')
                          PsiElement(DOT)('.')
                          REFERENCE_EXPRESSION
                            PsiElement(IDENTIFIER)('name')
                      PsiElement(RPAR)(')')
              PsiWhiteSpace('\n')
              PsiElement(RBRACE)('}')
      PsiElement(SEMICOLON)(';')
      PsiWhiteSpace('\n\n')
      PsiElement(RBRACE)('}')