KtFile: 'main.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(51,102): 'import foo.*'
  null

KtImportDirective(51,63): 'import foo.*'
  null

KtNameReferenceExpression(58,61): 'foo'
  null

KtImportDirective(64,76): 'import foo.E'
  null

KtDotQualifiedExpression(71,76): 'foo.E'
  null

KtNameReferenceExpression(71,74): 'foo'
  null

KtNameReferenceExpression(75,76): 'E'
  null

KtImportDirective(77,89): 'import foo.F'
  null

KtDotQualifiedExpression(84,89): 'foo.F'
  null

KtNameReferenceExpression(84,87): 'foo'
  null

KtNameReferenceExpression(88,89): 'F'
  null

KtImportDirective(90,102): 'import bar.*'
  null

KtNameReferenceExpression(97,100): 'bar'
  null

KtNamedFunction(104,298): 'fun sealed(s: Sealed): Int = when (s) {'
  null

KtParameterList(114,125): '(s: Sealed)'
  null

KtParameter(115,124): 's: Sealed'
  null

KtTypeReference(118,124): 'Sealed'
  null

KtUserType(118,124): 'Sealed'
  null

KtNameReferenceExpression(118,124): 'Sealed'
  null

KtTypeReference(127,130): 'Int'
  null

KtUserType(127,130): 'Int'
  null

KtNameReferenceExpression(127,130): 'Int'
  null

KtWhenExpression(133,298): 'when (s) {'
  null

KtNameReferenceExpression(139,140): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(148,154): 'A -> 1'
  null

KtWhenConditionWithExpression(148,149): 'A'
  null

KtNameReferenceExpression(148,149): 'A'
  null

KtConstantExpression(153,154): '1'
  null

KtWhenEntry(159,168): 'is B -> 2'
  null

KtWhenConditionIsPattern(159,163): 'is B'
  null

KtTypeReference(162,163): 'B'
  null

KtUserType(162,163): 'B'
  null

KtNameReferenceExpression(162,163): 'B'
  null

KtConstantExpression(167,168): '2'
  null

KtWhenEntry(173,179): 'C -> 3'
  null

KtWhenConditionWithExpression(173,174): 'C'
  null

KtNameReferenceExpression(173,174): 'C'
  null

KtConstantExpression(178,179): '3'
  null

KtWhenEntry(184,193): 'is D -> 4'
  null

KtWhenConditionIsPattern(184,188): 'is D'
  null

KtTypeReference(187,188): 'D'
  null

KtUserType(187,188): 'D'
  null

KtNameReferenceExpression(187,188): 'D'
  null

KtConstantExpression(192,193): '4'
  null

KtWhenEntry(198,212): 'is String -> 5'
  null

KtWhenConditionIsPattern(198,207): 'is String'
  null

KtTypeReference(201,207): 'String'
  null

KtUserType(201,207): 'String'
  null

KtNameReferenceExpression(201,207): 'String'
  null

KtConstantExpression(211,212): '5'
  null

KtWhenEntry(217,232): 'CompanionA -> 6'
  null

KtWhenConditionWithExpression(217,227): 'CompanionA'
  null

KtNameReferenceExpression(217,227): 'CompanionA'
  null

KtConstantExpression(231,232): '6'
  null

KtWhenEntry(237,252): 'CompanionB -> 7'
  null

KtWhenConditionWithExpression(237,247): 'CompanionB'
  null

KtNameReferenceExpression(237,247): 'CompanionB'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionB
        receiverType = null
        returnType = kotlin.Int
        symbol = val CompanionB: kotlin.Int
        contextParameters = []
        callableId = foo/CompanionB
      typeArgumentsMapping = {}

KtConstantExpression(251,252): '7'
  null

KtWhenEntry(257,266): 'is E -> 8'
  null

KtWhenConditionIsPattern(257,261): 'is E'
  null

KtTypeReference(260,261): 'E'
  null

KtUserType(260,261): 'E'
  null

KtNameReferenceExpression(260,261): 'E'
  null

KtConstantExpression(265,266): '8'
  null

KtWhenEntry(271,280): 'is F -> 9'
  null

KtWhenConditionIsPattern(271,275): 'is F'
  null

KtTypeReference(274,275): 'F'
  null

KtUserType(274,275): 'F'
  null

KtNameReferenceExpression(274,275): 'F'
  null

KtConstantExpression(279,280): '9'
  null

