KtFile: 'whenIfLastStatementEnum.kt'
  NO_CANDIDATES

KtPackageDirective(0,0): ''
  NO_CANDIDATES

KtImportList(0,0): ''
  NO_CANDIDATES

KtClass(78,108): 'enum class MyEnum {'
  NO_CANDIDATES

KtDeclarationModifierList(78,82): 'enum'
  NO_CANDIDATES

KtClassBody(96,108): '{'
  NO_CANDIDATES

KtEnumEntry(102,104): 'X,'
  NO_CANDIDATES

KtEnumEntry(105,106): 'Y'
  NO_CANDIDATES

KtNamedFunction(110,131): 'fun foo(a: MyEnum) {}'
  NO_CANDIDATES

KtParameterList(117,128): '(a: MyEnum)'
  NO_CANDIDATES

KtParameter(118,127): 'a: MyEnum'
  NO_CANDIDATES

KtTypeReference(121,127): 'MyEnum'
  NO_CANDIDATES

KtUserType(121,127): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(121,127): 'MyEnum'
  NO_CANDIDATES

KtBlockExpression(129,131): '{}'
  NO_CANDIDATES

KtNamedFunction(133,172): 'fun myRunWithMyEnum(b: () -> MyEnum) {}'
  NO_CANDIDATES

KtParameterList(152,169): '(b: () -> MyEnum)'
  NO_CANDIDATES

KtParameter(153,168): 'b: () -> MyEnum'
  NO_CANDIDATES

KtTypeReference(156,168): '() -> MyEnum'
  NO_CANDIDATES

KtFunctionType(156,168): '() -> MyEnum'
  NO_CANDIDATES

KtParameterList(156,158): '()'
  NO_CANDIDATES

KtTypeReference(162,168): 'MyEnum'
  NO_CANDIDATES

KtUserType(162,168): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(162,168): 'MyEnum'
  NO_CANDIDATES

KtBlockExpression(170,172): '{}'
  NO_CANDIDATES

KtNamedFunction(173,210): 'fun <T> myRun(b: () -> T): T = TODO()'
  NO_CANDIDATES

KtTypeParameterList(177,180): '<T>'
  NO_CANDIDATES

KtTypeParameter(178,179): 'T'
  NO_CANDIDATES

KtParameterList(186,198): '(b: () -> T)'
  NO_CANDIDATES

KtParameter(187,197): 'b: () -> T'
  NO_CANDIDATES

KtTypeReference(190,197): '() -> T'
  NO_CANDIDATES

KtFunctionType(190,197): '() -> T'
  NO_CANDIDATES

KtParameterList(190,192): '()'
  NO_CANDIDATES

KtTypeReference(196,197): 'T'
  NO_CANDIDATES

KtUserType(196,197): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(196,197): 'T'
  NO_CANDIDATES

KtTypeReference(200,201): 'T'
  NO_CANDIDATES

KtUserType(200,201): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(200,201): 'T'
  NO_CANDIDATES

KtCallExpression(204,210): '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(204,208): '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(208,210): '()'
  NO_CANDIDATES

KtNamedFunction(212,240): 'fun <X> id(x: X): X = TODO()'
  NO_CANDIDATES

KtTypeParameterList(216,219): '<X>'
  NO_CANDIDATES

KtTypeParameter(217,218): 'X'
  NO_CANDIDATES

KtParameterList(222,228): '(x: X)'
  NO_CANDIDATES

KtParameter(223,227): 'x: X'
  NO_CANDIDATES

KtTypeReference(226,227): 'X'
  NO_CANDIDATES

KtUserType(226,227): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(226,227): 'X'
  NO_CANDIDATES

KtTypeReference(230,231): 'X'
  NO_CANDIDATES

KtUserType(230,231): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(230,231): 'X'
  NO_CANDIDATES

KtCallExpression(234,240): '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(234,238): '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(238,240): '()'
  NO_CANDIDATES

KtNamedFunction(242,1698): 'fun main(b: Boolean, i: Int) {'
  NO_CANDIDATES

KtParameterList(250,270): '(b: Boolean, i: Int)'
  NO_CANDIDATES

