KtFile: 'inWhen.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,141): 'sealed class MyClass {'
  null

KtDeclarationModifierList(78,84): 'sealed'
  null

KtClassBody(99,141): '{'
  null

KtObjectDeclaration(105,139): 'object NestedInheritor : MyClass()'
  null

KtSuperTypeList(130,139): 'MyClass()'
  null

KtSuperTypeCallEntry(130,139): 'MyClass()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = <constructor>(): MyClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(130,137): 'MyClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = <constructor>(): MyClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(130,137): 'MyClass'
  null

KtUserType(130,137): 'MyClass'
  null

KtNameReferenceExpression(130,137): 'MyClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = <constructor>(): MyClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(137,139): '()'
  null

KtNamedFunction(143,176): 'fun receiveMyClass(m: MyClass) {}'
  null

KtParameterList(161,173): '(m: MyClass)'
  null

KtParameter(162,172): 'm: MyClass'
  null

KtTypeReference(165,172): 'MyClass'
  null

KtUserType(165,172): 'MyClass'
  null

KtNameReferenceExpression(165,172): 'MyClass'
  null

KtBlockExpression(174,176): '{}'
  null

KtNamedFunction(178,335): 'fun sealed1(b: Boolean, myClass: MyClass) {'
  null

KtParameterList(189,219): '(b: Boolean, myClass: MyClass)'
  null

KtParameter(190,200): 'b: Boolean'
  null

KtTypeReference(193,200): 'Boolean'
  null

KtUserType(193,200): 'Boolean'
  null

KtNameReferenceExpression(193,200): 'Boolean'
  null

KtParameter(202,218): 'myClass: MyClass'
  null

KtTypeReference(211,218): 'MyClass'
  null

KtUserType(211,218): 'MyClass'
  null

KtNameReferenceExpression(211,218): 'MyClass'
  null

KtBlockExpression(220,335): '{'
  null

KtCallExpression(226,333): 'receiveMyClass('
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveMyClass(m: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = MyClass
            symbol = m: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> myClass
                    else -> NestedInheritor
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = MyClass
          symbol = m: MyClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(226,240): 'receiveMyClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveMyClass(m: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = MyClass
            symbol = m: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> myClass
                    else -> NestedInheritor
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = MyClass
          symbol = m: MyClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(240,333): '('
  null

KtValueArgument(250,327): 'when {'
  null

KtWhenExpression(250,327): 'when {'
  null

KtWhenEntry(269,281): 'b -> myClass'
  null

KtWhenConditionWithExpression(269,270): 'b'
  null

KtNameReferenceExpression(269,270): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(274,281): 'myClass'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = myClass
        receiverType = null
        returnType = MyClass
        symbol = myClass: MyClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(294,317): 'else -> NestedInheritor'
  null

KtNameReferenceExpression(302,317): 'NestedInheritor'
  null

KtNamedFunction(337,512): 'fun sealed2(b: Boolean, subClass: MyClass.NestedInheritor) {'
  null

KtParameterList(348,395): '(b: Boolean, subClass: MyClass.NestedInheritor)'
  null

KtParameter(349,359): 'b: Boolean'
  null

KtTypeReference(352,359): 'Boolean'
  null

KtUserType(352,359): 'Boolean'
  null

KtNameReferenceExpression(352,359): 'Boolean'
  null

KtParameter(361,394): 'subClass: MyClass.NestedInheritor'
  null

KtTypeReference(371,394): 'MyClass.NestedInheritor'
  null

KtUserType(371,394): 'MyClass.NestedInheritor'
  null

KtUserType(371,378): 'MyClass'
  null

KtNameReferenceExpression(371,378): 'MyClass'
  null

KtNameReferenceExpression(379,394): 'NestedInheritor'
  null

KtBlockExpression(396,512): '{'
  null

KtCallExpression(402,510): 'receiveMyClass('
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveMyClass(m: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = MyClass
            symbol = m: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> subClass
                    else -> NestedInheritor
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = MyClass
          symbol = m: MyClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(402,416): 'receiveMyClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveMyClass(m: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = MyClass
            symbol = m: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> subClass
                    else -> NestedInheritor
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = MyClass
          symbol = m: MyClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(416,510): '('
  null

KtValueArgument(426,504): 'when {'
  null

KtWhenExpression(426,504): 'when {'
  null

KtWhenEntry(445,458): 'b -> subClass'
  null

KtWhenConditionWithExpression(445,446): 'b'
  null

KtNameReferenceExpression(445,446): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(450,458): 'subClass'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = subClass
        receiverType = null
        returnType = MyClass.NestedInheritor
        symbol = subClass: MyClass.NestedInheritor
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(471,494): 'else -> NestedInheritor'
  null

KtNameReferenceExpression(479,494): 'NestedInheritor'
  null

KtNamedFunction(514,737): 'fun sealed3(b1: Boolean, b2: Boolean, subClass: MyClass.NestedInheritor) {'
  null

KtParameterList(525,586): '(b1: Boolean, b2: Boolean, subClass: MyClass.NestedInheritor)'
  null

KtParameter(526,537): 'b1: Boolean'
  null

KtTypeReference(530,537): 'Boolean'
  null

KtUserType(530,537): 'Boolean'
  null

KtNameReferenceExpression(530,537): 'Boolean'
  null

KtParameter(539,550): 'b2: Boolean'
  null

KtTypeReference(543,550): 'Boolean'
  null

KtUserType(543,550): 'Boolean'
  null

KtNameReferenceExpression(543,550): 'Boolean'
  null

KtParameter(552,585): 'subClass: MyClass.NestedInheritor'
  null

KtTypeReference(562,585): 'MyClass.NestedInheritor'
  null

KtUserType(562,585): 'MyClass.NestedInheritor'
  null

KtUserType(562,569): 'MyClass'
  null

KtNameReferenceExpression(562,569): 'MyClass'
  null

KtNameReferenceExpression(570,585): 'NestedInheritor'
  null

KtBlockExpression(587,737): '{'
  null

KtCallExpression(593,735): 'receiveMyClass('
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveMyClass(m: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = MyClass
            symbol = m: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b1 -> subClass
                    b2 -> NestedInheritor
                    else -> OtherInheritor
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = MyClass
          symbol = m: MyClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(593,607): 'receiveMyClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveMyClass(m: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = MyClass
            symbol = m: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b1 -> subClass
                    b2 -> NestedInheritor
                    else -> OtherInheritor
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = MyClass
          symbol = m: MyClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(607,735): '('
  null

KtValueArgument(617,729): 'when {'
  null

KtWhenExpression(617,729): 'when {'
  null

KtWhenEntry(636,650): 'b1 -> subClass'
  null

KtWhenConditionWithExpression(636,638): 'b1'
  null

KtNameReferenceExpression(636,638): 'b1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b1
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b1: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(642,650): 'subClass'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = subClass
        receiverType = null
        returnType = MyClass.NestedInheritor
        symbol = subClass: MyClass.NestedInheritor
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(663,684): 'b2 -> NestedInheritor'
  null

KtWhenConditionWithExpression(663,665): 'b2'
  null

KtNameReferenceExpression(663,665): 'b2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b2
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b2: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(669,684): 'NestedInheritor'
  null

KtWhenEntry(697,719): 'else -> OtherInheritor'
  null

KtNameReferenceExpression(705,719): 'OtherInheritor'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'OtherInheritor'.>

KtClass(739,877): 'sealed class OtherClass {'
  null

KtDeclarationModifierList(739,745): 'sealed'
  null

KtClassBody(763,877): '{'
  null

KtClass(769,803): 'abstract class Base : OtherClass()'
  null

KtDeclarationModifierList(769,777): 'abstract'
  null

KtSuperTypeList(791,803): 'OtherClass()'
  null

KtSuperTypeCallEntry(791,803): 'OtherClass()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass
        symbol = <constructor>(): OtherClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(791,801): 'OtherClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass
        symbol = <constructor>(): OtherClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(791,801): 'OtherClass'
  null

KtUserType(791,801): 'OtherClass'
  null

KtNameReferenceExpression(791,801): 'OtherClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass
        symbol = <constructor>(): OtherClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(801,803): '()'
  null

KtClass(809,825): 'class A : Base()'
  null

KtSuperTypeList(819,825): 'Base()'
  null

KtSuperTypeCallEntry(819,825): 'Base()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass.Base
        symbol = <constructor>(): OtherClass.Base
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(819,823): 'Base'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass.Base
        symbol = <constructor>(): OtherClass.Base
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(819,823): 'Base'
  null

KtUserType(819,823): 'Base'
  null

KtNameReferenceExpression(819,823): 'Base'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass.Base
        symbol = <constructor>(): OtherClass.Base
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(823,825): '()'
  null

KtClass(830,846): 'class B : Base()'
  null

KtSuperTypeList(840,846): 'Base()'
  null

KtSuperTypeCallEntry(840,846): 'Base()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass.Base
        symbol = <constructor>(): OtherClass.Base
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(840,844): 'Base'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass.Base
        symbol = <constructor>(): OtherClass.Base
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(840,844): 'Base'
  null

KtUserType(840,844): 'Base'
  null

KtNameReferenceExpression(840,844): 'Base'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass.Base
        symbol = <constructor>(): OtherClass.Base
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(844,846): '()'
  null

KtObjectDeclaration(852,875): 'object C : OtherClass()'
  null

KtSuperTypeList(863,875): 'OtherClass()'
  null

KtSuperTypeCallEntry(863,875): 'OtherClass()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass
        symbol = <constructor>(): OtherClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(863,873): 'OtherClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass
        symbol = <constructor>(): OtherClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(863,873): 'OtherClass'
  null

KtUserType(863,873): 'OtherClass'
  null

KtNameReferenceExpression(863,873): 'OtherClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OtherClass
        symbol = <constructor>(): OtherClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(873,875): '()'
  null

KtNamedFunction(879,918): 'fun receiveOtherClass(m: OtherClass) {}'
  null

KtParameterList(900,915): '(m: OtherClass)'
  null

KtParameter(901,914): 'm: OtherClass'
  null

KtTypeReference(904,914): 'OtherClass'
  null

KtUserType(904,914): 'OtherClass'
  null

KtNameReferenceExpression(904,914): 'OtherClass'
  null

KtBlockExpression(916,918): '{}'
  null

KtNamedFunction(920,1141): 'fun other(b1: Boolean, b2: Boolean, subClass1: OtherClass.A, subClass2: OtherClass.B) {'
  null

KtParameterList(929,1005): '(b1: Boolean, b2: Boolean, subClass1: OtherClass.A, subClass2: OtherClass.B)'
  null

KtParameter(930,941): 'b1: Boolean'
  null

KtTypeReference(934,941): 'Boolean'
  null

KtUserType(934,941): 'Boolean'
  null

KtNameReferenceExpression(934,941): 'Boolean'
  null

KtParameter(943,954): 'b2: Boolean'
  null

KtTypeReference(947,954): 'Boolean'
  null

KtUserType(947,954): 'Boolean'
  null

KtNameReferenceExpression(947,954): 'Boolean'
  null

KtParameter(956,979): 'subClass1: OtherClass.A'
  null

KtTypeReference(967,979): 'OtherClass.A'
  null

KtUserType(967,979): 'OtherClass.A'
  null

KtUserType(967,977): 'OtherClass'
  null

KtNameReferenceExpression(967,977): 'OtherClass'
  null

KtNameReferenceExpression(978,979): 'A'
  null

KtParameter(981,1004): 'subClass2: OtherClass.B'
  null

KtTypeReference(992,1004): 'OtherClass.B'
  null

KtUserType(992,1004): 'OtherClass.B'
  null

KtUserType(992,1002): 'OtherClass'
  null

KtNameReferenceExpression(992,1002): 'OtherClass'
  null

KtNameReferenceExpression(1003,1004): 'B'
  null

KtBlockExpression(1006,1141): '{'
  null

KtCallExpression(1012,1139): 'receiveOtherClass('
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveOtherClass(m: OtherClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = OtherClass
            symbol = m: OtherClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveOtherClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b1 -> subClass1
                    b2 -> subClass2
                    else -> C
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = OtherClass
          symbol = m: OtherClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1012,1029): 'receiveOtherClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveOtherClass(m: OtherClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = OtherClass
            symbol = m: OtherClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveOtherClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b1 -> subClass1
                    b2 -> subClass2
                    else -> C
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = OtherClass
          symbol = m: OtherClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(1029,1139): '('
  null

KtValueArgument(1039,1133): 'when {'
  null

KtWhenExpression(1039,1133): 'when {'
  null

KtWhenEntry(1058,1073): 'b1 -> subClass1'
  null

KtWhenConditionWithExpression(1058,1060): 'b1'
  null

KtNameReferenceExpression(1058,1060): 'b1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b1
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b1: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(1064,1073): 'subClass1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = subClass1
        receiverType = null
        returnType = OtherClass.A
        symbol = subClass1: OtherClass.A
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(1086,1101): 'b2 -> subClass2'
  null

KtWhenConditionWithExpression(1086,1088): 'b2'
  null

KtNameReferenceExpression(1086,1088): 'b2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b2
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b2: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(1092,1101): 'subClass2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = subClass2
        receiverType = null
        returnType = OtherClass.B
        symbol = subClass2: OtherClass.B
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(1114,1123): 'else -> C'
  null

KtNameReferenceExpression(1122,1123): 'C'
  null

KtClass(1143,1219): 'open class OpenClass {'
  null

KtDeclarationModifierList(1143,1147): 'open'
  null

KtClassBody(1164,1219): '{'
  null

KtObjectDeclaration(1170,1217): 'object NestedInheritorOfOpenClass : OpenClass()'
  null

KtSuperTypeList(1206,1217): 'OpenClass()'
  null

KtSuperTypeCallEntry(1206,1217): 'OpenClass()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OpenClass
        symbol = <constructor>(): OpenClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(1206,1215): 'OpenClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OpenClass
        symbol = <constructor>(): OpenClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(1206,1215): 'OpenClass'
  null

KtUserType(1206,1215): 'OpenClass'
  null

KtNameReferenceExpression(1206,1215): 'OpenClass'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = OpenClass
        symbol = <constructor>(): OpenClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(1215,1217): '()'
  null

KtNamedFunction(1221,1258): 'fun receiveOpenClass(m: OpenClass) {}'
  null

KtParameterList(1241,1255): '(m: OpenClass)'
  null

KtParameter(1242,1254): 'm: OpenClass'
  null

KtTypeReference(1245,1254): 'OpenClass'
  null

KtUserType(1245,1254): 'OpenClass'
  null

KtNameReferenceExpression(1245,1254): 'OpenClass'
  null

KtBlockExpression(1256,1258): '{}'
  null

KtNamedFunction(1260,1434): 'fun open1(b: Boolean, openClass: OpenClass) {'
  null

KtParameterList(1269,1303): '(b: Boolean, openClass: OpenClass)'
  null

KtParameter(1270,1280): 'b: Boolean'
  null

KtTypeReference(1273,1280): 'Boolean'
  null

KtUserType(1273,1280): 'Boolean'
  null

KtNameReferenceExpression(1273,1280): 'Boolean'
  null

KtParameter(1282,1302): 'openClass: OpenClass'
  null

KtTypeReference(1293,1302): 'OpenClass'
  null

KtUserType(1293,1302): 'OpenClass'
  null

KtNameReferenceExpression(1293,1302): 'OpenClass'
  null

KtBlockExpression(1304,1434): '{'
  null

KtCallExpression(1310,1432): 'receiveOpenClass('
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveOpenClass(m: OpenClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = OpenClass
            symbol = m: OpenClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveOpenClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> openClass
                    else -> NestedInheritorOfOpenClass
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = OpenClass
          symbol = m: OpenClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1310,1326): 'receiveOpenClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveOpenClass(m: OpenClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = OpenClass
            symbol = m: OpenClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveOpenClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> openClass
                    else -> NestedInheritorOfOpenClass
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = OpenClass
          symbol = m: OpenClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(1326,1432): '('
  null

KtValueArgument(1336,1426): 'when {'
  null

KtWhenExpression(1336,1426): 'when {'
  null

KtWhenEntry(1355,1369): 'b -> openClass'
  null

KtWhenConditionWithExpression(1355,1356): 'b'
  null

KtNameReferenceExpression(1355,1356): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

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

KtWhenEntry(1382,1416): 'else -> NestedInheritorOfOpenClass'
  null

KtNameReferenceExpression(1390,1416): 'NestedInheritorOfOpenClass'
  null

KtNamedFunction(1436,1635): 'fun open2(b: Boolean, subClass: OpenClass.NestedInheritorOfOpenClass) {'
  null

KtParameterList(1445,1505): '(b: Boolean, subClass: OpenClass.NestedInheritorOfOpenClass)'
  null

KtParameter(1446,1456): 'b: Boolean'
  null

KtTypeReference(1449,1456): 'Boolean'
  null

KtUserType(1449,1456): 'Boolean'
  null

KtNameReferenceExpression(1449,1456): 'Boolean'
  null

KtParameter(1458,1504): 'subClass: OpenClass.NestedInheritorOfOpenClass'
  null

KtTypeReference(1468,1504): 'OpenClass.NestedInheritorOfOpenClass'
  null

KtUserType(1468,1504): 'OpenClass.NestedInheritorOfOpenClass'
  null

KtUserType(1468,1477): 'OpenClass'
  null

KtNameReferenceExpression(1468,1477): 'OpenClass'
  null

KtNameReferenceExpression(1478,1504): 'NestedInheritorOfOpenClass'
  null

KtBlockExpression(1506,1635): '{'
  null

KtCallExpression(1512,1633): 'receiveOpenClass('
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveOpenClass(m: OpenClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = OpenClass
            symbol = m: OpenClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveOpenClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> subClass
                    else -> NestedInheritorOfOpenClass
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = OpenClass
          symbol = m: OpenClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(1512,1528): 'receiveOpenClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receiveOpenClass(m: OpenClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = m
            receiverType = null
            returnType = OpenClass
            symbol = m: OpenClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receiveOpenClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        when {
                    b -> subClass
                    else -> NestedInheritorOfOpenClass
                } -> (KaVariableSignature:
          name = m
          receiverType = null
          returnType = OpenClass
          symbol = m: OpenClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(1528,1633): '('
  null

KtValueArgument(1538,1627): 'when {'
  null

KtWhenExpression(1538,1627): 'when {'
  null

KtWhenEntry(1557,1570): 'b -> subClass'
  null

KtWhenConditionWithExpression(1557,1558): 'b'
  null

KtNameReferenceExpression(1557,1558): 'b'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = kotlin.Boolean
        symbol = b: kotlin.Boolean
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(1562,1570): 'subClass'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = subClass
        receiverType = null
        returnType = OpenClass.NestedInheritorOfOpenClass
        symbol = subClass: OpenClass.NestedInheritorOfOpenClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(1583,1617): 'else -> NestedInheritorOfOpenClass'
  null

KtNameReferenceExpression(1591,1617): 'NestedInheritorOfOpenClass'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'NestedInheritorOfOpenClass'.>