KtWhenEntry(285,296): 'else -> 100'
  null

KtConstantExpression(293,296): '100'
  null

KtNamedFunction(300,554): 'fun sealedExplicit(s: Sealed): Int = when (s) {'
  null

KtParameterList(318,329): '(s: Sealed)'
  null

KtParameter(319,328): 's: Sealed'
  null

KtTypeReference(322,328): 'Sealed'
  null

KtUserType(322,328): 'Sealed'
  null

KtNameReferenceExpression(322,328): 'Sealed'
  null

KtTypeReference(331,334): 'Int'
  null

KtUserType(331,334): 'Int'
  null

KtNameReferenceExpression(331,334): 'Int'
  null

KtWhenExpression(337,554): 'when (s) {'
  null

KtNameReferenceExpression(343,344): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(352,369): 'bar.Sealed.A -> 1'
  null

KtWhenConditionWithExpression(352,364): 'bar.Sealed.A'
  null

KtDotQualifiedExpression(352,364): 'bar.Sealed.A'
  null

KtDotQualifiedExpression(352,362): 'bar.Sealed'
  null

KtNameReferenceExpression(352,355): 'bar'
  null

KtNameReferenceExpression(356,362): 'Sealed'
  null

KtNameReferenceExpression(363,364): 'A'
  null

KtConstantExpression(368,369): '1'
  null

KtWhenEntry(374,394): 'is bar.Sealed.B -> 2'
  null

KtWhenConditionIsPattern(374,389): 'is bar.Sealed.B'
  null

KtTypeReference(377,389): 'bar.Sealed.B'
  null

KtUserType(377,389): 'bar.Sealed.B'
  null

KtUserType(377,387): 'bar.Sealed'
  null

KtUserType(377,380): 'bar'
  null

KtNameReferenceExpression(377,380): 'bar'
  null

KtNameReferenceExpression(381,387): 'Sealed'
  null

KtNameReferenceExpression(388,389): 'B'
  null

KtConstantExpression(393,394): '2'
  null

KtWhenEntry(399,424): 'is bar.Sealed.String -> 5'
  null

KtWhenConditionIsPattern(399,419): 'is bar.Sealed.String'
  null

KtTypeReference(402,419): 'bar.Sealed.String'
  null

KtUserType(402,419): 'bar.Sealed.String'
  null

KtUserType(402,412): 'bar.Sealed'
  null

KtUserType(402,405): 'bar'
  null

KtNameReferenceExpression(402,405): 'bar'
  null

KtNameReferenceExpression(406,412): 'Sealed'
  null

KtNameReferenceExpression(413,419): 'String'
  null

KtConstantExpression(423,424): '5'
  null

KtWhenEntry(429,455): 'bar.Sealed.CompanionA -> 6'
  null

KtWhenConditionWithExpression(429,450): 'bar.Sealed.CompanionA'
  null

KtDotQualifiedExpression(429,450): 'bar.Sealed.CompanionA'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = bar.Sealed
        isSafeNavigation = false
        type = bar.Sealed.Companion
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionA
        receiverType = null
        returnType = bar.Sealed
        symbol = val CompanionA: bar.Sealed
        contextParameters = []
        callableId = bar/Sealed.Companion.CompanionA
      typeArgumentsMapping = {}

KtDotQualifiedExpression(429,439): 'bar.Sealed'
  null

KtNameReferenceExpression(429,432): 'bar'
  null

KtNameReferenceExpression(433,439): 'Sealed'
  null

KtNameReferenceExpression(440,450): 'CompanionA'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = bar.Sealed
        isSafeNavigation = false
        type = bar.Sealed.Companion
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionA
        receiverType = null
        returnType = bar.Sealed
        symbol = val CompanionA: bar.Sealed
        contextParameters = []
        callableId = bar/Sealed.Companion.CompanionA
      typeArgumentsMapping = {}

KtConstantExpression(454,455): '6'
  null

KtWhenEntry(460,486): 'bar.Sealed.CompanionB -> 7'
  null

KtWhenConditionWithExpression(460,481): 'bar.Sealed.CompanionB'
  null

KtDotQualifiedExpression(460,481): 'bar.Sealed.CompanionB'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = bar.Sealed
        isSafeNavigation = false
        type = bar.Sealed.Companion
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionB
        receiverType = null
        returnType = bar.Sealed
        symbol = val CompanionB: bar.Sealed
        contextParameters = []
        callableId = bar/Sealed.Companion.CompanionB
      typeArgumentsMapping = {}