KtParameter(251,261): 'b: Boolean'
  NO_CANDIDATES

KtTypeReference(254,261): 'Boolean'
  NO_CANDIDATES

KtUserType(254,261): 'Boolean'
  NO_CANDIDATES

KtNameReferenceExpression(254,261): 'Boolean'
  NO_CANDIDATES

KtParameter(263,269): 'i: Int'
  NO_CANDIDATES

KtTypeReference(266,269): 'Int'
  NO_CANDIDATES

KtUserType(266,269): 'Int'
  NO_CANDIDATES

KtNameReferenceExpression(266,269): 'Int'
  NO_CANDIDATES

KtBlockExpression(271,1698): '{'
  NO_CANDIDATES

KtProperty(277,293): 'val L = MyEnum.X'
  NO_CANDIDATES

KtDotQualifiedExpression(285,293): 'MyEnum.X'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = MyEnum
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = X
        receiverType = null
        returnType = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

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

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

KtProperty(299,404): 'val m1: MyEnum = when (i) {'
  NO_CANDIDATES

KtTypeReference(307,313): 'MyEnum'
  NO_CANDIDATES

KtUserType(307,313): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(307,313): 'MyEnum'
  NO_CANDIDATES

KtWhenExpression(316,404): 'when (i) {'
  NO_CANDIDATES

KtNameReferenceExpression(322,323): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(335,341): '0 -> X'
  NO_CANDIDATES

KtWhenConditionWithExpression(335,336): '0'
  NO_CANDIDATES

KtConstantExpression(335,336): '0'
  NO_CANDIDATES

KtNameReferenceExpression(340,341): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(350,380): '1 -> {'
  NO_CANDIDATES

KtWhenConditionWithExpression(350,351): '1'
  NO_CANDIDATES

KtConstantExpression(350,351): '1'
  NO_CANDIDATES

KtBlockExpression(355,380): '{'
  NO_CANDIDATES

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

KtWhenEntry(389,398): 'else -> L'
  NO_CANDIDATES

KtNameReferenceExpression(397,398): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtProperty(410,514): 'val m2: MyEnum ='
  NO_CANDIDATES

KtTypeReference(418,424): 'MyEnum'
  NO_CANDIDATES

KtUserType(418,424): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(418,424): 'MyEnum'
  NO_CANDIDATES

KtIfExpression(435,514): 'if (i == 0) X'
  NO_CANDIDATES

KtContainerNode(439,445): 'i == 0'
  NO_CANDIDATES

KtBinaryExpression(439,445): 'i == 0'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(439,440): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(441,443): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(444,445): '0'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(447,448): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(447,448): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtContainerNodeForControlStructureBody(462,514): 'if (i == 1) {'
  NO_CANDIDATES

KtIfExpression(462,514): 'if (i == 1) {'
  NO_CANDIDATES

KtContainerNode(466,472): 'i == 1'
  NO_CANDIDATES

KtBinaryExpression(466,472): 'i == 1'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(466,467): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(468,470): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(471,472): '1'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(474,499): '{'
  NO_CANDIDATES

KtBlockExpression(474,499): '{'
  NO_CANDIDATES

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

KtContainerNodeForControlStructureBody(513,514): 'L'
  NO_CANDIDATES

KtNameReferenceExpression(513,514): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtProperty(520,696): 'val m3: MyEnum = when (i) {'
  NO_CANDIDATES

KtTypeReference(528,534): 'MyEnum'
  NO_CANDIDATES

KtUserType(528,534): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(528,534): 'MyEnum'
  NO_CANDIDATES

KtWhenExpression(537,696): 'when (i) {'
  NO_CANDIDATES

KtNameReferenceExpression(543,544): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(556,633): '0 -> when (i.hashCode()) {'
  NO_CANDIDATES

KtWhenConditionWithExpression(556,557): '0'
  NO_CANDIDATES

KtConstantExpression(556,557): '0'
  NO_CANDIDATES

KtWhenExpression(561,633): 'when (i.hashCode()) {'
  NO_CANDIDATES

