KtFile: 'main.kt'
  null

KtPackageDirective(25,34): 'package b'
  null

KtNameReferenceExpression(33,34): 'b'
  null

KtImportList(35,45): 'import a.*'
  null

KtImportDirective(35,45): 'import a.*'
  null

KtNameReferenceExpression(42,43): 'a'
  null

KtClass(47,80): 'enum class MyEnum {'
  null

KtDeclarationModifierList(47,51): 'enum'
  null

KtClassBody(65,80): '{'
  null

KtEnumEntry(71,73): 'X,'
  null

KtEnumEntry(74,76): 'Y,'
  null

KtEnumEntry(77,78): 'Z'
  null

KtNamedFunction(82,103): 'fun foo(a: MyEnum) {}'
  null

KtParameterList(89,100): '(a: MyEnum)'
  null

KtParameter(90,99): 'a: MyEnum'
  null

KtTypeReference(93,99): 'MyEnum'
  null

KtUserType(93,99): 'MyEnum'
  null

KtNameReferenceExpression(93,99): 'MyEnum'
  null

KtBlockExpression(101,103): '{}'
  null

KtNamedFunction(105,152): 'fun main() {'
  null

KtParameterList(113,115): '()'
  null

KtBlockExpression(116,152): '{'
  null

KtCallExpression(122,128): 'foo(X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = b/foo(a: b.MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = b.MyEnum
            symbol = a: b.MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = b/foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = b.MyEnum
          symbol = a: b.MyEnum
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(122,125): 'foo'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = b/foo(a: b.MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = b.MyEnum
            symbol = a: b.MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = b/foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = b.MyEnum
          symbol = a: b.MyEnum
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(125,128): '(X)'
  null

KtValueArgument(126,127): 'X'
  null

KtNameReferenceExpression(126,127): 'X'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = X
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = X
        receiverType = null
        returnType = b.MyEnum
        symbol = b/MyEnum.X
        contextParameters = []
        callableId = b/MyEnum.X
      typeArgumentsMapping = {}

KtCallExpression(133,139): 'foo(Y)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = b/foo(a: b.MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = b.MyEnum
            symbol = a: b.MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = b/foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Y -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = b.MyEnum
          symbol = a: b.MyEnum
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(133,136): 'foo'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = b/foo(a: b.MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = b.MyEnum
            symbol = a: b.MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = b/foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Y -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = b.MyEnum
          symbol = a: b.MyEnum
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(136,139): '(Y)'
  null

KtValueArgument(137,138): 'Y'
  null

KtNameReferenceExpression(137,138): 'Y'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = Y
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = Y
        receiverType = null
        returnType = b.MyEnum
        symbol = b/MyEnum.Y
        contextParameters = []
        callableId = b/MyEnum.Y
      typeArgumentsMapping = {}

KtCallExpression(144,150): 'foo(Z)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = b/foo(a: b.MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = b.MyEnum
            symbol = a: b.MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = b/foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Z -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = b.MyEnum
          symbol = a: b.MyEnum
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(144,147): 'foo'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = b/foo(a: b.MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = b.MyEnum
            symbol = a: b.MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = b/foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Z -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = b.MyEnum
          symbol = a: b.MyEnum
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(147,150): '(Z)'
  null

KtValueArgument(148,149): 'Z'
  null

KtNameReferenceExpression(148,149): 'Z'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = Z
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = Z
        receiverType = null
        returnType = b.MyEnum
        symbol = b/MyEnum.Z
        contextParameters = []
        callableId = b/MyEnum.Z
      typeArgumentsMapping = {}