KtDotQualifiedExpression(460,470): 'bar.Sealed'
  null

KtNameReferenceExpression(460,463): 'bar'
  null

KtNameReferenceExpression(464,470): 'Sealed'
  null

KtNameReferenceExpression(471,481): 'CompanionB'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = bar.Sealed
        isSafeNavigation = false
        type = bar.Sealed.Companion
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionB
        receiverType = null
        returnType = bar.Sealed
        symbol = val CompanionB: bar.Sealed
        contextParameters = []
        callableId = bar/Sealed.Companion.CompanionB
      typeArgumentsMapping = {}

KtConstantExpression(485,486): '7'
  null

KtWhenEntry(491,511): 'is bar.Sealed.E -> 8'
  null

KtWhenConditionIsPattern(491,506): 'is bar.Sealed.E'
  null

KtTypeReference(494,506): 'bar.Sealed.E'
  null

KtUserType(494,506): 'bar.Sealed.E'
  null

KtUserType(494,504): 'bar.Sealed'
  null

KtUserType(494,497): 'bar'
  null

KtNameReferenceExpression(494,497): 'bar'
  null

KtNameReferenceExpression(498,504): 'Sealed'
  null

KtNameReferenceExpression(505,506): 'E'
  null

KtConstantExpression(510,511): '8'
  null

KtWhenEntry(516,536): 'is bar.Sealed.F -> 9'
  null

KtWhenConditionIsPattern(516,531): 'is bar.Sealed.F'
  null

KtTypeReference(519,531): 'bar.Sealed.F'
  null

KtUserType(519,531): 'bar.Sealed.F'
  null

KtUserType(519,529): 'bar.Sealed'
  null

KtUserType(519,522): 'bar'
  null

KtNameReferenceExpression(519,522): 'bar'
  null

KtNameReferenceExpression(523,529): 'Sealed'
  null

KtNameReferenceExpression(530,531): 'F'
  null

KtConstantExpression(535,536): '9'
  null

KtWhenEntry(541,552): 'else -> 100'
  null

KtConstantExpression(549,552): '100'
  null

KtNamedFunction(556,764): 'fun topLevelExplicit(s: Sealed): Int = when (s) {'
  null

KtParameterList(576,587): '(s: Sealed)'
  null

KtParameter(577,586): 's: Sealed'
  null

KtTypeReference(580,586): 'Sealed'
  null

KtUserType(580,586): 'Sealed'
  null

KtNameReferenceExpression(580,586): 'Sealed'
  null

KtTypeReference(589,592): 'Int'
  null

KtUserType(589,592): 'Int'
  null

KtNameReferenceExpression(589,592): 'Int'
  null

KtWhenExpression(595,764): 'when (s) {'
  null

KtNameReferenceExpression(601,602): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(610,620): 'foo.A -> 1'
  null

KtWhenConditionWithExpression(610,615): 'foo.A'
  null

KtDotQualifiedExpression(610,615): 'foo.A'
  null

KtNameReferenceExpression(610,613): 'foo'
  null

KtNameReferenceExpression(614,615): 'A'
  null

KtConstantExpression(619,620): '1'
  null

KtWhenEntry(625,638): 'is foo.B -> 2'
  null

KtWhenConditionIsPattern(625,633): 'is foo.B'
  null

KtTypeReference(628,633): 'foo.B'
  null

KtUserType(628,633): 'foo.B'
  null

KtUserType(628,631): 'foo'
  null

KtNameReferenceExpression(628,631): 'foo'
  null

KtNameReferenceExpression(632,633): 'B'
  null

KtConstantExpression(637,638): '2'
  null

KtWhenEntry(643,664): 'is kotlin.String -> 5'
  null

KtWhenConditionIsPattern(643,659): 'is kotlin.String'
  null

KtTypeReference(646,659): 'kotlin.String'
  null

KtUserType(646,659): 'kotlin.String'
  null

KtUserType(646,652): 'kotlin'
  null

KtNameReferenceExpression(646,652): 'kotlin'
  null

KtNameReferenceExpression(653,659): 'String'
  null

KtConstantExpression(663,664): '5'
  null

KtWhenEntry(669,688): 'foo.CompanionA -> 6'
  null

KtWhenConditionWithExpression(669,683): 'foo.CompanionA'
  null