KtDotQualifiedExpression(567,579): 'i.hashCode()'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Int
        symbol = kotlin/Any.hashCode(<dispatch receiver>: kotlin.Any): kotlin.Int
        valueParameters = []
        contextParameters = []
        callableId = kotlin/Any.hashCode
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(567,568): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(569,579): 'hashCode()'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Int
        symbol = kotlin/Any.hashCode(<dispatch receiver>: kotlin.Any): kotlin.Int
        valueParameters = []
        contextParameters = []
        callableId = kotlin/Any.hashCode
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(569,577): 'hashCode'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Int
        symbol = kotlin/Any.hashCode(<dispatch receiver>: kotlin.Any): kotlin.Int
        valueParameters = []
        contextParameters = []
        callableId = kotlin/Any.hashCode
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    isInBestCandidates = true

KtValueArgumentList(577,579): '()'
  NO_CANDIDATES

KtWhenEntry(595,601): '1 -> X'
  NO_CANDIDATES

KtWhenConditionWithExpression(595,596): '1'
  NO_CANDIDATES

KtConstantExpression(595,596): '1'
  NO_CANDIDATES

KtNameReferenceExpression(600,601): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(614,623): 'else -> Y'
  NO_CANDIDATES

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

KtWhenEntry(642,672): '1 -> {'
  NO_CANDIDATES

KtWhenConditionWithExpression(642,643): '1'
  NO_CANDIDATES

KtConstantExpression(642,643): '1'
  NO_CANDIDATES

KtBlockExpression(647,672): '{'
  NO_CANDIDATES

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

KtWhenEntry(681,690): 'else -> L'
  NO_CANDIDATES

KtNameReferenceExpression(689,690): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(702,833): 'foo('
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when (i) {
                    0 -> X
                    1 -> {
                        Y
                    }
                    else -> L
                } -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(702,705): 'foo'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when (i) {
                    0 -> X
                    1 -> {
                        Y
                    }
                    else -> L
                } -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtValueArgumentList(705,833): '('
  NO_CANDIDATES

KtValueArgument(715,827): 'when (i) {'
  NO_CANDIDATES

KtWhenExpression(715,827): 'when (i) {'
  NO_CANDIDATES

KtNameReferenceExpression(721,722): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(738,744): '0 -> X'
  NO_CANDIDATES

KtWhenConditionWithExpression(738,739): '0'
  NO_CANDIDATES

KtConstantExpression(738,739): '0'
  NO_CANDIDATES

KtNameReferenceExpression(743,744): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(757,795): '1 -> {'
  NO_CANDIDATES

KtWhenConditionWithExpression(757,758): '1'
  NO_CANDIDATES

KtConstantExpression(757,758): '1'
  NO_CANDIDATES

KtBlockExpression(762,795): '{'
  NO_CANDIDATES

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

KtWhenEntry(808,817): 'else -> L'
  NO_CANDIDATES

KtNameReferenceExpression(816,817): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(839,937): 'foo('
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        if (i == 0) X
                else if (i == 1) {
                    Y
                }
                else L -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(839,842): 'foo'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        if (i == 0) X
                else if (i == 1) {
                    Y
                }
                else L -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtValueArgumentList(842,937): '('
  NO_CANDIDATES

KtValueArgument(852,931): 'if (i == 0) X'
  NO_CANDIDATES

KtIfExpression(852,931): 'if (i == 0) X'
  NO_CANDIDATES

KtContainerNode(856,862): 'i == 0'
  NO_CANDIDATES

KtBinaryExpression(856,862): 'i == 0'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(856,857): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(858,860): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(861,862): '0'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(864,865): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(864,865): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtContainerNodeForControlStructureBody(879,931): 'if (i == 1) {'
  NO_CANDIDATES

KtIfExpression(879,931): 'if (i == 1) {'
  NO_CANDIDATES

KtContainerNode(883,889): 'i == 1'
  NO_CANDIDATES

KtBinaryExpression(883,889): 'i == 1'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(883,884): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(885,887): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(888,889): '1'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(891,916): '{'
  NO_CANDIDATES

KtBlockExpression(891,916): '{'
  NO_CANDIDATES

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

KtContainerNodeForControlStructureBody(930,931): 'L'
  NO_CANDIDATES

