KtFile: 'multipleOverloads.kt'
  NO_CANDIDATES

KtPackageDirective(0,0): ''
  NO_CANDIDATES

KtImportList(0,0): ''
  NO_CANDIDATES

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

KtDeclarationModifierList(78,82): 'enum'
  NO_CANDIDATES

KtClassBody(97,109): '{'
  NO_CANDIDATES

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

KtEnumEntry(106,107): 'Y'
  NO_CANDIDATES

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

KtDeclarationModifierList(111,115): 'enum'
  NO_CANDIDATES

KtClassBody(130,142): '{'
  NO_CANDIDATES

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

KtEnumEntry(139,140): 'Y'
  NO_CANDIDATES

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

KtDeclarationModifierList(144,148): 'enum'
  NO_CANDIDATES

KtClassBody(163,175): '{'
  NO_CANDIDATES

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

KtEnumEntry(172,173): 'Y'
  NO_CANDIDATES

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

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

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

KtTypeReference(188,195): 'MyEnum1'
  NO_CANDIDATES

KtUserType(188,195): 'MyEnum1'
  NO_CANDIDATES

KtNameReferenceExpression(188,195): 'MyEnum1'
  NO_CANDIDATES

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

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

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

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

KtTypeReference(211,218): 'MyEnum2'
  NO_CANDIDATES

KtUserType(211,218): 'MyEnum2'
  NO_CANDIDATES

KtNameReferenceExpression(211,218): 'MyEnum2'
  NO_CANDIDATES

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

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

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

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

KtTypeReference(235,242): 'MyEnum3'
  NO_CANDIDATES

KtUserType(235,242): 'MyEnum3'
  NO_CANDIDATES

KtNameReferenceExpression(235,242): 'MyEnum3'
  NO_CANDIDATES

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

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

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

KtTypeParameter(253,254): 'X'
  NO_CANDIDATES

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

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

KtTypeReference(262,263): 'X'
  NO_CANDIDATES

KtUserType(262,263): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(262,263): 'X'
  NO_CANDIDATES

KtTypeReference(266,267): 'X'
  NO_CANDIDATES

KtUserType(266,267): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(266,267): 'X'
  NO_CANDIDATES

