KtFile: 'equality.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,192): 'sealed interface Settings {'
  null

KtDeclarationModifierList(78,84): 'sealed'
  null

KtClassBody(104,192): '{'
  null

KtObjectDeclaration(110,146): 'data object BasicSettings : Settings'
  null

KtDeclarationModifierList(110,114): 'data'
  null

KtSuperTypeList(138,146): 'Settings'
  null

KtSuperTypeEntry(138,146): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtTypeReference(138,146): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtUserType(138,146): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtNameReferenceExpression(138,146): 'Settings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtObjectDeclaration(151,190): 'data object SpecificSettings : Settings'
  null

KtDeclarationModifierList(151,155): 'data'
  null

KtSuperTypeList(182,190): 'Settings'
  null

KtSuperTypeEntry(182,190): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtTypeReference(182,190): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtUserType(182,190): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtNameReferenceExpression(182,190): 'Settings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtNamedFunction(194,223): 'fun work(message: String) { }'
  null

KtParameterList(202,219): '(message: String)'
  null

KtParameter(203,218): 'message: String'
  null

KtTypeReference(212,218): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtUserType(212,218): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtNameReferenceExpression(212,218): 'String'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

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

KtNamedFunction(225,476): 'fun usage(settings: Settings, basicSettings: Settings.BasicSettings) {'
  null

KtParameterList(234,293): '(settings: Settings, basicSettings: Settings.BasicSettings)'
  null

KtParameter(235,253): 'settings: Settings'
  null

KtTypeReference(245,253): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtUserType(245,253): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtNameReferenceExpression(245,253): 'Settings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtParameter(255,292): 'basicSettings: Settings.BasicSettings'
  null

KtTypeReference(270,292): 'Settings.BasicSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.BasicSettings
    ]

KtUserType(270,292): 'Settings.BasicSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.BasicSettings
    ]

KtUserType(270,278): 'Settings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtNameReferenceExpression(270,278): 'Settings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtNameReferenceExpression(279,292): 'BasicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.BasicSettings
    ]

KtBlockExpression(294,476): '{'
  null

KtIfExpression(300,344): 'if (settings == BasicSettings) work("Basic")'
  null

KtContainerNode(304,329): 'settings == BasicSettings'
  null

KtBinaryExpression(304,329): 'settings == BasicSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(304,312): 'settings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      settings: Settings
    ]

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

KtNameReferenceExpression(316,329): 'BasicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.BasicSettings
    ]

KtContainerNodeForControlStructureBody(331,344): 'work("Basic")'
  null

KtCallExpression(331,344): 'work("Basic")'
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtNameReferenceExpression(331,335): 'work'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtValueArgumentList(335,344): '("Basic")'
  null

KtValueArgument(336,343): '"Basic"'
  null

KtStringTemplateExpression(336,343): '"Basic"'
  null

KtLiteralStringTemplateEntry(337,342): 'Basic'
  null

KtIfExpression(350,405): 'if (basicSettings == SpecificSettings) work("Specific")'
  null

KtContainerNode(354,387): 'basicSettings == SpecificSettings'
  null

KtBinaryExpression(354,387): 'basicSettings == SpecificSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.BasicSettings.equals(<dispatch receiver>: Settings.BasicSettings, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(354,367): 'basicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      basicSettings: Settings.BasicSettings
    ]

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

KtNameReferenceExpression(371,387): 'SpecificSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.SpecificSettings
    ]

KtContainerNodeForControlStructureBody(389,405): 'work("Specific")'
  null

KtCallExpression(389,405): 'work("Specific")'
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtNameReferenceExpression(389,393): 'work'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtValueArgumentList(393,405): '("Specific")'
  null

KtValueArgument(394,404): '"Specific"'
  null

KtStringTemplateExpression(394,404): '"Specific"'
  null

KtLiteralStringTemplateEntry(395,403): 'Specific'
  null

KtIfExpression(410,474): 'if (basicSettings == Settings.SpecificSettings) work("Specific")'
  null

KtContainerNode(414,456): 'basicSettings == Settings.SpecificSettings'
  null

KtBinaryExpression(414,456): 'basicSettings == Settings.SpecificSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.BasicSettings.equals(<dispatch receiver>: Settings.BasicSettings, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(414,427): 'basicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      basicSettings: Settings.BasicSettings
    ]

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

KtDotQualifiedExpression(431,456): 'Settings.SpecificSettings'
  null

KtNameReferenceExpression(431,439): 'Settings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings
    ]

KtNameReferenceExpression(440,456): 'SpecificSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Settings.SpecificSettings
    ]

KtContainerNodeForControlStructureBody(458,474): 'work("Specific")'
  null

KtCallExpression(458,474): 'work("Specific")'
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtNameReferenceExpression(458,462): 'work'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtValueArgumentList(462,474): '("Specific")'
  null

KtValueArgument(463,473): '"Specific"'
  null

KtStringTemplateExpression(463,473): '"Specific"'
  null

KtLiteralStringTemplateEntry(464,472): 'Specific'
  null

KtClass(478,610): 'open class OpenSettings {'
  null

KtDeclarationModifierList(478,482): 'open'
  null

KtClassBody(502,610): '{'
  null

KtObjectDeclaration(508,554): 'data object OpenBasicSettings : OpenSettings()'
  null

KtDeclarationModifierList(508,512): 'data'
  null

KtSuperTypeList(540,554): 'OpenSettings()'
  null

