KtFile: 'equalityOperatorOnBoundedEnumTypeParameter.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

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

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(96,108): '{'
  null

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

KtEnumEntry(105,106): 'Y'
  null

KtNamedFunction(110,138): 'fun <X> id(x: X): X = TODO()'
  null

KtTypeParameterList(114,117): '<X>'
  null

KtTypeParameter(115,116): 'X'
  null

KtParameterList(120,126): '(x: X)'
  null

KtParameter(121,125): 'x: X'
  null

KtTypeReference(124,125): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtUserType(124,125): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtNameReferenceExpression(124,125): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtTypeReference(128,129): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtUserType(128,129): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtNameReferenceExpression(128,129): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtCallExpression(132,138): 'TODO()'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/TODO(): kotlin.Nothing
    ]

KtNameReferenceExpression(132,136): 'TODO'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/TODO(): kotlin.Nothing
    ]

KtValueArgumentList(136,138): '()'
  null

KtNamedFunction(140,1165): 'fun <T : MyEnum> foo(a: T) {'
  null

KtTypeParameterList(144,156): '<T : MyEnum>'
  null

KtTypeParameter(145,155): 'T : MyEnum'
  null

KtTypeReference(149,155): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(149,155): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(149,155): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtParameterList(160,166): '(a: T)'
  null

KtParameter(161,165): 'a: T'
  null

KtTypeReference(164,165): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtUserType(164,165): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtNameReferenceExpression(164,165): 'T'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtBlockExpression(167,1165): '{'
  null

KtProperty(173,189): 'val L = MyEnum.X'
  null

KtDotQualifiedExpression(181,189): 'MyEnum.X'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtNameReferenceExpression(181,187): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(188,189): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtIfExpression(195,209): 'if (a == X) {}'
  null

KtContainerNode(199,205): 'a == X'
  null

KtBinaryExpression(199,205): 'a == X'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(199,200): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(201,203): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(204,205): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtContainerNodeForControlStructureBody(207,209): '{}'
  null

KtBlockExpression(207,209): '{}'
  null

KtIfExpression(214,228): 'if (a != X) {}'
  null

KtContainerNode(218,224): 'a != X'
  null

KtBinaryExpression(218,224): 'a != X'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(218,219): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(220,222): '!='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(223,224): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtContainerNodeForControlStructureBody(226,228): '{}'
  null

KtBlockExpression(226,228): '{}'
  null

KtIfExpression(233,248): 'if (a === X) {}'
  null

KtContainerNode(237,244): 'a === X'
  null

KtBinaryExpression(237,244): 'a === X'
  null

KtNameReferenceExpression(237,238): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(239,242): '==='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(243,244): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtContainerNodeForControlStructureBody(246,248): '{}'
  null

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

KtIfExpression(253,268): 'if (a !== X) {}'
  null

KtContainerNode(257,264): 'a !== X'
  null

KtBinaryExpression(257,264): 'a !== X'
  null

KtNameReferenceExpression(257,258): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(259,262): '!=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(263,264): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtContainerNodeForControlStructureBody(266,268): '{}'
  null

KtBlockExpression(266,268): '{}'
  null

KtIfExpression(273,287): 'if (a == L) {}'
  null

KtContainerNode(277,283): 'a == L'
  null

KtBinaryExpression(277,283): 'a == L'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(277,278): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(279,281): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(282,283): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtContainerNodeForControlStructureBody(285,287): '{}'
  null

KtBlockExpression(285,287): '{}'
  null

KtIfExpression(463,477): 'if (X == a) {}'
  null

KtContainerNode(467,473): 'X == a'
  null

KtBinaryExpression(467,473): 'X == a'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(467,468): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtOperationReferenceExpression(469,471): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(472,473): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtContainerNodeForControlStructureBody(475,477): '{}'
  null

KtBlockExpression(475,477): '{}'
  null

KtIfExpression(482,496): 'if (L == a) {}'
  null

KtContainerNode(486,492): 'L == a'
  null

KtBinaryExpression(486,492): 'L == a'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(486,487): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtOperationReferenceExpression(488,490): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(491,492): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtContainerNodeForControlStructureBody(494,496): '{}'
  null

KtBlockExpression(494,496): '{}'
  null

KtIfExpression(691,709): 'if (a == id(X)) {}'
  null

KtContainerNode(695,705): 'a == id(X)'
  null

KtBinaryExpression(695,705): 'a == id(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(695,696): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(697,699): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtCallExpression(700,705): 'id(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(700,702): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(702,705): '(X)'
  null

KtValueArgument(703,704): 'X'
  null

KtNameReferenceExpression(703,704): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtContainerNodeForControlStructureBody(707,709): '{}'
  null

KtBlockExpression(707,709): '{}'
  null

KtIfExpression(714,732): 'if (a == id(L)) {}'
  null

KtContainerNode(718,728): 'a == id(L)'
  null

KtBinaryExpression(718,728): 'a == id(L)'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(718,719): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(720,722): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtCallExpression(723,728): 'id(L)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(723,725): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(725,728): '(L)'
  null

KtValueArgument(726,727): 'L'
  null

KtNameReferenceExpression(726,727): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtContainerNodeForControlStructureBody(730,732): '{}'
  null

KtBlockExpression(730,732): '{}'
  null

KtWhenExpression(738,857): 'when {'
  null

KtWhenEntry(753,765): 'a == X -> {}'
  null

KtWhenConditionWithExpression(753,759): 'a == X'
  null

KtBinaryExpression(753,759): 'a == X'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(753,754): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(755,757): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(758,759): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtBlockExpression(763,765): '{}'
  null

KtWhenEntry(774,786): 'a != Y -> {}'
  null

KtWhenConditionWithExpression(774,780): 'a != Y'
  null

KtBinaryExpression(774,780): 'a != Y'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(774,775): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(776,778): '!='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(779,780): 'Y'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Y
    ]