KtDotQualifiedExpression(669,683): 'foo.CompanionA'
  null

KtNameReferenceExpression(669,672): 'foo'
  null

KtNameReferenceExpression(673,683): 'CompanionA'
  null

KtConstantExpression(687,688): '6'
  null

KtWhenEntry(693,712): 'foo.CompanionB -> 7'
  null

KtWhenConditionWithExpression(693,707): 'foo.CompanionB'
  null

KtDotQualifiedExpression(693,707): 'foo.CompanionB'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionB
        receiverType = null
        returnType = kotlin.Int
        symbol = val CompanionB: kotlin.Int
        contextParameters = []
        callableId = foo/CompanionB
      typeArgumentsMapping = {}

KtNameReferenceExpression(693,696): 'foo'
  null

KtNameReferenceExpression(697,707): 'CompanionB'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionB
        receiverType = null
        returnType = kotlin.Int
        symbol = val CompanionB: kotlin.Int
        contextParameters = []
        callableId = foo/CompanionB
      typeArgumentsMapping = {}

KtConstantExpression(711,712): '7'
  null

KtWhenEntry(717,730): 'is foo.E -> 8'
  null

KtWhenConditionIsPattern(717,725): 'is foo.E'
  null

KtTypeReference(720,725): 'foo.E'
  null

KtUserType(720,725): 'foo.E'
  null

KtUserType(720,723): 'foo'
  null

KtNameReferenceExpression(720,723): 'foo'
  null

KtNameReferenceExpression(724,725): 'E'
  null

KtConstantExpression(729,730): '8'
  null

KtWhenEntry(735,748): 'is foo.F -> 9'
  null

KtWhenConditionIsPattern(735,743): 'is foo.F'
  null

KtTypeReference(738,743): 'foo.F'
  null

KtUserType(738,743): 'foo.F'
  null

KtUserType(738,741): 'foo'
  null

KtNameReferenceExpression(738,741): 'foo'
  null

KtNameReferenceExpression(742,743): 'F'
  null

KtConstantExpression(747,748): '9'
  null

KtWhenEntry(753,762): 'else -> 6'
  null

KtConstantExpression(761,762): '6'
  null

KtNamedFunction(766,824): 'fun cast1wrong(s: Sealed): Int {'
  null

KtParameterList(780,791): '(s: Sealed)'
  null

KtParameter(781,790): 's: Sealed'
  null

KtTypeReference(784,790): 'Sealed'
  null

KtUserType(784,790): 'Sealed'
  null

KtNameReferenceExpression(784,790): 'Sealed'
  null

KtTypeReference(793,796): 'Int'
  null

KtUserType(793,796): 'Int'
  null

KtNameReferenceExpression(793,796): 'Int'
  null

KtBlockExpression(797,824): '{'
  null

KtBinaryExpressionWithTypeRHS(803,809): 's as A'
  null

KtNameReferenceExpression(803,804): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(805,807): 'as'
  null

KtTypeReference(808,809): 'A'
  null

KtUserType(808,809): 'A'
  null

KtNameReferenceExpression(808,809): 'A'
  null

KtReturnExpression(814,822): 'return 1'
  null

KtConstantExpression(821,822): '1'
  null

KtNamedFunction(826,884): 'fun cast2wrong(s: Sealed): Int {'
  null

KtParameterList(840,851): '(s: Sealed)'
  null

KtParameter(841,850): 's: Sealed'
  null

KtTypeReference(844,850): 'Sealed'
  null

KtUserType(844,850): 'Sealed'
  null

KtNameReferenceExpression(844,850): 'Sealed'
  null

KtTypeReference(853,856): 'Int'
  null

KtUserType(853,856): 'Int'
  null

KtNameReferenceExpression(853,856): 'Int'
  null

KtBlockExpression(857,884): '{'
  null

KtBinaryExpressionWithTypeRHS(863,869): 's as B'
  null

KtNameReferenceExpression(863,864): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(865,867): 'as'
  null

KtTypeReference(868,869): 'B'
  null

KtUserType(868,869): 'B'
  null

KtNameReferenceExpression(868,869): 'B'
  null

KtReturnExpression(874,882): 'return 2'
  null

KtConstantExpression(881,882): '2'
  null

KtNamedFunction(886,952): 'fun cast1sealed(s: Sealed): Int {'
  null

KtParameterList(901,912): '(s: Sealed)'
  null

