KtFile: 'companion.kt'
  null

KtPackageDirective(91,102): 'package foo'
  null

KtNameReferenceExpression(99,102): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo
    ]

KtImportList(102,102): ''
  null

KtClass(104,134): 'enum class MyEnum {'
  null

KtDeclarationModifierList(104,108): 'enum'
  null

KtClassBody(122,134): '{'
  null

KtEnumEntry(128,130): 'A,'
  null

KtEnumEntry(131,132): 'B'
  null

KtClass(136,706): 'class Test {'
  null

KtClassBody(147,706): '{'
  null

KtObjectDeclaration(153,199): 'companion object {'
  null

KtDeclarationModifierList(153,162): 'companion'
  null

KtClassBody(170,199): '{'
  null

KtProperty(180,193): 'val A = Any()'
  null

KtCallExpression(188,193): 'Any()'
  KaSymbolResolutionSuccess:
    symbols = [
      <constructor>(): kotlin.Any
    ]

KtNameReferenceExpression(188,191): 'Any'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Any
    ]

KtValueArgumentList(191,193): '()'
  null

KtNamedFunction(205,269): 'fun test1wrong(x: MyEnum): Boolean {'
  null

KtParameterList(219,230): '(x: MyEnum)'
  null

KtParameter(220,229): 'x: MyEnum'
  null

KtTypeReference(223,229): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtUserType(223,229): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(223,229): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtTypeReference(232,239): 'Boolean'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtUserType(232,239): 'Boolean'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtNameReferenceExpression(232,239): 'Boolean'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtBlockExpression(240,269): '{'
  null

KtReturnExpression(250,263): 'return x == A'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/Test.test1wrong(<dispatch receiver>: foo.Test, x: foo.MyEnum): kotlin.Boolean
    ]

KtBinaryExpression(257,263): 'x == A'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(257,258): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: foo.MyEnum
    ]

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

KtNameReferenceExpression(262,263): 'A'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val A: kotlin.Any
    ]

KtNamedFunction(275,345): 'fun test1enum(x: MyEnum): Boolean {'
  null

KtParameterList(288,299): '(x: MyEnum)'
  null

KtParameter(289,298): 'x: MyEnum'
  null

KtTypeReference(292,298): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtUserType(292,298): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(292,298): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtTypeReference(301,308): 'Boolean'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtUserType(301,308): 'Boolean'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtNameReferenceExpression(301,308): 'Boolean'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtBlockExpression(309,345): '{'
  null

KtReturnExpression(319,339): 'return x == MyEnum.A'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/Test.test1enum(<dispatch receiver>: foo.Test, x: foo.MyEnum): kotlin.Boolean
    ]

KtBinaryExpression(326,339): 'x == MyEnum.A'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(326,327): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: foo.MyEnum
    ]

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

KtDotQualifiedExpression(331,339): 'MyEnum.A'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum.A
    ]

KtNameReferenceExpression(331,337): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(338,339): 'A'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum.A
    ]

KtNamedFunction(351,429): 'fun test1companion(x: MyEnum): Boolean {'
  null

KtParameterList(369,380): '(x: MyEnum)'
  null

KtParameter(370,379): 'x: MyEnum'
  null

KtTypeReference(373,379): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtUserType(373,379): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(373,379): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtTypeReference(382,389): 'Boolean'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtUserType(382,389): 'Boolean'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtNameReferenceExpression(382,389): 'Boolean'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Boolean
    ]

KtBlockExpression(390,429): '{'
  null

KtReturnExpression(400,423): 'return x == Companion.A'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/Test.test1companion(<dispatch receiver>: foo.Test, x: foo.MyEnum): kotlin.Boolean
    ]

KtBinaryExpression(407,423): 'x == Companion.A'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Enum.equals(<dispatch receiver>: kotlin.Enum<E>, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(407,408): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: foo.MyEnum
    ]

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

