JetFile: ByCaluses.jet
  NAMESPACE
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('A')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      DELEGATION_SPECIFIER_LIST
        DELEGATOR_BY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(by)('by')
          PsiWhiteSpace(' ')
          REFERENCE_EXPRESSION
            PsiElement(IDENTIFIER)('a')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        CONSTRUCTOR
          PsiElement(this)('this')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          BLOCK
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('A')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      DELEGATION_SPECIFIER_LIST
        DELEGATOR_BY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(by)('by')
          PsiWhiteSpace(' ')
          BINARY_EXPRESSION
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('a')
            PsiWhiteSpace(' ')
            OPERATION_REFERENCE
              PsiElement(PLUS)('+')
            PsiWhiteSpace(' ')
            BINARY_EXPRESSION
              CALL_EXPRESSION
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('b')
                VALUE_ARGUMENT_LIST
                  PsiElement(LPAR)('(')
                  PsiElement(RPAR)(')')
              PsiWhiteSpace(' ')
              OPERATION_REFERENCE
                PsiElement(MUL)('*')
              PsiWhiteSpace(' ')
              INTEGER_CONSTANT
                PsiElement(INTEGER_LITERAL)('5')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        CONSTRUCTOR
          PsiElement(this)('this')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          BLOCK
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('A')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      DELEGATION_SPECIFIER_LIST
        DELEGATOR_BY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(by)('by')
          PsiWhiteSpace(' ')
          PARENTHESIZED
            PsiElement(LPAR)('(')
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('a')
            PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        CONSTRUCTOR
          PsiElement(this)('this')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          BLOCK
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('A')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      DELEGATION_SPECIFIER_LIST
        DELEGATOR_BY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(by)('by')
          PsiWhiteSpace(' ')
          PARENTHESIZED
            PsiElement(LPAR)('(')
            CALL_EXPRESSION
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('a')
              PsiWhiteSpace(' ')
              FUNCTION_LITERAL_EXPRESSION
                FUNCTION_LITERAL
                  PsiElement(LBRACE)('{')
                  BLOCK
                    <empty list>
                  PsiElement(RBRACE)('}')
            PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        CONSTRUCTOR
          PsiElement(this)('this')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          BLOCK
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('A')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      DELEGATION_SPECIFIER_LIST
        DELEGATOR_BY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(by)('by')
          PsiWhiteSpace(' ')
          ARRAY_ACCESS_EXPRESSION
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('a')
            INDICES
              PsiElement(LBRACKET)('[')
              CALL_EXPRESSION
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('a')
                PsiWhiteSpace(' ')
                FUNCTION_LITERAL_EXPRESSION
                  FUNCTION_LITERAL
                    PsiElement(LBRACE)('{')
                    BLOCK
                      <empty list>
                    PsiElement(RBRACE)('}')
              PsiElement(RBRACKET)(']')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        CONSTRUCTOR
          PsiElement(this)('this')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          BLOCK
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('A')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      DELEGATION_SPECIFIER_LIST
        DELEGATOR_BY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(by)('by')
          PsiWhiteSpace(' ')
          CALL_EXPRESSION
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('a')
            VALUE_ARGUMENT_LIST
              PsiElement(LPAR)('(')
              VALUE_ARGUMENT
                CALL_EXPRESSION
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('a')
                  PsiWhiteSpace(' ')
                  FUNCTION_LITERAL_EXPRESSION
                    FUNCTION_LITERAL
                      PsiElement(LBRACE)('{')
                      BLOCK
                        <empty list>
                      PsiElement(RBRACE)('}')
              PsiElement(RPAR)(')')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        CONSTRUCTOR
          PsiElement(this)('this')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          BLOCK
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    CLASS
      PsiElement(class)('class')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('A')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(COLON)(':')
      PsiWhiteSpace(' ')
      DELEGATION_SPECIFIER_LIST
        DELEGATOR_BY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION
                PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(by)('by')
          PsiWhiteSpace(' ')
          OBJECT_LITERAL
            OBJECT_DECLARATION
              PsiElement(object)('object')
              PsiWhiteSpace(' ')
              CLASS_BODY
                PsiElement(LBRACE)('{')
                PsiWhiteSpace('\n  ')
                FUN
                  PsiElement(fun)('fun')
                  PsiWhiteSpace(' ')
                  PsiElement(IDENTIFIER)('f')
                  VALUE_PARAMETER_LIST
                    PsiElement(LPAR)('(')
                    PsiElement(RPAR)(')')
                  PsiWhiteSpace(' ')
                  PsiElement(EQ)('=')
                  PsiWhiteSpace(' ')
                  CALL_EXPRESSION
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('a')
                    PsiWhiteSpace(' ')
                    FUNCTION_LITERAL_EXPRESSION
                      FUNCTION_LITERAL
                        PsiElement(LBRACE)('{')
                        BLOCK
                          <empty list>
                        PsiElement(RBRACE)('}')
                PsiWhiteSpace('\n')
                PsiElement(RBRACE)('}')
      PsiWhiteSpace(' ')
      CLASS_BODY
        PsiElement(LBRACE)('{')
        PsiWhiteSpace('\n  ')
        CONSTRUCTOR
          PsiElement(this)('this')
          VALUE_PARAMETER_LIST
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
          PsiWhiteSpace(' ')
          BLOCK
            PsiElement(LBRACE)('{')
            PsiElement(RBRACE)('}')
        PsiWhiteSpace('\n')
        PsiElement(RBRACE)('}')