KtParameter(902,911): 's: Sealed'
  null

KtTypeReference(905,911): 'Sealed'
  null

KtUserType(905,911): 'Sealed'
  null

KtNameReferenceExpression(905,911): 'Sealed'
  null

KtTypeReference(914,917): 'Int'
  null

KtUserType(914,917): 'Int'
  null

KtNameReferenceExpression(914,917): 'Int'
  null

KtBlockExpression(918,952): '{'
  null

KtBinaryExpressionWithTypeRHS(924,937): 's as Sealed.A'
  null

KtNameReferenceExpression(924,925): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(926,928): 'as'
  null

KtTypeReference(929,937): 'Sealed.A'
  null

KtUserType(929,937): 'Sealed.A'
  null

KtUserType(929,935): 'Sealed'
  null

KtNameReferenceExpression(929,935): 'Sealed'
  null

KtNameReferenceExpression(936,937): 'A'
  null

KtReturnExpression(942,950): 'return 1'
  null

KtConstantExpression(949,950): '1'
  null

KtNamedFunction(954,1020): 'fun cast2sealed(s: Sealed): Int {'
  null

KtParameterList(969,980): '(s: Sealed)'
  null

KtParameter(970,979): 's: Sealed'
  null

KtTypeReference(973,979): 'Sealed'
  null

KtUserType(973,979): 'Sealed'
  null

KtNameReferenceExpression(973,979): 'Sealed'
  null

KtTypeReference(982,985): 'Int'
  null

KtUserType(982,985): 'Int'
  null

KtNameReferenceExpression(982,985): 'Int'
  null

KtBlockExpression(986,1020): '{'
  null

KtBinaryExpressionWithTypeRHS(992,1005): 's as Sealed.B'
  null

KtNameReferenceExpression(992,993): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(994,996): 'as'
  null

KtTypeReference(997,1005): 'Sealed.B'
  null

KtUserType(997,1005): 'Sealed.B'
  null

KtUserType(997,1003): 'Sealed'
  null

KtNameReferenceExpression(997,1003): 'Sealed'
  null

KtNameReferenceExpression(1004,1005): 'B'
  null

KtReturnExpression(1010,1018): 'return 2'
  null

KtConstantExpression(1017,1018): '2'
  null

KtNamedFunction(1022,1087): 'fun cast1topLevel(s: Sealed): Int {'
  null

KtParameterList(1039,1050): '(s: Sealed)'
  null

KtParameter(1040,1049): 's: Sealed'
  null

KtTypeReference(1043,1049): 'Sealed'
  null

KtUserType(1043,1049): 'Sealed'
  null

KtNameReferenceExpression(1043,1049): 'Sealed'
  null

KtTypeReference(1052,1055): 'Int'
  null

KtUserType(1052,1055): 'Int'
  null

KtNameReferenceExpression(1052,1055): 'Int'
  null

KtBlockExpression(1056,1087): '{'
  null

KtBinaryExpressionWithTypeRHS(1062,1072): 's as foo.A'
  null

KtNameReferenceExpression(1062,1063): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1064,1066): 'as'
  null

KtTypeReference(1067,1072): 'foo.A'
  null

KtUserType(1067,1072): 'foo.A'
  null

KtUserType(1067,1070): 'foo'
  null

KtNameReferenceExpression(1067,1070): 'foo'
  null

KtNameReferenceExpression(1071,1072): 'A'
  null

KtReturnExpression(1077,1085): 'return 1'
  null

KtConstantExpression(1084,1085): '1'
  null

KtNamedFunction(1089,1154): 'fun cast2topLevel(s: Sealed): Int {'
  null

KtParameterList(1106,1117): '(s: Sealed)'
  null

KtParameter(1107,1116): 's: Sealed'
  null

KtTypeReference(1110,1116): 'Sealed'
  null

KtUserType(1110,1116): 'Sealed'
  null

KtNameReferenceExpression(1110,1116): 'Sealed'
  null

KtTypeReference(1119,1122): 'Int'
  null

KtUserType(1119,1122): 'Int'
  null

KtNameReferenceExpression(1119,1122): 'Int'
  null

KtBlockExpression(1123,1154): '{'
  null

KtBinaryExpressionWithTypeRHS(1129,1139): 's as foo.B'
  null

KtNameReferenceExpression(1129,1130): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1131,1133): 'as'
  null

KtTypeReference(1134,1139): 'foo.B'
  null

