KtFile: 'infixFunction.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtNamedFunction(0,45): 'infix fun Int.myMinus(i: Int): Int = this - i'
  null

KtDeclarationModifierList(0,5): 'infix'
  null

KtTypeReference(10,13): 'Int'
  null

KtUserType(10,13): 'Int'
  null

KtNameReferenceExpression(10,13): 'Int'
  null

KtParameterList(21,29): '(i: Int)'
  null

KtParameter(22,28): 'i: Int'
  null

KtTypeReference(25,28): 'Int'
  null

KtUserType(25,28): 'Int'
  null

KtNameReferenceExpression(25,28): 'Int'
  null

KtTypeReference(31,34): 'Int'
  null

KtUserType(31,34): 'Int'
  null

KtNameReferenceExpression(31,34): 'Int'
  null

KtBinaryExpression(37,45): 'this - i'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        i -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Int
          symbol = other: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = this
          isSafeNavigation = false
          type = kotlin.Int
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/Int.minus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = other
              receiverType = null
              returnType = kotlin.Int
              symbol = other: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/Int.minus
      typeArgumentsMapping = {}

KtThisExpression(37,41): 'this'
  null

KtNameReferenceExpression(37,41): 'this'
  null

KtOperationReferenceExpression(42,43): '-'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        i -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Int
          symbol = other: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = this
          isSafeNavigation = false
          type = kotlin.Int
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/Int.minus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = other
              receiverType = null
              returnType = kotlin.Int
              symbol = other: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/Int.minus
      typeArgumentsMapping = {}

KtNameReferenceExpression(44,45): '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 = {}

KtNamedFunction(47,251): 'fun usage(parameter: Int) {'
  null

KtParameterList(56,72): '(parameter: Int)'
  null

KtParameter(57,71): 'parameter: Int'
  null

KtTypeReference(68,71): 'Int'
  null

KtUserType(68,71): 'Int'
  null

KtNameReferenceExpression(68,71): 'Int'
  null

KtBlockExpression(73,251): '{'
  null

KtProperty(79,117): 'val newParameter = parameter myMinus 5'
  null

