KtFile: 'bound.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

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

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(96,115): '{'
  null

KtEnumEntry(102,113): 'EnumValue1;'
  null

KtNamedFunction(117,158): 'fun <T: MyEnum> boundHolder(arg: T) = arg'
  null

KtTypeParameterList(121,132): '<T: MyEnum>'
  null

KtTypeParameter(122,131): 'T: MyEnum'
  null

KtTypeReference(125,131): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(125,131): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtParameterList(144,152): '(arg: T)'
  null

KtParameter(145,151): 'arg: T'
  null

KtTypeReference(150,151): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtUserType(150,151): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

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

KtNameReferenceExpression(155,158): 'arg'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      arg: T
    ]

KtNamedFunction(160,210): 'fun testFunBound() {'
  null

KtParameterList(176,178): '()'
  null

KtBlockExpression(179,210): '{'
  null

KtCallExpression(185,208): 'boundHolder(EnumValue1)'
  KaSymbolResolutionError:
    candidateSymbols = [
      /boundHolder(arg: T): T
    ]
    diagnostic = ERROR<OTHER_ERROR: Inapplicable(INAPPLICABLE): /boundHolder>

KtNameReferenceExpression(185,196): 'boundHolder'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      /boundHolder(arg: T): T
    ]
    diagnostic = ERROR<OTHER_ERROR: Inapplicable(INAPPLICABLE): /boundHolder>

KtValueArgumentList(196,208): '(EnumValue1)'
  null

KtValueArgument(197,207): 'EnumValue1'
  null

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

KtNamedFunction(212,271): 'fun testFunBound2() {'
  null

KtParameterList(229,231): '()'
  null

KtBlockExpression(232,271): '{'
  null

KtCallExpression(238,269): 'boundHolder<MyEnum>(EnumValue1)'
  KaSymbolResolutionSuccess:
    symbols = [
      /boundHolder(arg: T): T
    ]

KtNameReferenceExpression(238,249): 'boundHolder'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /boundHolder(arg: T): T
    ]

KtTypeArgumentList(249,257): '<MyEnum>'
  null

KtTypeProjection(250,256): 'MyEnum'
  null

KtTypeReference(250,256): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(250,256): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtValueArgumentList(257,269): '(EnumValue1)'
  null

KtValueArgument(258,268): 'EnumValue1'
  null

KtNameReferenceExpression(258,268): 'EnumValue1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.EnumValue1
    ]

KtNamedFunction(273,352): 'inline fun <T: MyEnum> testInlineFunBound(value: T) {'
  null

KtDeclarationModifierList(273,279): 'inline'
  null

KtTypeParameterList(284,295): '<T: MyEnum>'
  null

KtTypeParameter(285,294): 'T: MyEnum'
  null

KtTypeReference(288,294): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(288,294): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtParameterList(314,324): '(value: T)'
  null

KtParameter(315,323): 'value: T'
  null

KtTypeReference(322,323): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtUserType(322,323): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

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

KtBlockExpression(325,352): '{'
  null

KtBinaryExpression(331,350): 'value == EnumValue1'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(331,336): 'value'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      value: T
    ]

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

KtNameReferenceExpression(340,350): 'EnumValue1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.EnumValue1
    ]

KtNamedFunction(354,420): 'fun <T: MyEnum> testFunBound(value: T) {'
  null

KtTypeParameterList(358,369): '<T: MyEnum>'
  null

KtTypeParameter(359,368): 'T: MyEnum'
  null

KtTypeReference(362,368): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(362,368): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtParameterList(382,392): '(value: T)'
  null

KtParameter(383,391): 'value: T'
  null

KtTypeReference(390,391): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtUserType(390,391): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

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

KtBlockExpression(393,420): '{'
  null

KtBinaryExpression(399,418): 'value == EnumValue1'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(399,404): 'value'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      value: T
    ]

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

KtNameReferenceExpression(408,418): 'EnumValue1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.EnumValue1
    ]