KtDotQualifiedExpression(412,423): 'Companion.A'
  KaSymbolResolutionSuccess:
    symbols = [
      val A: kotlin.Any
    ]

KtNameReferenceExpression(412,421): 'Companion'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/Test.Companion
    ]

KtNameReferenceExpression(422,423): 'A'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val A: kotlin.Any
    ]

KtNamedFunction(435,514): 'fun test2wrong(x: MyEnum): Int = when (x) {'
  null

KtParameterList(449,460): '(x: MyEnum)'
  null

KtParameter(450,459): 'x: MyEnum'
  null

KtTypeReference(453,459): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtUserType(453,459): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(453,459): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtTypeReference(462,465): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(462,465): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(462,465): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtWhenExpression(468,514): 'when (x) {'
  null

KtNameReferenceExpression(474,475): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: foo.MyEnum
    ]

KtWhenEntry(487,493): 'A -> 1'
  null

KtWhenConditionWithExpression(487,488): 'A'
  null

KtNameReferenceExpression(487,488): 'A'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val A: kotlin.Any
    ]

KtConstantExpression(492,493): '1'
  null

KtWhenEntry(502,508): 'B -> 2'
  null

KtWhenConditionWithExpression(502,503): 'B'
  null

KtNameReferenceExpression(502,503): 'B'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum.B
    ]

KtConstantExpression(507,508): '2'
  null

KtNamedFunction(520,605): 'fun test2enum(x: MyEnum): Int = when (x) {'
  null

KtParameterList(533,544): '(x: MyEnum)'
  null

KtParameter(534,543): 'x: MyEnum'
  null

KtTypeReference(537,543): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtUserType(537,543): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(537,543): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtTypeReference(546,549): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(546,549): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(546,549): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtWhenExpression(552,605): 'when (x) {'
  null

KtNameReferenceExpression(558,559): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: foo.MyEnum
    ]

KtWhenEntry(571,584): 'MyEnum.A -> 1'
  null

KtWhenConditionWithExpression(571,579): 'MyEnum.A'
  null

KtDotQualifiedExpression(571,579): 'MyEnum.A'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum.A
    ]

KtNameReferenceExpression(571,577): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(578,579): 'A'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum.A
    ]

KtConstantExpression(583,584): '1'
  null

KtWhenEntry(593,599): 'B -> 2'
  null

KtWhenConditionWithExpression(593,594): 'B'
  null

KtNameReferenceExpression(593,594): 'B'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum.B
    ]

KtConstantExpression(598,599): '2'
  null

KtNamedFunction(611,704): 'fun test2companion(x: MyEnum): Int = when (x) {'
  null

KtParameterList(629,640): '(x: MyEnum)'
  null

KtParameter(630,639): 'x: MyEnum'
  null

KtTypeReference(633,639): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtUserType(633,639): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtNameReferenceExpression(633,639): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum
    ]

KtTypeReference(642,645): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(642,645): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(642,645): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtWhenExpression(648,704): 'when (x) {'
  null

KtNameReferenceExpression(654,655): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: foo.MyEnum
    ]

KtWhenEntry(667,683): 'Companion.A -> 1'
  null

KtWhenConditionWithExpression(667,678): 'Companion.A'
  null

KtDotQualifiedExpression(667,678): 'Companion.A'
  KaSymbolResolutionSuccess:
    symbols = [
      val A: kotlin.Any
    ]

KtNameReferenceExpression(667,676): 'Companion'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/Test.Companion
    ]

KtNameReferenceExpression(677,678): 'A'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val A: kotlin.Any
    ]

KtConstantExpression(682,683): '1'
  null

KtWhenEntry(692,698): 'B -> 2'
  null

KtWhenConditionWithExpression(692,693): 'B'
  null

KtNameReferenceExpression(692,693): 'B'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo/MyEnum.B
    ]

KtConstantExpression(697,698): '2'
  null
