KtFile: 'multipleOverloads.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,109): 'enum class MyEnum1 {'
  null

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(97,109): '{'
  null

KtEnumEntry(103,105): 'X,'
  null

KtEnumEntry(106,107): 'Y'
  null

KtClass(111,142): 'enum class MyEnum2 {'
  null

KtDeclarationModifierList(111,115): 'enum'
  null

KtClassBody(130,142): '{'
  null

KtEnumEntry(136,138): 'X,'
  null

KtEnumEntry(139,140): 'Y'
  null

KtClass(144,175): 'enum class MyEnum3 {'
  null

KtDeclarationModifierList(144,148): 'enum'
  null

KtClassBody(163,175): '{'
  null

KtEnumEntry(169,171): 'X,'
  null

KtEnumEntry(172,173): 'Y'
  null

KtNamedFunction(177,199): 'fun foo(x: MyEnum1) {}'
  null

KtParameterList(184,196): '(x: MyEnum1)'
  null

KtParameter(185,195): 'x: MyEnum1'
  null

KtTypeReference(188,195): 'MyEnum1'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtUserType(188,195): 'MyEnum1'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtNameReferenceExpression(188,195): 'MyEnum1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtBlockExpression(197,199): '{}'
  null

KtNamedFunction(200,222): 'fun foo(x: MyEnum2) {}'
  null

KtParameterList(207,219): '(x: MyEnum2)'
  null

KtParameter(208,218): 'x: MyEnum2'
  null

KtTypeReference(211,218): 'MyEnum2'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum2
    ]

KtUserType(211,218): 'MyEnum2'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum2
    ]

KtNameReferenceExpression(211,218): 'MyEnum2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum2
    ]

KtBlockExpression(220,222): '{}'
  null

KtNamedFunction(224,246): 'fun bar(x: MyEnum3) {}'
  null

KtParameterList(231,243): '(x: MyEnum3)'
  null

KtParameter(232,242): 'x: MyEnum3'
  null

KtTypeReference(235,242): 'MyEnum3'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3
    ]

KtUserType(235,242): 'MyEnum3'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3
    ]

KtNameReferenceExpression(235,242): 'MyEnum3'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3
    ]

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

KtNamedFunction(248,276): 'fun <X> id(x: X): X = TODO()'
  null

KtTypeParameterList(252,255): '<X>'
  null

KtTypeParameter(253,254): 'X'
  null

KtParameterList(258,264): '(x: X)'
  null

KtParameter(259,263): 'x: X'
  null

KtTypeReference(262,263): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtUserType(262,263): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

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

KtTypeReference(266,267): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

KtUserType(266,267): 'X'
  KaSymbolResolutionSuccess:
    symbols = [
      X
    ]

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

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

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

KtValueArgumentList(274,276): '()'
  null

KtNamedFunction(278,387): 'fun main() {'
  null

KtParameterList(286,288): '()'
  null

KtBlockExpression(289,387): '{'
  null

KtCallExpression(295,301): 'foo(X)'
  KaSymbolResolutionError:
    candidateSymbols = [
      /foo(x: MyEnum1): kotlin.Unit,
      /foo(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtNameReferenceExpression(295,298): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      /foo(x: MyEnum1): kotlin.Unit,
      /foo(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtValueArgumentList(298,301): '(X)'
  null

KtValueArgument(299,300): 'X'
  null

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

KtCallExpression(306,316): 'foo(id(X))'
  KaSymbolResolutionError:
    candidateSymbols = [
      /foo(x: MyEnum1): kotlin.Unit,
      /foo(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtNameReferenceExpression(306,309): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      /foo(x: MyEnum1): kotlin.Unit,
      /foo(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: foo, [/foo, /foo]>

KtValueArgumentList(309,316): '(id(X))'
  null

KtValueArgument(310,315): 'id(X)'
  null

KtCallExpression(310,315): 'id(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

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

KtValueArgumentList(312,315): '(X)'
  null

KtValueArgument(313,314): 'X'
  null

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

KtCallExpression(321,335): 'foo(MyEnum1.X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /foo(x: MyEnum1): kotlin.Unit
    ]

KtNameReferenceExpression(321,324): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /foo(x: MyEnum1): kotlin.Unit
    ]

KtValueArgumentList(324,335): '(MyEnum1.X)'
  null

KtValueArgument(325,334): 'MyEnum1.X'
  null

KtDotQualifiedExpression(325,334): 'MyEnum1.X'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1.X
    ]

KtNameReferenceExpression(325,332): 'MyEnum1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtNameReferenceExpression(333,334): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1.X
    ]

KtCallExpression(340,358): 'foo(id(MyEnum1.X))'
  KaSymbolResolutionSuccess:
    symbols = [
      /foo(x: MyEnum1): kotlin.Unit
    ]

KtNameReferenceExpression(340,343): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /foo(x: MyEnum1): kotlin.Unit
    ]

KtValueArgumentList(343,358): '(id(MyEnum1.X))'
  null

KtValueArgument(344,357): 'id(MyEnum1.X)'
  null

KtCallExpression(344,357): 'id(MyEnum1.X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

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

KtValueArgumentList(346,357): '(MyEnum1.X)'
  null

KtValueArgument(347,356): 'MyEnum1.X'
  null

KtDotQualifiedExpression(347,356): 'MyEnum1.X'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1.X
    ]