KtNameReferenceExpression(930,931): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(943,1087): 'myRunWithMyEnum {'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /myRunWithMyEnum(b: () -> MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRunWithMyEnum
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        {
                when (i) {
                    0 -> X
                    1 -> {
                        Y
                    }
                    else -> L
                }
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> MyEnum
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(943,958): 'myRunWithMyEnum'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /myRunWithMyEnum(b: () -> MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRunWithMyEnum
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        {
                when (i) {
                    0 -> X
                    1 -> {
                        Y
                    }
                    else -> L
                }
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> MyEnum
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtLambdaArgument(959,1087): '{'
  NO_CANDIDATES

KtLambdaExpression(959,1087): '{'
  NO_CANDIDATES

KtFunctionLiteral(959,1087): '{'
  NO_CANDIDATES

KtBlockExpression(969,1081): 'when (i) {'
  NO_CANDIDATES

KtWhenExpression(969,1081): 'when (i) {'
  NO_CANDIDATES

KtNameReferenceExpression(975,976): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(992,998): '0 -> X'
  NO_CANDIDATES

KtWhenConditionWithExpression(992,993): '0'
  NO_CANDIDATES

KtConstantExpression(992,993): '0'
  NO_CANDIDATES

KtNameReferenceExpression(997,998): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(1011,1049): '1 -> {'
  NO_CANDIDATES

KtWhenConditionWithExpression(1011,1012): '1'
  NO_CANDIDATES

KtConstantExpression(1011,1012): '1'
  NO_CANDIDATES

KtBlockExpression(1016,1049): '{'
  NO_CANDIDATES

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

KtWhenEntry(1062,1071): 'else -> L'
  NO_CANDIDATES

KtNameReferenceExpression(1070,1071): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(1093,1318): 'myRun<MyEnum> {'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                when (i) {
                    0 -> when (i.hashCode()) {
                        1 -> X
                        else -> Y
                    }
                    1 -> {
                        Y
                    }
                    else -> L
                }
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1093,1098): 'myRun'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                when (i) {
                    0 -> when (i.hashCode()) {
                        1 -> X
                        else -> Y
                    }
                    1 -> {
                        Y
                    }
                    else -> L
                }
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtTypeArgumentList(1098,1106): '<MyEnum>'
  NO_CANDIDATES

KtTypeProjection(1099,1105): 'MyEnum'
  NO_CANDIDATES

KtTypeReference(1099,1105): 'MyEnum'
  NO_CANDIDATES

KtUserType(1099,1105): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(1099,1105): 'MyEnum'
  NO_CANDIDATES

KtLambdaArgument(1107,1318): '{'
  NO_CANDIDATES

KtLambdaExpression(1107,1318): '{'
  NO_CANDIDATES

KtFunctionLiteral(1107,1318): '{'
  NO_CANDIDATES

KtBlockExpression(1117,1312): 'when (i) {'
  NO_CANDIDATES

KtWhenExpression(1117,1312): 'when (i) {'
  NO_CANDIDATES

KtNameReferenceExpression(1123,1124): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(1140,1229): '0 -> when (i.hashCode()) {'
  NO_CANDIDATES

KtWhenConditionWithExpression(1140,1141): '0'
  NO_CANDIDATES

KtConstantExpression(1140,1141): '0'
  NO_CANDIDATES

KtWhenExpression(1145,1229): 'when (i.hashCode()) {'
  NO_CANDIDATES

KtDotQualifiedExpression(1151,1163): 'i.hashCode()'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Int
        symbol = kotlin/Any.hashCode(<dispatch receiver>: kotlin.Any): kotlin.Int
        valueParameters = []
        contextParameters = []
        callableId = kotlin/Any.hashCode
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(1151,1152): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(1153,1163): 'hashCode()'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Int
        symbol = kotlin/Any.hashCode(<dispatch receiver>: kotlin.Any): kotlin.Int
        valueParameters = []
        contextParameters = []
        callableId = kotlin/Any.hashCode
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(1153,1161): 'hashCode'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Int
        symbol = kotlin/Any.hashCode(<dispatch receiver>: kotlin.Any): kotlin.Int
        valueParameters = []
        contextParameters = []
        callableId = kotlin/Any.hashCode
      typeArgumentsMapping = {}
      valueArgumentMapping = {}
    isInBestCandidates = true

KtValueArgumentList(1161,1163): '()'
  NO_CANDIDATES

KtWhenEntry(1183,1189): '1 -> X'
  NO_CANDIDATES

KtWhenConditionWithExpression(1183,1184): '1'
  NO_CANDIDATES

KtConstantExpression(1183,1184): '1'
  NO_CANDIDATES

KtNameReferenceExpression(1188,1189): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(1206,1215): 'else -> Y'
  NO_CANDIDATES

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

KtWhenEntry(1242,1280): '1 -> {'
  NO_CANDIDATES

KtWhenConditionWithExpression(1242,1243): '1'
  NO_CANDIDATES

KtConstantExpression(1242,1243): '1'
  NO_CANDIDATES

KtBlockExpression(1247,1280): '{'
  NO_CANDIDATES

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

KtWhenEntry(1293,1302): 'else -> L'
  NO_CANDIDATES

KtNameReferenceExpression(1301,1302): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(1324,1466): 'myRun<MyEnum> {'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                when (i) {
                    0 -> X
                    1 -> {
                        Y
                    }
                    else -> L
                }
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1324,1329): 'myRun'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                when (i) {
                    0 -> X
                    1 -> {
                        Y
                    }
                    else -> L
                }
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtTypeArgumentList(1329,1337): '<MyEnum>'
  NO_CANDIDATES

KtTypeProjection(1330,1336): 'MyEnum'
  NO_CANDIDATES

KtTypeReference(1330,1336): 'MyEnum'
  NO_CANDIDATES

KtUserType(1330,1336): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(1330,1336): 'MyEnum'
  NO_CANDIDATES

KtLambdaArgument(1338,1466): '{'
  NO_CANDIDATES

KtLambdaExpression(1338,1466): '{'
  NO_CANDIDATES

KtFunctionLiteral(1338,1466): '{'
  NO_CANDIDATES

KtBlockExpression(1348,1460): 'when (i) {'
  NO_CANDIDATES

KtWhenExpression(1348,1460): 'when (i) {'
  NO_CANDIDATES

KtNameReferenceExpression(1354,1355): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(1371,1377): '0 -> X'
  NO_CANDIDATES

KtWhenConditionWithExpression(1371,1372): '0'
  NO_CANDIDATES

KtConstantExpression(1371,1372): '0'
  NO_CANDIDATES

KtNameReferenceExpression(1376,1377): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(1390,1428): '1 -> {'
  NO_CANDIDATES

KtWhenConditionWithExpression(1390,1391): '1'
  NO_CANDIDATES

KtConstantExpression(1390,1391): '1'
  NO_CANDIDATES

KtBlockExpression(1395,1428): '{'
  NO_CANDIDATES

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

KtWhenEntry(1441,1450): 'else -> L'
  NO_CANDIDATES

KtNameReferenceExpression(1449,1450): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(1472,1581): 'myRun<MyEnum> {'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                if (i == 0) X
                else if (i == 1) {
                    Y
                }
                else L
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1472,1477): 'myRun'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                if (i == 0) X
                else if (i == 1) {
                    Y
                }
                else L
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtTypeArgumentList(1477,1485): '<MyEnum>'
  NO_CANDIDATES

KtTypeProjection(1478,1484): 'MyEnum'
  NO_CANDIDATES

KtTypeReference(1478,1484): 'MyEnum'
  NO_CANDIDATES

KtUserType(1478,1484): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(1478,1484): 'MyEnum'
  NO_CANDIDATES

KtLambdaArgument(1486,1581): '{'
  NO_CANDIDATES

KtLambdaExpression(1486,1581): '{'
  NO_CANDIDATES

KtFunctionLiteral(1486,1581): '{'
  NO_CANDIDATES

KtBlockExpression(1496,1575): 'if (i == 0) X'
  NO_CANDIDATES

KtIfExpression(1496,1575): 'if (i == 0) X'
  NO_CANDIDATES

KtContainerNode(1500,1506): 'i == 0'
  NO_CANDIDATES

KtBinaryExpression(1500,1506): 'i == 0'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1500,1501): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(1502,1504): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(1505,1506): '0'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(1508,1509): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(1508,1509): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtContainerNodeForControlStructureBody(1523,1575): 'if (i == 1) {'
  NO_CANDIDATES

