KtFile: 'test.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtNamedFunction(27,216): '// FILE: test.kt'
  null

KtParameterList(67,85): '(instance: JClass)'
  null

KtParameter(68,84): 'instance: JClass'
  null

KtTypeReference(78,84): 'JClass'
  null

KtUserType(78,84): 'JClass'
  null

KtNameReferenceExpression(78,84): 'JClass'
  null

KtTypeReference(87,90): 'Int'
  null

KtUserType(87,90): 'Int'
  null

KtNameReferenceExpression(87,90): 'Int'
  null

KtWhenExpression(93,216): 'when (instance) {'
  null

KtNameReferenceExpression(99,107): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = JClass
        symbol = instance: JClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(115,145): 'is JCOption1 -> instance.prop1'
  null

KtWhenConditionIsPattern(115,127): 'is JCOption1'
  null

KtTypeReference(118,127): 'JCOption1'
  null

KtUserType(118,127): 'JCOption1'
  null

KtNameReferenceExpression(118,127): 'JCOption1'
  null

KtDotQualifiedExpression(131,145): 'instance.prop1'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'prop1' on receiver of type 'JClass'.>

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

KtNameReferenceExpression(140,145): 'prop1'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'prop1' on receiver of type 'JClass'.>

KtWhenEntry(151,181): 'is JCOption2 -> instance.prop2'
  null

KtWhenConditionIsPattern(151,163): 'is JCOption2'
  null

KtTypeReference(154,163): 'JCOption2'
  null

KtUserType(154,163): 'JCOption2'
  null

KtNameReferenceExpression(154,163): 'JCOption2'
  null

KtDotQualifiedExpression(167,181): 'instance.prop2'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'prop2' on receiver of type 'JClass'.>

KtNameReferenceExpression(167,175): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = JClass
        symbol = instance: JClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(176,181): 'prop2'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'prop2' on receiver of type 'JClass'.>

KtWhenEntry(187,213): 'is Nested -> instance.prop'
  null

KtWhenConditionIsPattern(187,196): 'is Nested'
  null

KtTypeReference(190,196): 'Nested'
  null

KtUserType(190,196): 'Nested'
  null

KtNameReferenceExpression(190,196): 'Nested'
  null

KtDotQualifiedExpression(200,213): 'instance.prop'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'prop' on receiver of type 'JClass'.>

KtNameReferenceExpression(200,208): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = JClass
        symbol = instance: JClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(209,213): 'prop'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'prop' on receiver of type 'JClass'.>

KtNamedFunction(218,426): 'fun testSealedJClassInIf(instance: SealedJClass): Int {'
  null

KtParameterList(242,266): '(instance: SealedJClass)'
  null

KtParameter(243,265): 'instance: SealedJClass'
  null

KtTypeReference(253,265): 'SealedJClass'
  null

KtUserType(253,265): 'SealedJClass'
  null

KtNameReferenceExpression(253,265): 'SealedJClass'
  null

KtTypeReference(268,271): 'Int'
  null

KtUserType(268,271): 'Int'
  null

KtNameReferenceExpression(268,271): 'Int'
  null

KtBlockExpression(272,426): '{'
  null

KtIfExpression(278,342): 'if (instance is SCOption1) {'
  null

KtContainerNode(282,303): 'instance is SCOption1'
  null

KtIsExpression(282,303): 'instance is SCOption1'
  null

KtNameReferenceExpression(282,290): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(291,293): 'is'
  null

KtTypeReference(294,303): 'SCOption1'
  null

KtUserType(294,303): 'SCOption1'
  null

KtNameReferenceExpression(294,303): 'SCOption1'
  null

KtContainerNodeForControlStructureBody(305,342): '{'
  null

KtBlockExpression(305,342): '{'
  null

KtReturnExpression(315,336): 'return instance.prop1'
  null

KtDotQualifiedExpression(322,336): 'instance.prop1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption1
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption1.prop1
      typeArgumentsMapping = {}

KtNameReferenceExpression(322,330): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(331,336): 'prop1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption1
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption1.prop1
      typeArgumentsMapping = {}

KtIfExpression(347,411): 'if (instance is SCOption2) {'
  null

KtContainerNode(351,372): 'instance is SCOption2'
  null

KtIsExpression(351,372): 'instance is SCOption2'
  null

KtNameReferenceExpression(351,359): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(360,362): 'is'
  null

KtTypeReference(363,372): 'SCOption2'
  null

KtUserType(363,372): 'SCOption2'
  null

KtNameReferenceExpression(363,372): 'SCOption2'
  null

KtContainerNodeForControlStructureBody(374,411): '{'
  null

KtBlockExpression(374,411): '{'
  null

KtReturnExpression(384,405): 'return instance.prop2'
  null

KtDotQualifiedExpression(391,405): 'instance.prop2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption2
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption2.prop2
      typeArgumentsMapping = {}