KtNameReferenceExpression(347,354): 'MyEnum1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtNameReferenceExpression(355,356): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1.X
    ]

KtCallExpression(364,370): 'bar(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /bar(x: MyEnum3): kotlin.Unit
    ]

KtNameReferenceExpression(364,367): 'bar'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /bar(x: MyEnum3): kotlin.Unit
    ]

KtValueArgumentList(367,370): '(X)'
  null

KtValueArgument(368,369): 'X'
  null

KtNameReferenceExpression(368,369): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3.X
    ]

KtCallExpression(375,385): 'bar(id(X))'
  KaSymbolResolutionSuccess:
    symbols = [
      /bar(x: MyEnum3): kotlin.Unit
    ]

KtNameReferenceExpression(375,378): 'bar'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /bar(x: MyEnum3): kotlin.Unit
    ]

KtValueArgumentList(378,385): '(id(X))'
  null

KtValueArgument(379,384): 'id(X)'
  null

KtCallExpression(379,384): 'id(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

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

KtValueArgumentList(381,384): '(X)'
  null

KtValueArgument(382,383): 'X'
  null

KtNameReferenceExpression(382,383): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3.X
    ]

KtNamedFunction(389,505): 'fun main2() {'
  null

KtParameterList(398,400): '()'
  null

KtBlockExpression(401,505): '{'
  null

KtNamedFunction(407,429): 'fun bar(x: MyEnum1) {}'
  null

KtParameterList(414,426): '(x: MyEnum1)'
  null

KtParameter(415,425): 'x: MyEnum1'
  null

KtTypeReference(418,425): 'MyEnum1'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtUserType(418,425): 'MyEnum1'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtNameReferenceExpression(418,425): 'MyEnum1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum1
    ]

KtBlockExpression(427,429): '{}'
  null

KtNamedFunction(434,456): 'fun bar(x: MyEnum2) {}'
  null

KtParameterList(441,453): '(x: MyEnum2)'
  null

KtParameter(442,452): 'x: MyEnum2'
  null

KtTypeReference(445,452): 'MyEnum2'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum2
    ]

KtUserType(445,452): 'MyEnum2'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum2
    ]

KtNameReferenceExpression(445,452): 'MyEnum2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum2
    ]

KtBlockExpression(454,456): '{}'
  null

KtCallExpression(462,468): 'bar(X)'
  KaSymbolResolutionError:
    candidateSymbols = [
      bar(x: MyEnum1): kotlin.Unit,
      bar(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtNameReferenceExpression(462,465): 'bar'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      bar(x: MyEnum1): kotlin.Unit,
      bar(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtValueArgumentList(465,468): '(X)'
  null

KtValueArgument(466,467): 'X'
  null

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

KtCallExpression(473,483): 'bar(id(X))'
  KaSymbolResolutionError:
    candidateSymbols = [
      bar(x: MyEnum1): kotlin.Unit,
      bar(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtNameReferenceExpression(473,476): 'bar'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      bar(x: MyEnum1): kotlin.Unit,
      bar(x: MyEnum2): kotlin.Unit
    ]
    diagnostic = ERROR<OTHER_ERROR: Ambiguity: bar, [<local>/bar, <local>/bar]>

KtValueArgumentList(476,483): '(id(X))'
  null

KtValueArgument(477,482): 'id(X)'
  null

KtCallExpression(477,482): 'id(X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /id(x: X): X
    ]

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

KtValueArgumentList(479,482): '(X)'
  null

KtValueArgument(480,481): 'X'
  null

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

KtCallExpression(489,503): 'bar(MyEnum3.X)'
  KaSymbolResolutionSuccess:
    symbols = [
      /bar(x: MyEnum3): kotlin.Unit
    ]

KtNameReferenceExpression(489,492): 'bar'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /bar(x: MyEnum3): kotlin.Unit
    ]

KtValueArgumentList(492,503): '(MyEnum3.X)'
  null

KtValueArgument(493,502): 'MyEnum3.X'
  null

KtDotQualifiedExpression(493,502): 'MyEnum3.X'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3.X
    ]

KtNameReferenceExpression(493,500): 'MyEnum3'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3
    ]

KtNameReferenceExpression(501,502): 'X'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum3.X
    ]
