KtFile: 'multipleOverloads.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,109): 'enum class MyEnum1 {'
  null

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(97,109): '{'
  null

KtEnumEntry(103,105): 'X,'
  null

KtEnumEntry(106,107): 'Y'
  null

KtClass(111,142): 'enum class MyEnum2 {'
  null

KtDeclarationModifierList(111,115): 'enum'
  null

KtClassBody(130,142): '{'
  null

KtEnumEntry(136,138): 'X,'
  null

KtEnumEntry(139,140): 'Y'
  null

KtClass(144,175): 'enum class MyEnum3 {'
  null

KtDeclarationModifierList(144,148): 'enum'
  null

KtClassBody(163,175): '{'
  null

KtEnumEntry(169,171): 'X,'
  null

KtEnumEntry(172,173): 'Y'
  null

KtNamedFunction(177,199): 'fun foo(x: MyEnum1) {}'
  null

KtParameterList(184,196): '(x: MyEnum1)'
  null

KtParameter(185,195): 'x: MyEnum1'
  null

KtTypeReference(188,195): 'MyEnum1'
  null

KtUserType(188,195): 'MyEnum1'
  null

KtNameReferenceExpression(188,195): 'MyEnum1'
  null

KtBlockExpression(197,199): '{}'
  null

KtNamedFunction(200,222): 'fun foo(x: MyEnum2) {}'
  null

KtParameterList(207,219): '(x: MyEnum2)'
  null

KtParameter(208,218): 'x: MyEnum2'
  null

KtTypeReference(211,218): 'MyEnum2'
  null

KtUserType(211,218): 'MyEnum2'
  null

KtNameReferenceExpression(211,218): 'MyEnum2'
  null

KtBlockExpression(220,222): '{}'
  null

KtNamedFunction(224,246): 'fun bar(x: MyEnum3) {}'
  null

KtParameterList(231,243): '(x: MyEnum3)'
  null

KtParameter(232,242): 'x: MyEnum3'
  null

KtTypeReference(235,242): 'MyEnum3'
  null

KtUserType(235,242): 'MyEnum3'
  null

KtNameReferenceExpression(235,242): 'MyEnum3'
  null

KtBlockExpression(244,246): '{}'
  null

KtNamedFunction(248,276): 'fun <X> id(x: X): X = TODO()'
  null

KtTypeParameterList(252,255): '<X>'
  null

KtTypeParameter(253,254): 'X'
  null

KtParameterList(258,264): '(x: X)'
  null

KtParameter(259,263): 'x: X'
  null

KtTypeReference(262,263): 'X'
  null

KtUserType(262,263): 'X'
  null

KtNameReferenceExpression(262,263): 'X'
  null

KtTypeReference(266,267): 'X'
  null

KtUserType(266,267): 'X'
  null

KtNameReferenceExpression(266,267): 'X'
  null

KtCallExpression(270,276): 'TODO()'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(): kotlin.Nothing
        valueParameters = []
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtNameReferenceExpression(270,274): 'TODO'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(): kotlin.Nothing
        valueParameters = []
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(274,276): '()'
  null

KtNamedFunction(278,387): 'fun main() {'
  null

KtParameterList(286,288): '()'
  null

KtBlockExpression(289,387): '{'
  null

KtCallExpression(295,301): 'foo(X)'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtNameReferenceExpression(295,298): 'foo'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtValueArgumentList(298,301): '(X)'
  null

KtValueArgument(299,300): 'X'
  null

KtNameReferenceExpression(299,300): 'X'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtCallExpression(306,316): 'foo(id(X))'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtNameReferenceExpression(306,309): 'foo'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /foo(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /foo
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtValueArgumentList(309,316): '(id(X))'
  null

KtValueArgument(310,315): 'id(X)'
  null

KtCallExpression(310,315): 'id(X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = ERROR CLASS: Cannot infer argument for type parameter X
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = ERROR CLASS: Cannot infer argument for type parameter X
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (ERROR CLASS: Cannot infer argument for type parameter X)
      }
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = ERROR CLASS: Cannot infer argument for type parameter X
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(310,312): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = ERROR CLASS: Cannot infer argument for type parameter X
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = ERROR CLASS: Cannot infer argument for type parameter X
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (ERROR CLASS: Cannot infer argument for type parameter X)
      }
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = ERROR CLASS: Cannot infer argument for type parameter X
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(312,315): '(X)'
  null

KtValueArgument(313,314): 'X'
  null

KtNameReferenceExpression(313,314): 'X'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

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

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

KtValueArgumentList(324,335): '(MyEnum1.X)'
  null

KtValueArgument(325,334): 'MyEnum1.X'
  null

KtDotQualifiedExpression(325,334): 'MyEnum1.X'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = MyEnum1
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = X
        receiverType = null
        returnType = MyEnum1
        symbol = /MyEnum1.X
        contextParameters = []
        callableId = /MyEnum1.X
      typeArgumentsMapping = {}

KtNameReferenceExpression(325,332): 'MyEnum1'
  null

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

KtCallExpression(340,358): 'foo(id(MyEnum1.X))'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(x: MyEnum1): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(MyEnum1.X) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum1
          symbol = x: MyEnum1
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(340,343): 'foo'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(x: MyEnum1): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(MyEnum1.X) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum1
          symbol = x: MyEnum1
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(343,358): '(id(MyEnum1.X))'
  null

KtValueArgument(344,357): 'id(MyEnum1.X)'
  null