KtUserType(1134,1139): 'foo.B'
  null

KtUserType(1134,1137): 'foo'
  null

KtNameReferenceExpression(1134,1137): 'foo'
  null

KtNameReferenceExpression(1138,1139): 'B'
  null

KtReturnExpression(1144,1152): 'return 2'
  null

KtConstantExpression(1151,1152): '2'
  null

KtNamedFunction(1156,1211): 'fun cast3ok(s: Sealed): Int {'
  null

KtParameterList(1167,1178): '(s: Sealed)'
  null

KtParameter(1168,1177): 's: Sealed'
  null

KtTypeReference(1171,1177): 'Sealed'
  null

KtUserType(1171,1177): 'Sealed'
  null

KtNameReferenceExpression(1171,1177): 'Sealed'
  null

KtTypeReference(1180,1183): 'Int'
  null

KtUserType(1180,1183): 'Int'
  null

KtNameReferenceExpression(1180,1183): 'Int'
  null

KtBlockExpression(1184,1211): '{'
  null

KtBinaryExpressionWithTypeRHS(1190,1196): 's as C'
  null

KtNameReferenceExpression(1190,1191): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1192,1194): 'as'
  null

KtTypeReference(1195,1196): 'C'
  null

KtUserType(1195,1196): 'C'
  null

KtNameReferenceExpression(1195,1196): 'C'
  null

KtReturnExpression(1201,1209): 'return 3'
  null

KtConstantExpression(1208,1209): '3'
  null

KtNamedFunction(1213,1268): 'fun cast4ok(s: Sealed): Int {'
  null

KtParameterList(1224,1235): '(s: Sealed)'
  null

KtParameter(1225,1234): 's: Sealed'
  null

KtTypeReference(1228,1234): 'Sealed'
  null

KtUserType(1228,1234): 'Sealed'
  null

KtNameReferenceExpression(1228,1234): 'Sealed'
  null

KtTypeReference(1237,1240): 'Int'
  null

KtUserType(1237,1240): 'Int'
  null

KtNameReferenceExpression(1237,1240): 'Int'
  null

KtBlockExpression(1241,1268): '{'
  null

KtBinaryExpressionWithTypeRHS(1247,1253): 's as D'
  null

KtNameReferenceExpression(1247,1248): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1249,1251): 'as'
  null

KtTypeReference(1252,1253): 'D'
  null

KtUserType(1252,1253): 'D'
  null

KtNameReferenceExpression(1252,1253): 'D'
  null

KtReturnExpression(1258,1266): 'return 4'
  null

KtConstantExpression(1265,1266): '4'
  null

KtNamedFunction(1270,1317): 'fun equality1wrong(s: Sealed): Boolean = s == A'
  null

KtParameterList(1288,1299): '(s: Sealed)'
  null

KtParameter(1289,1298): 's: Sealed'
  null

KtTypeReference(1292,1298): 'Sealed'
  null

KtUserType(1292,1298): 'Sealed'
  null

KtNameReferenceExpression(1292,1298): 'Sealed'
  null

KtTypeReference(1301,1308): 'Boolean'
  null

KtUserType(1301,1308): 'Boolean'
  null

KtNameReferenceExpression(1301,1308): 'Boolean'
  null

KtBinaryExpression(1311,1317): 's == A'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        A -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1311,1312): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1313,1315): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        A -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1316,1317): 'A'
  null

KtNamedFunction(1318,1373): 'fun equality1sealed(s: Sealed): Boolean = s == Sealed.A'
  null

KtParameterList(1337,1348): '(s: Sealed)'
  null

KtParameter(1338,1347): 's: Sealed'
  null

KtTypeReference(1341,1347): 'Sealed'
  null

KtUserType(1341,1347): 'Sealed'
  null

KtNameReferenceExpression(1341,1347): 'Sealed'
  null

KtTypeReference(1350,1357): 'Boolean'
  null

KtUserType(1350,1357): 'Boolean'
  null

KtNameReferenceExpression(1350,1357): 'Boolean'
  null

KtBinaryExpression(1360,1373): 's == Sealed.A'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.A -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1360,1361): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1362,1364): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.A -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtDotQualifiedExpression(1365,1373): 'Sealed.A'
  null

KtNameReferenceExpression(1365,1371): 'Sealed'
  null

KtNameReferenceExpression(1372,1373): 'A'
  null

