KtFile: 'arrayAccess.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtNamedFunction(0,131): 'fun usage(list: MutableList<Int>) {'
  null

KtParameterList(9,33): '(list: MutableList<Int>)'
  null

KtParameter(10,32): 'list: MutableList<Int>'
  null

KtTypeReference(16,32): 'MutableList<Int>'
  null

KtUserType(16,32): 'MutableList<Int>'
  null

KtNameReferenceExpression(16,27): 'MutableList'
  null

KtTypeArgumentList(27,32): '<Int>'
  null

KtTypeProjection(28,31): 'Int'
  null

KtTypeReference(28,31): 'Int'
  null

KtUserType(28,31): 'Int'
  null

KtNameReferenceExpression(28,31): 'Int'
  null

KtBlockExpression(34,131): '{'
  null

KtBinaryExpression(40,49): 'list += 1'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        1 -> (KaVariableSignature:
          name = element
          receiverType = null
          returnType = kotlin.Int
          symbol = element: T
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        signature = KaFunctionSignature:
          receiverType = kotlin.collections.MutableCollection<in kotlin.Int>
          returnType = kotlin.Unit
          symbol = kotlin/collections/plusAssign(<extension receiver>: kotlin.collections.MutableCollection<in T>, element: T): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = element
              receiverType = null
              returnType = kotlin.Int
              symbol = element: T
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/plusAssign
      typeArgumentsMapping = {
        T -> (kotlin.Int)
      }

KtNameReferenceExpression(40,44): 'list'
  KaSuccessCallInfo:
    call = KaSimpleVariableAccessCall:
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaVariableSignature:
          name = list
          receiverType = null
          returnType = kotlin.collections.MutableList<kotlin.Int>
          symbol = list: kotlin.collections.MutableList<kotlin.Int>
          contextParameters = []
          callableId = null
      simpleAccess = Read
      typeArgumentsMapping = {}

KtOperationReferenceExpression(45,47): '+='
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        1 -> (KaVariableSignature:
          name = element
          receiverType = null
          returnType = kotlin.Int
          symbol = element: T
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        signature = KaFunctionSignature:
          receiverType = kotlin.collections.MutableCollection<in kotlin.Int>
          returnType = kotlin.Unit
          symbol = kotlin/collections/plusAssign(<extension receiver>: kotlin.collections.MutableCollection<in T>, element: T): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = element
              receiverType = null
              returnType = kotlin.Int
              symbol = element: T
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/plusAssign
      typeArgumentsMapping = {
        T -> (kotlin.Int)
      }

KtConstantExpression(48,49): '1'
  null

KtProperty(54,81): 'val implicitIndex = list[0]'
  null

KtArrayAccessExpression(74,81): 'list[0]'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        0 -> (KaVariableSignature:
          name = index
          receiverType = null
          returnType = kotlin.Int
          symbol = index: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.get(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.get
      typeArgumentsMapping = {}

KtNameReferenceExpression(74,78): 'list'
  KaSuccessCallInfo:
    call = KaSimpleVariableAccessCall:
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaVariableSignature:
          name = list
          receiverType = null
          returnType = kotlin.collections.MutableList<kotlin.Int>
          symbol = list: kotlin.collections.MutableList<kotlin.Int>
          contextParameters = []
          callableId = null
      simpleAccess = Read
      typeArgumentsMapping = {}

KtContainerNode(78,81): '[0]'
  null

KtConstantExpression(79,80): '0'
  null

KtProperty(86,129): 'val explicitIndex = list.get(implicitIndex)'
  null

KtDotQualifiedExpression(106,129): 'list.get(implicitIndex)'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        implicitIndex -> (KaVariableSignature:
          name = index
          receiverType = null
          returnType = kotlin.Int
          symbol = index: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.get(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.get
      typeArgumentsMapping = {}

KtNameReferenceExpression(106,110): 'list'
  KaSuccessCallInfo:
    call = KaSimpleVariableAccessCall:
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaVariableSignature:
          name = list
          receiverType = null
          returnType = kotlin.collections.MutableList<kotlin.Int>
          symbol = list: kotlin.collections.MutableList<kotlin.Int>
          contextParameters = []
          callableId = null
      simpleAccess = Read
      typeArgumentsMapping = {}

KtCallExpression(111,129): 'get(implicitIndex)'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        implicitIndex -> (KaVariableSignature:
          name = index
          receiverType = null
          returnType = kotlin.Int
          symbol = index: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.get(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.get
      typeArgumentsMapping = {}

KtNameReferenceExpression(111,114): 'get'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        implicitIndex -> (KaVariableSignature:
          name = index
          receiverType = null
          returnType = kotlin.Int
          symbol = index: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.get(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.get
      typeArgumentsMapping = {}

KtValueArgumentList(114,129): '(implicitIndex)'
  null

KtValueArgument(115,128): 'implicitIndex'
  null

KtNameReferenceExpression(115,128): 'implicitIndex'
  KaSuccessCallInfo:
    call = KaSimpleVariableAccessCall:
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaVariableSignature:
          name = implicitIndex
          receiverType = null
          returnType = kotlin.Int
          symbol = val implicitIndex: kotlin.Int
          contextParameters = []
          callableId = null
      simpleAccess = Read
      typeArgumentsMapping = {}

KtNamedFunction(133,201): 'fun foo(i: Int, list: MutableList<Int>) {'
  null

KtParameterList(140,172): '(i: Int, list: MutableList<Int>)'
  null

KtParameter(141,147): 'i: Int'
  null

KtTypeReference(144,147): 'Int'
  null

KtUserType(144,147): 'Int'
  null

KtNameReferenceExpression(144,147): 'Int'
  null

KtParameter(149,171): 'list: MutableList<Int>'
  null

KtTypeReference(155,171): 'MutableList<Int>'
  null

KtUserType(155,171): 'MutableList<Int>'
  null

KtNameReferenceExpression(155,166): 'MutableList'
  null

KtTypeArgumentList(166,171): '<Int>'
  null

KtTypeProjection(167,170): 'Int'
  null

KtTypeReference(167,170): 'Int'
  null

KtUserType(167,170): 'Int'
  null

KtNameReferenceExpression(167,170): 'Int'
  null

KtBlockExpression(173,201): '{'
  null

KtCallExpression(179,199): 'foo(--list[i], list)'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        --list[i] -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null),
        list -> (KaVariableSignature:
          name = list
          receiverType = null
          returnType = kotlin.collections.MutableList<kotlin.Int>
          symbol = list: kotlin.collections.MutableList<kotlin.Int>
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(i: kotlin.Int, list: kotlin.collections.MutableList<kotlin.Int>): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = list
              receiverType = null
              returnType = kotlin.collections.MutableList<kotlin.Int>
              symbol = list: kotlin.collections.MutableList<kotlin.Int>
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
      typeArgumentsMapping = {}

KtNameReferenceExpression(179,182): 'foo'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        --list[i] -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null),
        list -> (KaVariableSignature:
          name = list
          receiverType = null
          returnType = kotlin.collections.MutableList<kotlin.Int>
          symbol = list: kotlin.collections.MutableList<kotlin.Int>
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(i: kotlin.Int, list: kotlin.collections.MutableList<kotlin.Int>): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = list
              receiverType = null
              returnType = kotlin.collections.MutableList<kotlin.Int>
              symbol = list: kotlin.collections.MutableList<kotlin.Int>
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
      typeArgumentsMapping = {}

KtValueArgumentList(182,199): '(--list[i], list)'
  null

KtValueArgument(183,192): '--list[i]'
  null

KtPrefixExpression(183,192): '--list[i]'
  KaSuccessCallInfo:
    call = KaCompoundArrayAccessCall:
      compoundOperation = KaCompoundUnaryOperation:
        kind = DEC
        operationPartiallyAppliedSymbol = KaPartiallyAppliedSymbol:
          contextArguments = []
          dispatchReceiver = KaExplicitReceiverValue:
            expression = list[i]
            isSafeNavigation = false
            type = kotlin.Int
          extensionReceiver = null
          signature = KaFunctionSignature:
            receiverType = null
            returnType = kotlin.Int
            symbol = kotlin/Int.dec(<dispatch receiver>: kotlin.Int): kotlin.Int
            valueParameters = []
            contextParameters = []
            callableId = kotlin/Int.dec
        precedence = PREFIX
      getPartiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.get(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.get
      indexArguments = [
        i
      ]
      setPartiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.set(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int, element: E): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = element
              receiverType = null
              returnType = kotlin.Int
              symbol = element: E
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.set

KtOperationReferenceExpression(183,185): '--'
  KaSuccessCallInfo:
    call = KaCompoundArrayAccessCall:
      compoundOperation = KaCompoundUnaryOperation:
        kind = DEC
        operationPartiallyAppliedSymbol = KaPartiallyAppliedSymbol:
          contextArguments = []
          dispatchReceiver = KaExplicitReceiverValue:
            expression = list[i]
            isSafeNavigation = false
            type = kotlin.Int
          extensionReceiver = null
          signature = KaFunctionSignature:
            receiverType = null
            returnType = kotlin.Int
            symbol = kotlin/Int.dec(<dispatch receiver>: kotlin.Int): kotlin.Int
            valueParameters = []
            contextParameters = []
            callableId = kotlin/Int.dec
        precedence = PREFIX
      getPartiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.get(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.get
      indexArguments = [
        i
      ]
      setPartiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.set(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int, element: E): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = element
              receiverType = null
              returnType = kotlin.Int
              symbol = element: E
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.set

KtArrayAccessExpression(185,192): 'list[i]'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        i -> (KaVariableSignature:
          name = index
          receiverType = null
          returnType = kotlin.Int
          symbol = index: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = list
          isSafeNavigation = false
          type = kotlin.collections.MutableList<kotlin.Int>
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/collections/MutableList.get(<dispatch receiver>: kotlin.collections.MutableList<E>, index: kotlin.Int): E
          valueParameters = [
            KaVariableSignature:
              name = index
              receiverType = null
              returnType = kotlin.Int
              symbol = index: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/collections/MutableList.get
      typeArgumentsMapping = {}

KtNameReferenceExpression(185,189): 'list'
  KaSuccessCallInfo:
    call = KaSimpleVariableAccessCall:
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaVariableSignature:
          name = list
          receiverType = null
          returnType = kotlin.collections.MutableList<kotlin.Int>
          symbol = list: kotlin.collections.MutableList<kotlin.Int>
          contextParameters = []
          callableId = null
      simpleAccess = Read
      typeArgumentsMapping = {}

KtContainerNode(189,192): '[i]'
  null

KtNameReferenceExpression(190,191): 'i'
  KaSuccessCallInfo:
    call = KaSimpleVariableAccessCall:
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null
      simpleAccess = Read
      typeArgumentsMapping = {}

KtValueArgument(194,198): 'list'
  null

KtNameReferenceExpression(194,198): 'list'
  KaSuccessCallInfo:
    call = KaSimpleVariableAccessCall:
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaVariableSignature:
          name = list
          receiverType = null
          returnType = kotlin.collections.MutableList<kotlin.Int>
          symbol = list: kotlin.collections.MutableList<kotlin.Int>
          contextParameters = []
          callableId = null
      simpleAccess = Read
      typeArgumentsMapping = {}