KtCallExpression(270,276): 'TODO()'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(reason: kotlin.String): kotlin.Nothing
        valueParameters = [
          KaVariableSignature:
            name = reason
            receiverType = null
            returnType = kotlin.String
            symbol = reason: kotlin.String
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    diagnostic = ERROR<NO_VALUE_FOR_PARAMETER: No value passed for parameter 'reason'.>
    isInBestCandidates = false

KtNameReferenceExpression(270,274): 'TODO'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(reason: kotlin.String): kotlin.Nothing
        valueParameters = [
          KaVariableSignature:
            name = reason
            receiverType = null
            returnType = kotlin.String
            symbol = reason: kotlin.String
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    diagnostic = ERROR<NO_VALUE_FOR_PARAMETER: No value passed for parameter 'reason'.>
    isInBestCandidates = false

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

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

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

KtBlockExpression(289,387): '{'
  NO_CANDIDATES

KtCallExpression(295,301): 'foo(X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(295,298): 'foo'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

KtValueArgument(299,300): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(299,300): 'X'
  NO_CANDIDATES

KtCallExpression(306,316): 'foo(id(X))'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(306,309): 'foo'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

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

KtCallExpression(310,315): 'id(X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(310,312): 'id'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

KtValueArgument(313,314): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(313,314): 'X'
  NO_CANDIDATES

KtCallExpression(321,335): 'foo(MyEnum1.X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = 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 = {
        MyEnum1.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum2
          symbol = x: MyEnum2
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum1', but 'MyEnum2' was expected.>
    isInBestCandidates = false

KtNameReferenceExpression(321,324): 'foo'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = 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 = {
        MyEnum1.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum2
          symbol = x: MyEnum2
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum1', but 'MyEnum2' was expected.>
    isInBestCandidates = false

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

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

KtDotQualifiedExpression(325,334): 'MyEnum1.X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

KtNameReferenceExpression(325,332): 'MyEnum1'
  KaInapplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum1
        symbol = <constructor>(): MyEnum1
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    diagnostic = ERROR<OTHER_ERROR: Inapplicable candidate>
    isInBestCandidates = false

KtNameReferenceExpression(333,334): 'X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

KtCallExpression(340,358): 'foo(id(MyEnum1.X))'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = 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(MyEnum1.X) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum2
          symbol = x: MyEnum2
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum1', but 'MyEnum2' was expected.>
    isInBestCandidates = false

KtNameReferenceExpression(340,343): 'foo'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = 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(MyEnum1.X) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum2
          symbol = x: MyEnum2
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum1', but 'MyEnum2' was expected.>
    isInBestCandidates = false

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

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

KtCallExpression(344,357): 'id(MyEnum1.X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(344,346): 'id'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

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

KtDotQualifiedExpression(347,356): 'MyEnum1.X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

KtNameReferenceExpression(347,354): 'MyEnum1'
  KaInapplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum1
        symbol = <constructor>(): MyEnum1
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    diagnostic = ERROR<OTHER_ERROR: Inapplicable candidate>
    isInBestCandidates = false

KtNameReferenceExpression(355,356): 'X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

KtCallExpression(364,370): 'bar(X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(364,367): 'bar'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

KtValueArgument(368,369): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(368,369): 'X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

KtCallExpression(375,385): 'bar(id(X))'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(375,378): 'bar'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

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

KtCallExpression(379,384): 'id(X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(379,381): 'id'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

KtValueArgument(382,383): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(382,383): 'X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

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

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

KtBlockExpression(401,505): '{'
  NO_CANDIDATES

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

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

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

KtTypeReference(418,425): 'MyEnum1'
  NO_CANDIDATES

KtUserType(418,425): 'MyEnum1'
  NO_CANDIDATES

KtNameReferenceExpression(418,425): 'MyEnum1'
  NO_CANDIDATES

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

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

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

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

KtTypeReference(445,452): 'MyEnum2'
  NO_CANDIDATES

KtUserType(445,452): 'MyEnum2'
  NO_CANDIDATES

KtNameReferenceExpression(445,452): 'MyEnum2'
  NO_CANDIDATES

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

KtCallExpression(462,468): 'bar(X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = false

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(462,465): 'bar'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = false

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

KtValueArgument(466,467): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(466,467): 'X'
  NO_CANDIDATES

KtCallExpression(473,483): 'bar(id(X))'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = false

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(473,476): 'bar'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = false

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

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

KtCallExpression(477,482): 'id(X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

KtNameReferenceExpression(477,479): 'id'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

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

KtValueArgument(480,481): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(480,481): 'X'
  NO_CANDIDATES

KtCallExpression(489,503): 'bar(MyEnum3.X)'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = 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 = {
        MyEnum3.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum1
          symbol = x: MyEnum1
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum3', but 'MyEnum1' was expected.>
    isInBestCandidates = false

  KaInapplicableCallCandidate:
    candidate = 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 = {
        MyEnum3.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum2
          symbol = x: MyEnum2
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum3', but 'MyEnum2' was expected.>
    isInBestCandidates = false

KtNameReferenceExpression(489,492): 'bar'
  KaApplicableCallCandidate:
    candidate = 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)
      }
    isInBestCandidates = true

  KaInapplicableCallCandidate:
    candidate = 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 = {
        MyEnum3.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum1
          symbol = x: MyEnum1
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum3', but 'MyEnum1' was expected.>
    isInBestCandidates = false

  KaInapplicableCallCandidate:
    candidate = 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 = {
        MyEnum3.X -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyEnum2
          symbol = x: MyEnum2
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyEnum3', but 'MyEnum2' was expected.>
    isInBestCandidates = false

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

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

KtDotQualifiedExpression(493,502): 'MyEnum3.X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true

KtNameReferenceExpression(493,500): 'MyEnum3'
  KaInapplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum3
        symbol = <constructor>(): MyEnum3
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    diagnostic = ERROR<OTHER_ERROR: Inapplicable candidate>
    isInBestCandidates = false

KtNameReferenceExpression(501,502): 'X'
  KaApplicableCallCandidate:
    candidate = 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 = {}
    isInBestCandidates = true
