KtFile: 'main.kt'
  null

KtPackageDirective(30,39): 'package b'
  null

KtNameReferenceExpression(38,39): 'b'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      b
    ]

KtImportList(40,63): 'import a1.*'
  null

KtImportDirective(40,51): 'import a1.*'
  null

KtNameReferenceExpression(47,49): 'a1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      a1
    ]

KtImportDirective(52,63): 'import a2.*'
  null

KtNameReferenceExpression(59,61): 'a2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      a2
    ]

KtClass(65,98): 'enum class MyEnum {'
  null

KtDeclarationModifierList(65,69): 'enum'
  null

KtClassBody(83,98): '{'
  null

KtEnumEntry(89,91): 'X,'
  null

KtEnumEntry(92,94): 'Y,'
  null

KtEnumEntry(95,96): 'Z'
  null

KtNamedFunction(100,121): 'fun foo(a: MyEnum) {}'
  null

KtParameterList(107,118): '(a: MyEnum)'
  null

KtParameter(108,117): 'a: MyEnum'
  null

KtTypeReference(111,117): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      b/MyEnum
    ]

KtUserType(111,117): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      b/MyEnum
    ]

KtNameReferenceExpression(111,117): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      b/MyEnum
    ]

KtBlockExpression(119,121): '{}'
  null

KtNamedFunction(123,170): 'fun main() {'
  null

KtParameterList(131,133): '()'
  null

KtBlockExpression(134,170): '{'
  null

KtCallExpression(140,146): 'foo(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      b/foo(a: b.MyEnum): kotlin.Unit
    ]

KtNameReferenceExpression(140,143): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      b/foo(a: b.MyEnum): kotlin.Unit
    ]

KtValueArgumentList(143,146): '(X)'
  null

KtValueArgument(144,145): 'X'
  null

KtNameReferenceExpression(144,145): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      val X: b.MyEnum,
      val X: b.MyEnum
    ]
    diagnostic = ERROR<OVERLOAD_RESOLUTION_AMBIGUITY: Overload resolution ambiguity between candidates:
    val X: MyEnum
    val X: MyEnum>

KtCallExpression(151,157): 'foo(Y)'
  KaSymbolResolutionSuccess:
    symbols = [
      b/foo(a: b.MyEnum): kotlin.Unit
    ]

KtNameReferenceExpression(151,154): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      b/foo(a: b.MyEnum): kotlin.Unit
    ]

KtValueArgumentList(154,157): '(Y)'
  null

KtValueArgument(155,156): 'Y'
  null

KtNameReferenceExpression(155,156): 'Y'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      val Y: kotlin.String,
      val Y: kotlin.String
    ]
    diagnostic = ERROR<OVERLOAD_RESOLUTION_AMBIGUITY: Overload resolution ambiguity between candidates:
    val Y: String
    val Y: String>

KtCallExpression(162,168): 'foo(Z)'
  KaSymbolResolutionSuccess:
    symbols = [
      b/foo(a: b.MyEnum): kotlin.Unit
    ]

KtNameReferenceExpression(162,165): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      b/foo(a: b.MyEnum): kotlin.Unit
    ]

KtValueArgumentList(165,168): '(Z)'
  null

KtValueArgument(166,167): 'Z'
  null

KtNameReferenceExpression(166,167): 'Z'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      b/MyEnum.Z
    ]
