KtFile: 'arithmetic.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(0,221): 'class A {'
  null

KtClassBody(8,221): '{'
  null

KtNamedFunction(14,51): 'operator fun plus(other: A): A = this'
  null

KtDeclarationModifierList(14,22): 'operator'
  null

KtParameterList(31,41): '(other: A)'
  null

KtParameter(32,40): 'other: A'
  null

KtTypeReference(39,40): 'A'
  null

KtUserType(39,40): 'A'
  null

KtNameReferenceExpression(39,40): 'A'
  null

KtTypeReference(43,44): 'A'
  null

KtUserType(43,44): 'A'
  null

KtNameReferenceExpression(43,44): 'A'
  null

KtThisExpression(47,51): 'this'
  null

KtNameReferenceExpression(47,51): 'this'
  null

KtNamedFunction(56,94): 'operator fun minus(other: A): A = this'
  null

KtDeclarationModifierList(56,64): 'operator'
  null

KtParameterList(74,84): '(other: A)'
  null

KtParameter(75,83): 'other: A'
  null

KtTypeReference(82,83): 'A'
  null

KtUserType(82,83): 'A'
  null

KtNameReferenceExpression(82,83): 'A'
  null

KtTypeReference(86,87): 'A'
  null

KtUserType(86,87): 'A'
  null

KtNameReferenceExpression(86,87): 'A'
  null

KtThisExpression(90,94): 'this'
  null

KtNameReferenceExpression(90,94): 'this'
  null

KtNamedFunction(99,137): 'operator fun times(other: A): A = this'
  null

KtDeclarationModifierList(99,107): 'operator'
  null

KtParameterList(117,127): '(other: A)'
  null

KtParameter(118,126): 'other: A'
  null

KtTypeReference(125,126): 'A'
  null

KtUserType(125,126): 'A'
  null

KtNameReferenceExpression(125,126): 'A'
  null

KtTypeReference(129,130): 'A'
  null

KtUserType(129,130): 'A'
  null

KtNameReferenceExpression(129,130): 'A'
  null

KtThisExpression(133,137): 'this'
  null

KtNameReferenceExpression(133,137): 'this'
  null

KtNamedFunction(142,178): 'operator fun div(other: A): A = this'
  null

KtDeclarationModifierList(142,150): 'operator'
  null

KtParameterList(158,168): '(other: A)'
  null

KtParameter(159,167): 'other: A'
  null

KtTypeReference(166,167): 'A'
  null

KtUserType(166,167): 'A'
  null

KtNameReferenceExpression(166,167): 'A'
  null

KtTypeReference(170,171): 'A'
  null

KtUserType(170,171): 'A'
  null

KtNameReferenceExpression(170,171): 'A'
  null

KtThisExpression(174,178): 'this'
  null

KtNameReferenceExpression(174,178): 'this'
  null

KtNamedFunction(183,219): 'operator fun rem(other: A): A = this'
  null

KtDeclarationModifierList(183,191): 'operator'
  null

KtParameterList(199,209): '(other: A)'
  null

KtParameter(200,208): 'other: A'
  null

KtTypeReference(207,208): 'A'
  null

KtUserType(207,208): 'A'
  null

KtNameReferenceExpression(207,208): 'A'
  null

KtTypeReference(211,212): 'A'
  null

KtUserType(211,212): 'A'
  null

KtNameReferenceExpression(211,212): 'A'
  null

KtThisExpression(215,219): 'this'
  null

KtNameReferenceExpression(215,219): 'this'
  null

KtNamedFunction(223,319): 'fun test() {'
  null

KtParameterList(231,233): '()'
  null

KtBlockExpression(234,319): '{'
  null

KtProperty(240,251): 'val a = A()'
  null

KtCallExpression(248,251): 'A()'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = <constructor>(): A
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtNameReferenceExpression(248,249): 'A'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = <constructor>(): A
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(249,251): '()'
  null

KtProperty(256,267): 'val b = A()'
  null

KtCallExpression(264,267): 'A()'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = <constructor>(): A
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtNameReferenceExpression(264,265): 'A'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = <constructor>(): A
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(265,267): '()'
  null

KtBinaryExpression(272,277): 'a + b'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.plus(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.plus
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(272,273): 'a'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = A
        symbol = val a: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(274,275): '+'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.plus(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.plus
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(276,277): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = A
        symbol = val b: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtBinaryExpression(282,287): 'a - b'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.minus(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.minus
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(282,283): 'a'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = A
        symbol = val a: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(284,285): '-'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.minus(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.minus
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(286,287): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = A
        symbol = val b: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtBinaryExpression(292,297): 'a * b'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.times(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.times
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(292,293): 'a'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = A
        symbol = val a: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(294,295): '*'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.times(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.times
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(296,297): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = A
        symbol = val b: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtBinaryExpression(302,307): 'a / b'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.div(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.div
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(302,303): 'a'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = A
        symbol = val a: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(304,305): '/'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.div(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.div
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(306,307): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = A
        symbol = val b: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtBinaryExpression(312,317): 'a % b'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.rem(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.rem
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(312,313): 'a'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = A
        symbol = val a: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(314,315): '%'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = a
        isSafeNavigation = false
        type = A
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A
        symbol = /A.rem(<dispatch receiver>: A, other: A): A
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = A
            symbol = other: A
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /A.rem
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        b -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = A
          symbol = other: A
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(316,317): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = A
        symbol = val b: A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