KtSuperTypeCallEntry(540,554): 'OpenSettings()'
  KaSymbolResolutionSuccess:
    symbols = [
      <constructor>(): OpenSettings
    ]

KtConstructorCalleeExpression(540,552): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      <constructor>(): OpenSettings
    ]

KtTypeReference(540,552): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtUserType(540,552): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtNameReferenceExpression(540,552): 'OpenSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtValueArgumentList(552,554): '()'
  null

KtObjectDeclaration(559,608): 'data object OpenSpecificSettings : OpenSettings()'
  null

KtDeclarationModifierList(559,563): 'data'
  null

KtSuperTypeList(594,608): 'OpenSettings()'
  null

KtSuperTypeCallEntry(594,608): 'OpenSettings()'
  KaSymbolResolutionSuccess:
    symbols = [
      <constructor>(): OpenSettings
    ]

KtConstructorCalleeExpression(594,606): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      <constructor>(): OpenSettings
    ]

KtTypeReference(594,606): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtUserType(594,606): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtNameReferenceExpression(594,606): 'OpenSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtValueArgumentList(606,608): '()'
  null

KtNamedFunction(612,895): 'fun usageOpen(settings: OpenSettings, basicSettings: OpenSettings.OpenBasicSettings) {'
  null

KtParameterList(625,696): '(settings: OpenSettings, basicSettings: OpenSettings.OpenBasicSettings)'
  null

KtParameter(626,648): 'settings: OpenSettings'
  null

KtTypeReference(636,648): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtUserType(636,648): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtNameReferenceExpression(636,648): 'OpenSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtParameter(650,695): 'basicSettings: OpenSettings.OpenBasicSettings'
  null

KtTypeReference(665,695): 'OpenSettings.OpenBasicSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings.OpenBasicSettings
    ]

KtUserType(665,695): 'OpenSettings.OpenBasicSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings.OpenBasicSettings
    ]

KtUserType(665,677): 'OpenSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtNameReferenceExpression(665,677): 'OpenSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtNameReferenceExpression(678,695): 'OpenBasicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings.OpenBasicSettings
    ]

KtBlockExpression(697,895): '{'
  null

KtIfExpression(703,751): 'if (settings == OpenBasicSettings) work("Basic")'
  null

KtContainerNode(707,736): 'settings == OpenBasicSettings'
  null

KtBinaryExpression(707,736): 'settings == OpenBasicSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(707,715): 'settings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      settings: OpenSettings
    ]

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

KtNameReferenceExpression(719,736): 'OpenBasicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings.OpenBasicSettings
    ]

KtContainerNodeForControlStructureBody(738,751): 'work("Basic")'
  null

KtCallExpression(738,751): 'work("Basic")'
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtNameReferenceExpression(738,742): 'work'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtValueArgumentList(742,751): '("Basic")'
  null

KtValueArgument(743,750): '"Basic"'
  null

KtStringTemplateExpression(743,750): '"Basic"'
  null

KtLiteralStringTemplateEntry(744,749): 'Basic'
  null

KtIfExpression(757,816): 'if (basicSettings == OpenSpecificSettings) work("Specific")'
  null

KtContainerNode(761,798): 'basicSettings == OpenSpecificSettings'
  null

KtBinaryExpression(761,798): 'basicSettings == OpenSpecificSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings.OpenBasicSettings.equals(<dispatch receiver>: OpenSettings.OpenBasicSettings, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(761,774): 'basicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      basicSettings: OpenSettings.OpenBasicSettings
    ]

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

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

KtContainerNodeForControlStructureBody(800,816): 'work("Specific")'
  null

KtCallExpression(800,816): 'work("Specific")'
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtNameReferenceExpression(800,804): 'work'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtValueArgumentList(804,816): '("Specific")'
  null

KtValueArgument(805,815): '"Specific"'
  null

KtStringTemplateExpression(805,815): '"Specific"'
  null

KtLiteralStringTemplateEntry(806,814): 'Specific'
  null

KtIfExpression(821,893): 'if (basicSettings == OpenSettings.OpenSpecificSettings) work("Specific")'
  null

KtContainerNode(825,875): 'basicSettings == OpenSettings.OpenSpecificSettings'
  null

KtBinaryExpression(825,875): 'basicSettings == OpenSettings.OpenSpecificSettings'
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings.OpenBasicSettings.equals(<dispatch receiver>: OpenSettings.OpenBasicSettings, other: kotlin.Any?): kotlin.Boolean
    ]

KtNameReferenceExpression(825,838): 'basicSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      basicSettings: OpenSettings.OpenBasicSettings
    ]

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

KtDotQualifiedExpression(842,875): 'OpenSettings.OpenSpecificSettings'
  null

KtNameReferenceExpression(842,854): 'OpenSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings
    ]

KtNameReferenceExpression(855,875): 'OpenSpecificSettings'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /OpenSettings.OpenSpecificSettings
    ]

KtContainerNodeForControlStructureBody(877,893): 'work("Specific")'
  null

KtCallExpression(877,893): 'work("Specific")'
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtNameReferenceExpression(877,881): 'work'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /work(message: kotlin.String): kotlin.Unit
    ]

KtValueArgumentList(881,893): '("Specific")'
  null

KtValueArgument(882,892): '"Specific"'
  null

KtStringTemplateExpression(882,892): '"Specific"'
  null

KtLiteralStringTemplateEntry(883,891): 'Specific'
  null