KtCallExpression(344,357): 'id(MyEnum1.X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum1
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyEnum1)
      }
      valueArgumentMapping = {
        MyEnum1.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum1
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(344,346): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum1
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyEnum1)
      }
      valueArgumentMapping = {
        MyEnum1.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum1
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(346,357): '(MyEnum1.X)'
  null

KtValueArgument(347,356): 'MyEnum1.X'
  null

KtDotQualifiedExpression(347,356): 'MyEnum1.X'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = MyEnum1
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = X
        receiverType = null
        returnType = MyEnum1
        symbol = /MyEnum1.X
        contextParameters = []
        callableId = /MyEnum1.X
      typeArgumentsMapping = {}

KtNameReferenceExpression(347,354): 'MyEnum1'
  null

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

KtCallExpression(364,370): 'bar(X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /bar(x: MyEnum3): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: MyEnum3
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /bar
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: MyEnum3
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(364,367): 'bar'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /bar(x: MyEnum3): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: MyEnum3
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /bar
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: MyEnum3
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(367,370): '(X)'
  null

KtValueArgument(368,369): 'X'
  null

KtNameReferenceExpression(368,369): '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 = MyEnum3
        symbol = /MyEnum3.X
        contextParameters = []
        callableId = /MyEnum3.X
      typeArgumentsMapping = {}

KtCallExpression(375,385): 'bar(id(X))'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /bar(x: MyEnum3): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: MyEnum3
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /bar
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(X) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: MyEnum3
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(375,378): 'bar'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /bar(x: MyEnum3): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: MyEnum3
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /bar
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(X) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: MyEnum3
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(378,385): '(id(X))'
  null

KtValueArgument(379,384): 'id(X)'
  null

KtCallExpression(379,384): 'id(X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum3
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyEnum3)
      }
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(379,381): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum3
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyEnum3)
      }
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(381,384): '(X)'
  null

KtValueArgument(382,383): 'X'
  null

KtNameReferenceExpression(382,383): '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 = MyEnum3
        symbol = /MyEnum3.X
        contextParameters = []
        callableId = /MyEnum3.X
      typeArgumentsMapping = {}

KtNamedFunction(389,505): 'fun main2() {'
  null

KtParameterList(398,400): '()'
  null

KtBlockExpression(401,505): '{'
  null

KtNamedFunction(407,429): 'fun bar(x: MyEnum1) {}'
  null

KtParameterList(414,426): '(x: MyEnum1)'
  null

KtParameter(415,425): 'x: MyEnum1'
  null

KtTypeReference(418,425): 'MyEnum1'
  null

KtUserType(418,425): 'MyEnum1'
  null

KtNameReferenceExpression(418,425): 'MyEnum1'
  null

KtBlockExpression(427,429): '{}'
  null

KtNamedFunction(434,456): 'fun bar(x: MyEnum2) {}'
  null

KtParameterList(441,453): '(x: MyEnum2)'
  null

KtParameter(442,452): 'x: MyEnum2'
  null

KtTypeReference(445,452): 'MyEnum2'
  null

KtUserType(445,452): 'MyEnum2'
  null

KtNameReferenceExpression(445,452): 'MyEnum2'
  null

KtBlockExpression(454,456): '{}'
  null

KtCallExpression(462,468): 'bar(X)'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtNameReferenceExpression(462,465): 'bar'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          X -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtValueArgumentList(465,468): '(X)'
  null

KtValueArgument(466,467): 'X'
  null

KtNameReferenceExpression(466,467): 'X'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtCallExpression(473,483): 'bar(id(X))'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtNameReferenceExpression(473,476): 'bar'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum1
              symbol = x: MyEnum1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum1
            symbol = x: MyEnum1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = bar(x: MyEnum2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyEnum2
              symbol = x: MyEnum2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = null
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(X) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum2
            symbol = x: MyEnum2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtValueArgumentList(476,483): '(id(X))'
  null

KtValueArgument(477,482): 'id(X)'
  null

KtCallExpression(477,482): 'id(X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = ERROR CLASS: Cannot infer argument for type parameter X
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = ERROR CLASS: Cannot infer argument for type parameter X
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (ERROR CLASS: Cannot infer argument for type parameter X)
      }
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = ERROR CLASS: Cannot infer argument for type parameter X
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(477,479): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = ERROR CLASS: Cannot infer argument for type parameter X
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = ERROR CLASS: Cannot infer argument for type parameter X
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (ERROR CLASS: Cannot infer argument for type parameter X)
      }
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = ERROR CLASS: Cannot infer argument for type parameter X
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(479,482): '(X)'
  null

KtValueArgument(480,481): 'X'
  null

KtNameReferenceExpression(480,481): 'X'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtCallExpression(489,503): 'bar(MyEnum3.X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /bar(x: MyEnum3): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: MyEnum3
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /bar
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        MyEnum3.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: MyEnum3
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(489,492): 'bar'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /bar(x: MyEnum3): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyEnum3
            symbol = x: MyEnum3
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /bar
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        MyEnum3.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum3
          symbol = x: MyEnum3
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(492,503): '(MyEnum3.X)'
  null

KtValueArgument(493,502): 'MyEnum3.X'
  null

KtDotQualifiedExpression(493,502): 'MyEnum3.X'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = MyEnum3
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = X
        receiverType = null
        returnType = MyEnum3
        symbol = /MyEnum3.X
        contextParameters = []
        callableId = /MyEnum3.X
      typeArgumentsMapping = {}

KtNameReferenceExpression(493,500): 'MyEnum3'
  null

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