KtBlockExpression(784,786): '{}'
  null

KtWhenEntry(795,808): 'a === X -> {}'
  null

KtWhenConditionWithExpression(795,802): 'a === X'
  null

KtBinaryExpression(795,802): 'a === X'
  null

KtNameReferenceExpression(795,796): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(797,800): '==='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(801,802): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtBlockExpression(806,808): '{}'
  null

KtWhenEntry(817,830): 'a !== Y -> {}'
  null

KtWhenConditionWithExpression(817,824): 'a !== Y'
  null

KtBinaryExpression(817,824): 'a !== Y'
  null

KtNameReferenceExpression(817,818): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(819,822): '!=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(823,824): 'Y'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Y
    ]

KtBlockExpression(828,830): '{}'
  null

KtWhenEntry(839,851): 'a == L -> {}'
  null

KtWhenConditionWithExpression(839,845): 'a == L'
  null

KtBinaryExpression(839,845): 'a == L'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(839,840): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtOperationReferenceExpression(841,843): '=='
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(844,845): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtBlockExpression(849,851): '{}'
  null

KtWhenExpression(863,914): 'when (a) {'
  null

KtNameReferenceExpression(869,870): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtWhenEntry(882,889): 'X -> {}'
  null

KtWhenConditionWithExpression(882,883): 'X'
  null

KtNameReferenceExpression(882,883): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtBlockExpression(887,889): '{}'
  null

KtWhenEntry(898,908): 'Y, L -> {}'
  null

KtWhenConditionWithExpression(898,899): 'Y'
  null

KtNameReferenceExpression(898,899): 'Y'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Y
    ]

KtWhenConditionWithExpression(901,902): 'L'
  null

KtNameReferenceExpression(901,902): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtBlockExpression(906,908): '{}'
  null

KtWhenExpression(920,979): 'when (val c = a) {'
  null

KtProperty(926,935): 'val c = a'
  null

KtNameReferenceExpression(934,935): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtWhenEntry(947,954): 'X -> {}'
  null

KtWhenConditionWithExpression(947,948): 'X'
  null

KtNameReferenceExpression(947,948): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.X
    ]

KtBlockExpression(952,954): '{}'
  null

KtWhenEntry(963,973): 'Y, L -> {}'
  null

KtWhenConditionWithExpression(963,964): 'Y'
  null

KtNameReferenceExpression(963,964): 'Y'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Y
    ]

KtWhenConditionWithExpression(966,967): 'L'
  null

KtNameReferenceExpression(966,967): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtBlockExpression(971,973): '{}'
  null

KtWhenExpression(985,1067): 'when (a) {'
  null

KtNameReferenceExpression(991,992): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtWhenEntry(1004,1015): 'id(X) -> {}'
  null

KtWhenConditionWithExpression(1004,1009): 'id(X)'
  null

KtCallExpression(1004,1009): 'id(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(1004,1006): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(1006,1009): '(X)'
  null

KtValueArgument(1007,1008): 'X'
  null

KtNameReferenceExpression(1007,1008): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtBlockExpression(1013,1015): '{}'
  null

KtWhenEntry(1024,1042): 'id(Y), id(L) -> {}'
  null

KtWhenConditionWithExpression(1024,1029): 'id(Y)'
  null

KtCallExpression(1024,1029): 'id(Y)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(1024,1026): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(1026,1029): '(Y)'
  null

KtValueArgument(1027,1028): 'Y'
  null

KtNameReferenceExpression(1027,1028): 'Y'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'Y'.>

KtWhenConditionWithExpression(1031,1036): 'id(L)'
  null

KtCallExpression(1031,1036): 'id(L)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(1031,1033): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(1033,1036): '(L)'
  null

KtValueArgument(1034,1035): 'L'
  null

KtNameReferenceExpression(1034,1035): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtBlockExpression(1040,1042): '{}'
  null

KtWhenEntry(1051,1061): 'else -> {}'
  null

KtBlockExpression(1059,1061): '{}'
  null

KtWhenExpression(1073,1163): 'when (val c = a) {'
  null

KtProperty(1079,1088): 'val c = a'
  null

KtNameReferenceExpression(1087,1088): 'a'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      a: T
    ]

KtWhenEntry(1100,1111): 'id(X) -> {}'
  null

KtWhenConditionWithExpression(1100,1105): 'id(X)'
  null

KtCallExpression(1100,1105): 'id(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(1100,1102): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(1102,1105): '(X)'
  null

KtValueArgument(1103,1104): 'X'
  null

KtNameReferenceExpression(1103,1104): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtBlockExpression(1109,1111): '{}'
  null

KtWhenEntry(1120,1138): 'id(Y), id(L) -> {}'
  null

KtWhenConditionWithExpression(1120,1125): 'id(Y)'
  null

KtCallExpression(1120,1125): 'id(Y)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(1120,1122): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(1122,1125): '(Y)'
  null

KtValueArgument(1123,1124): 'Y'
  null

KtNameReferenceExpression(1123,1124): 'Y'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'Y'.>

KtWhenConditionWithExpression(1127,1132): 'id(L)'
  null

KtCallExpression(1127,1132): 'id(L)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtNameReferenceExpression(1127,1129): 'id'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

KtValueArgumentList(1129,1132): '(L)'
  null

KtValueArgument(1130,1131): 'L'
  null

KtNameReferenceExpression(1130,1131): 'L'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      val L: MyEnum
    ]

KtBlockExpression(1136,1138): '{}'
  null

KtWhenEntry(1147,1157): 'else -> {}'
  null

KtBlockExpression(1155,1157): '{}'
  null