KtNameReferenceExpression(391,399): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(400,405): 'prop2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption2
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption2.prop2
      typeArgumentsMapping = {}

KtReturnExpression(416,424): 'return 0'
  null

KtConstantExpression(423,424): '0'
  null

KtNamedFunction(428,586): 'fun testSealedJClassInWhenWithSubject(instance: SealedJClass): Int = when (instance) {'
  null

KtParameterList(465,489): '(instance: SealedJClass)'
  null

KtParameter(466,488): 'instance: SealedJClass'
  null

KtTypeReference(476,488): 'SealedJClass'
  null

KtUserType(476,488): 'SealedJClass'
  null

KtNameReferenceExpression(476,488): 'SealedJClass'
  null

KtTypeReference(491,494): 'Int'
  null

KtUserType(491,494): 'Int'
  null

KtNameReferenceExpression(491,494): 'Int'
  null

KtWhenExpression(497,586): 'when (instance) {'
  null

KtNameReferenceExpression(503,511): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtWhenEntry(519,549): 'is SCOption1 -> instance.prop1'
  null

KtWhenConditionIsPattern(519,531): 'is SCOption1'
  null

KtTypeReference(522,531): 'SCOption1'
  null

KtUserType(522,531): 'SCOption1'
  null

KtNameReferenceExpression(522,531): 'SCOption1'
  null

KtDotQualifiedExpression(535,549): 'instance.prop1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption1
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption1.prop1
      typeArgumentsMapping = {}

KtNameReferenceExpression(535,543): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(544,549): 'prop1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption1
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption1.prop1
      typeArgumentsMapping = {}

KtWhenEntry(554,584): 'is SCOption2 -> instance.prop2'
  null

KtWhenConditionIsPattern(554,566): 'is SCOption2'
  null

KtTypeReference(557,566): 'SCOption2'
  null

KtUserType(557,566): 'SCOption2'
  null

KtNameReferenceExpression(557,566): 'SCOption2'
  null

KtDotQualifiedExpression(570,584): 'instance.prop2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption2
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption2.prop2
      typeArgumentsMapping = {}

KtNameReferenceExpression(570,578): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(579,584): 'prop2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption2
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption2.prop2
      typeArgumentsMapping = {}

KtNamedFunction(588,756): 'fun testSealedJClassInWhen(instance: SealedJClass): Int = when {'
  null

KtParameterList(614,638): '(instance: SealedJClass)'
  null

KtParameter(615,637): 'instance: SealedJClass'
  null

KtTypeReference(625,637): 'SealedJClass'
  null

KtUserType(625,637): 'SealedJClass'
  null

KtNameReferenceExpression(625,637): 'SealedJClass'
  null

KtTypeReference(640,643): 'Int'
  null

KtUserType(640,643): 'Int'
  null

KtNameReferenceExpression(640,643): 'Int'
  null

KtWhenExpression(646,756): 'when {'
  null

KtWhenEntry(657,696): 'instance is SCOption1 -> instance.prop1'
  null

KtWhenConditionWithExpression(657,678): 'instance is SCOption1'
  null

KtIsExpression(657,678): 'instance is SCOption1'
  null

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

KtOperationReferenceExpression(666,668): 'is'
  null

KtTypeReference(669,678): 'SCOption1'
  null

KtUserType(669,678): 'SCOption1'
  null

KtNameReferenceExpression(669,678): 'SCOption1'
  null

KtDotQualifiedExpression(682,696): 'instance.prop1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption1
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption1.prop1
      typeArgumentsMapping = {}

KtNameReferenceExpression(682,690): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(691,696): 'prop1'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption1
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption1.prop1
      typeArgumentsMapping = {}

KtWhenEntry(701,740): 'instance is SCOption2 -> instance.prop2'
  null

KtWhenConditionWithExpression(701,722): 'instance is SCOption2'
  null

KtIsExpression(701,722): 'instance is SCOption2'
  null

KtNameReferenceExpression(701,709): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(710,712): 'is'
  null

KtTypeReference(713,722): 'SCOption2'
  null

KtUserType(713,722): 'SCOption2'
  null

KtNameReferenceExpression(713,722): 'SCOption2'
  null

KtDotQualifiedExpression(726,740): 'instance.prop2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption2
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption2.prop2
      typeArgumentsMapping = {}

KtNameReferenceExpression(726,734): 'instance'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance
        receiverType = null
        returnType = SealedJClass
        symbol = instance: SealedJClass
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtNameReferenceExpression(735,740): 'prop2'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance
          isSafeNavigation = false
          type = SealedJClass
        type = SealedJClass.SCOption2
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = var prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedJClass.SCOption2.prop2
      typeArgumentsMapping = {}

KtWhenEntry(745,754): 'else -> 0'
  null

KtConstantExpression(753,754): '0'
  null