KtIfExpression(1523,1575): 'if (i == 1) {'
  NO_CANDIDATES

KtContainerNode(1527,1533): 'i == 1'
  NO_CANDIDATES

KtBinaryExpression(1527,1533): 'i == 1'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1527,1528): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(1529,1531): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(1532,1533): '1'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(1535,1560): '{'
  NO_CANDIDATES

KtBlockExpression(1535,1560): '{'
  NO_CANDIDATES

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

KtContainerNodeForControlStructureBody(1574,1575): 'L'
  NO_CANDIDATES

KtNameReferenceExpression(1574,1575): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtCallExpression(1587,1696): 'myRun<MyEnum> {'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                if (i == 0) X
                else if (i == 1) {
                    Y
                }
                else L
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1587,1592): 'myRun'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyEnum
        symbol = /myRun(b: () -> T): T
        valueParameters = [
          KaVariableSignature:
            name = b
            receiverType = null
            returnType = () -> MyEnum
            symbol = b: () -> T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /myRun
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        {
                if (i == 0) X
                else if (i == 1) {
                    Y
                }
                else L
            } -> (KaVariableSignature:
          name = b
          receiverType = null
          returnType = () -> MyEnum
          symbol = b: () -> T
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtTypeArgumentList(1592,1600): '<MyEnum>'
  NO_CANDIDATES

KtTypeProjection(1593,1599): 'MyEnum'
  NO_CANDIDATES

KtTypeReference(1593,1599): 'MyEnum'
  NO_CANDIDATES

KtUserType(1593,1599): 'MyEnum'
  NO_CANDIDATES

KtNameReferenceExpression(1593,1599): 'MyEnum'
  NO_CANDIDATES

KtLambdaArgument(1601,1696): '{'
  NO_CANDIDATES

KtLambdaExpression(1601,1696): '{'
  NO_CANDIDATES

KtFunctionLiteral(1601,1696): '{'
  NO_CANDIDATES

KtBlockExpression(1611,1690): 'if (i == 0) X'
  NO_CANDIDATES

KtIfExpression(1611,1690): 'if (i == 0) X'
  NO_CANDIDATES

KtContainerNode(1615,1621): 'i == 0'
  NO_CANDIDATES

KtBinaryExpression(1615,1621): 'i == 0'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1615,1616): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(1617,1619): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        0 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(1620,1621): '0'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(1623,1624): 'X'
  NO_CANDIDATES

KtNameReferenceExpression(1623,1624): '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 = MyEnum
        symbol = /MyEnum.X
        contextParameters = []
        callableId = /MyEnum.X
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtContainerNodeForControlStructureBody(1638,1690): 'if (i == 1) {'
  NO_CANDIDATES

KtIfExpression(1638,1690): 'if (i == 1) {'
  NO_CANDIDATES

KtContainerNode(1642,1648): 'i == 1'
  NO_CANDIDATES

KtBinaryExpression(1642,1648): 'i == 1'
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtNameReferenceExpression(1642,1643): 'i'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = i
        receiverType = null
        returnType = kotlin.Int
        symbol = i: kotlin.Int
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(1644,1646): '=='
  KaApplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = i
        isSafeNavigation = false
        type = kotlin.Int
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Int.equals(<dispatch receiver>: kotlin.Int, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Int.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        1 -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }
    isInBestCandidates = true

KtConstantExpression(1647,1648): '1'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(1650,1675): '{'
  NO_CANDIDATES

KtBlockExpression(1650,1675): '{'
  NO_CANDIDATES

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

KtContainerNodeForControlStructureBody(1689,1690): 'L'
  NO_CANDIDATES

KtNameReferenceExpression(1689,1690): 'L'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = L
        receiverType = null
        returnType = MyEnum
        symbol = val L: MyEnum
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true