KtNamedFunction(1374,1428): 'fun equality1topLevel(s: Sealed): Boolean = s == foo.A'
  null

KtParameterList(1395,1406): '(s: Sealed)'
  null

KtParameter(1396,1405): 's: Sealed'
  null

KtTypeReference(1399,1405): 'Sealed'
  null

KtUserType(1399,1405): 'Sealed'
  null

KtNameReferenceExpression(1399,1405): 'Sealed'
  null

KtTypeReference(1408,1415): 'Boolean'
  null

KtUserType(1408,1415): 'Boolean'
  null

KtNameReferenceExpression(1408,1415): 'Boolean'
  null

KtBinaryExpression(1418,1428): 's == foo.A'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        foo.A -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1418,1419): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1420,1422): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        foo.A -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtDotQualifiedExpression(1423,1428): 'foo.A'
  null

KtNameReferenceExpression(1423,1426): 'foo'
  null

KtNameReferenceExpression(1427,1428): 'A'
  null

KtNamedFunction(1430,1481): 'fun equality2ok(s: Sealed): Boolean = s == Sealed.C'
  null

KtParameterList(1445,1456): '(s: Sealed)'
  null

KtParameter(1446,1455): 's: Sealed'
  null

KtTypeReference(1449,1455): 'Sealed'
  null

KtUserType(1449,1455): 'Sealed'
  null

KtNameReferenceExpression(1449,1455): 'Sealed'
  null

KtTypeReference(1458,1465): 'Boolean'
  null

KtUserType(1458,1465): 'Boolean'
  null

KtNameReferenceExpression(1458,1465): 'Boolean'
  null

KtBinaryExpression(1468,1481): 's == Sealed.C'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.C -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1468,1469): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1470,1472): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.C -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtDotQualifiedExpression(1473,1481): 'Sealed.C'
  null

KtNameReferenceExpression(1473,1479): 'Sealed'
  null

KtNameReferenceExpression(1480,1481): 'C'
  null

KtNamedFunction(1483,1539): 'fun equality3wrong(s: Sealed): Boolean = s == CompanionA'
  null

KtParameterList(1501,1512): '(s: Sealed)'
  null

KtParameter(1502,1511): 's: Sealed'
  null

KtTypeReference(1505,1511): 'Sealed'
  null

KtUserType(1505,1511): 'Sealed'
  null

KtNameReferenceExpression(1505,1511): 'Sealed'
  null

KtTypeReference(1514,1521): 'Boolean'
  null

KtUserType(1514,1521): 'Boolean'
  null

KtNameReferenceExpression(1514,1521): 'Boolean'
  null

KtBinaryExpression(1524,1539): 's == CompanionA'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        CompanionA -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1524,1525): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1526,1528): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        CompanionA -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1529,1539): 'CompanionA'
  null

KtNamedFunction(1540,1604): 'fun equality3sealed(s: Sealed): Boolean = s == Sealed.CompanionA'
  null

KtParameterList(1559,1570): '(s: Sealed)'
  null

KtParameter(1560,1569): 's: Sealed'
  null

KtTypeReference(1563,1569): 'Sealed'
  null

KtUserType(1563,1569): 'Sealed'
  null

KtNameReferenceExpression(1563,1569): 'Sealed'
  null

KtTypeReference(1572,1579): 'Boolean'
  null

KtUserType(1572,1579): 'Boolean'
  null

KtNameReferenceExpression(1572,1579): 'Boolean'
  null

KtBinaryExpression(1582,1604): 's == Sealed.CompanionA'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.CompanionA -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1582,1583): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1584,1586): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.CompanionA -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtDotQualifiedExpression(1587,1604): 'Sealed.CompanionA'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = Sealed
        isSafeNavigation = false
        type = bar.Sealed.Companion
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionA
        receiverType = null
        returnType = bar.Sealed
        symbol = val CompanionA: bar.Sealed
        contextParameters = []
        callableId = bar/Sealed.Companion.CompanionA
      typeArgumentsMapping = {}

KtNameReferenceExpression(1587,1593): 'Sealed'
  null

KtNameReferenceExpression(1594,1604): 'CompanionA'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = Sealed
        isSafeNavigation = false
        type = bar.Sealed.Companion
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = CompanionA
        receiverType = null
        returnType = bar.Sealed
        symbol = val CompanionA: bar.Sealed
        contextParameters = []
        callableId = bar/Sealed.Companion.CompanionA
      typeArgumentsMapping = {}