KtBinaryExpression(98,117): 'parameter myMinus 5'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        5 -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = parameter
          isSafeNavigation = false
          type = kotlin.Int
        signature = KaFunctionSignature:
          receiverType = kotlin.Int
          returnType = kotlin.Int
          symbol = /myMinus(<extension receiver>: kotlin.Int, i: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /myMinus
      typeArgumentsMapping = {}

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

KtOperationReferenceExpression(108,115): 'myMinus'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        5 -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = parameter
          isSafeNavigation = false
          type = kotlin.Int
        signature = KaFunctionSignature:
          receiverType = kotlin.Int
          returnType = kotlin.Int
          symbol = /myMinus(<extension receiver>: kotlin.Int, i: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /myMinus
      typeArgumentsMapping = {}

KtConstantExpression(116,117): '5'
  null

KtProperty(122,171): 'val oneMoreParameter = newParameter + 1 myMinus 4'
  null

KtBinaryExpression(145,171): 'newParameter + 1 myMinus 4'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        4 -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = newParameter + 1
          isSafeNavigation = false
          type = kotlin.Int
        signature = KaFunctionSignature:
          receiverType = kotlin.Int
          returnType = kotlin.Int
          symbol = /myMinus(<extension receiver>: kotlin.Int, i: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /myMinus
      typeArgumentsMapping = {}

KtBinaryExpression(145,161): 'newParameter + 1'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Int
          symbol = other: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = newParameter
          isSafeNavigation = false
          type = kotlin.Int
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = other
              receiverType = null
              returnType = kotlin.Int
              symbol = other: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/Int.plus
      typeArgumentsMapping = {}

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

KtOperationReferenceExpression(158,159): '+'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Int
          symbol = other: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = newParameter
          isSafeNavigation = false
          type = kotlin.Int
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = other
              receiverType = null
              returnType = kotlin.Int
              symbol = other: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/Int.plus
      typeArgumentsMapping = {}

KtConstantExpression(160,161): '1'
  null

KtOperationReferenceExpression(162,169): 'myMinus'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        4 -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = newParameter + 1
          isSafeNavigation = false
          type = kotlin.Int
        signature = KaFunctionSignature:
          receiverType = kotlin.Int
          returnType = kotlin.Int
          symbol = /myMinus(<extension receiver>: kotlin.Int, i: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /myMinus
      typeArgumentsMapping = {}

KtConstantExpression(170,171): '4'
  null

KtProperty(176,249): 'val explicitForm = newParameter.plus(parameter.myMinus(oneMoreParameter))'
  null

KtDotQualifiedExpression(195,249): 'newParameter.plus(parameter.myMinus(oneMoreParameter))'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        parameter.myMinus(oneMoreParameter) -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Int
          symbol = other: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = newParameter
          isSafeNavigation = false
          type = kotlin.Int
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = other
              receiverType = null
              returnType = kotlin.Int
              symbol = other: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/Int.plus
      typeArgumentsMapping = {}

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

KtCallExpression(208,249): 'plus(parameter.myMinus(oneMoreParameter))'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        parameter.myMinus(oneMoreParameter) -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Int
          symbol = other: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = newParameter
          isSafeNavigation = false
          type = kotlin.Int
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = other
              receiverType = null
              returnType = kotlin.Int
              symbol = other: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/Int.plus
      typeArgumentsMapping = {}

KtNameReferenceExpression(208,212): 'plus'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        parameter.myMinus(oneMoreParameter) -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Int
          symbol = other: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = newParameter
          isSafeNavigation = false
          type = kotlin.Int
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Int
          symbol = kotlin/Int.plus(<dispatch receiver>: kotlin.Int, other: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = other
              receiverType = null
              returnType = kotlin.Int
              symbol = other: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = kotlin/Int.plus
      typeArgumentsMapping = {}

KtValueArgumentList(212,249): '(parameter.myMinus(oneMoreParameter))'
  null

KtValueArgument(213,248): 'parameter.myMinus(oneMoreParameter)'
  null

KtDotQualifiedExpression(213,248): 'parameter.myMinus(oneMoreParameter)'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        oneMoreParameter -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = parameter
          isSafeNavigation = false
          type = kotlin.Int
        signature = KaFunctionSignature:
          receiverType = kotlin.Int
          returnType = kotlin.Int
          symbol = /myMinus(<extension receiver>: kotlin.Int, i: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /myMinus
      typeArgumentsMapping = {}

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

KtCallExpression(223,248): 'myMinus(oneMoreParameter)'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        oneMoreParameter -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = parameter
          isSafeNavigation = false
          type = kotlin.Int
        signature = KaFunctionSignature:
          receiverType = kotlin.Int
          returnType = kotlin.Int
          symbol = /myMinus(<extension receiver>: kotlin.Int, i: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /myMinus
      typeArgumentsMapping = {}

KtNameReferenceExpression(223,230): 'myMinus'
  KaSuccessCallInfo:
    call = KaSimpleFunctionCall:
      argumentMapping = {
        oneMoreParameter -> (KaVariableSignature:
          name = i
          receiverType = null
          returnType = kotlin.Int
          symbol = i: kotlin.Int
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = parameter
          isSafeNavigation = false
          type = kotlin.Int
        signature = KaFunctionSignature:
          receiverType = kotlin.Int
          returnType = kotlin.Int
          symbol = /myMinus(<extension receiver>: kotlin.Int, i: kotlin.Int): kotlin.Int
          valueParameters = [
            KaVariableSignature:
              name = i
              receiverType = null
              returnType = kotlin.Int
              symbol = i: kotlin.Int
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /myMinus
      typeArgumentsMapping = {}

KtValueArgumentList(230,248): '(oneMoreParameter)'
  null

KtValueArgument(231,247): 'oneMoreParameter'
  null

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