KtNamedFunction(1605,1668): 'fun equality3topLevel(s: Sealed): Boolean = s == foo.CompanionA'
  null

KtParameterList(1626,1637): '(s: Sealed)'
  null

KtParameter(1627,1636): 's: Sealed'
  null

KtTypeReference(1630,1636): 'Sealed'
  null

KtUserType(1630,1636): 'Sealed'
  null

KtNameReferenceExpression(1630,1636): 'Sealed'
  null

KtTypeReference(1639,1646): 'Boolean'
  null

KtUserType(1639,1646): 'Boolean'
  null

KtNameReferenceExpression(1639,1646): 'Boolean'
  null

KtBinaryExpression(1649,1668): 's == foo.CompanionA'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        foo.CompanionA -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1649,1650): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1651,1653): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        foo.CompanionA -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtDotQualifiedExpression(1654,1668): 'foo.CompanionA'
  null

KtNameReferenceExpression(1654,1657): 'foo'
  null

KtNameReferenceExpression(1658,1668): 'CompanionA'
  null

KtNamedFunction(1670,1714): 'fun equality4ok(s: Sealed): Boolean = s == F'
  null

KtParameterList(1685,1696): '(s: Sealed)'
  null

KtParameter(1686,1695): 's: Sealed'
  null

KtTypeReference(1689,1695): 'Sealed'
  null

KtUserType(1689,1695): 'Sealed'
  null

KtNameReferenceExpression(1689,1695): 'Sealed'
  null

KtTypeReference(1698,1705): 'Boolean'
  null

KtUserType(1698,1705): 'Boolean'
  null

KtNameReferenceExpression(1698,1705): 'Boolean'
  null

KtBinaryExpression(1708,1714): 's == F'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        F -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1708,1709): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1710,1712): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        F -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1713,1714): 'F'
  null

KtNamedFunction(1715,1770): 'fun equality4sealed(s: Sealed): Boolean = s == Sealed.F'
  null

KtParameterList(1734,1745): '(s: Sealed)'
  null

KtParameter(1735,1744): 's: Sealed'
  null

KtTypeReference(1738,1744): 'Sealed'
  null

KtUserType(1738,1744): 'Sealed'
  null

KtNameReferenceExpression(1738,1744): 'Sealed'
  null

KtTypeReference(1747,1754): 'Boolean'
  null

KtUserType(1747,1754): 'Boolean'
  null

KtNameReferenceExpression(1747,1754): 'Boolean'
  null

KtBinaryExpression(1757,1770): 's == Sealed.F'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.F -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1757,1758): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1759,1761): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Sealed.F -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtDotQualifiedExpression(1762,1770): 'Sealed.F'
  null

KtNameReferenceExpression(1762,1768): 'Sealed'
  null

KtNameReferenceExpression(1769,1770): 'F'
  null

KtNamedFunction(1771,1825): 'fun equality4topLevel(s: Sealed): Boolean = s == foo.F'
  null

KtParameterList(1792,1803): '(s: Sealed)'
  null

KtParameter(1793,1802): 's: Sealed'
  null

KtTypeReference(1796,1802): 'Sealed'
  null

KtUserType(1796,1802): 'Sealed'
  null

KtNameReferenceExpression(1796,1802): 'Sealed'
  null

KtTypeReference(1805,1812): 'Boolean'
  null

KtUserType(1805,1812): 'Boolean'
  null

KtNameReferenceExpression(1805,1812): 'Boolean'
  null

KtBinaryExpression(1815,1825): 's == foo.F'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        foo.F -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1815,1816): 's'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = s
        receiverType = null
        returnType = bar.Sealed
        symbol = s: bar.Sealed
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(1817,1819): '=='
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = s
        isSafeNavigation = false
        type = bar.Sealed
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Boolean
        symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
        valueParameters = [
          KaVariableSignature:
            name = other
            receiverType = null
            returnType = kotlin.Any?
            symbol = other: kotlin.Any?
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = kotlin/Any.equals
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        foo.F -> (KaVariableSignature:
          name = other
          receiverType = null
          returnType = kotlin.Any?
          symbol = other: kotlin.Any?
          contextParameters = []
          callableId = null)
      }

KtDotQualifiedExpression(1820,1825): 'foo.F'
  null

KtNameReferenceExpression(1820,1823): 'foo'
  null

KtNameReferenceExpression(1824,1825): 'F'
  null
