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'
  KaSymbolResolutionSuccess:
    symbols = [
      /JClass
    ]

KtUserType(78,84): 'JClass'
  KaSymbolResolutionSuccess:
    symbols = [
      /JClass
    ]

KtNameReferenceExpression(78,84): 'JClass'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /JClass
    ]

KtTypeReference(87,90): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(87,90): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(87,90): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

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

KtNameReferenceExpression(99,107): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: JClass
    ]

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

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

KtTypeReference(118,127): 'JCOption1'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'JCOption1'.>

KtUserType(118,127): 'JCOption1'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'JCOption1'.>

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

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

KtNameReferenceExpression(131,139): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: JClass
    ]

KtNameReferenceExpression(140,145): 'prop1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    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'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'JCOption2'.>

KtUserType(154,163): 'JCOption2'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'JCOption2'.>

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

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

KtNameReferenceExpression(167,175): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: JClass
    ]

KtNameReferenceExpression(176,181): 'prop2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    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'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'Nested'.>

KtUserType(190,196): 'Nested'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'Nested'.>

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

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

KtNameReferenceExpression(200,208): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: JClass
    ]

KtNameReferenceExpression(209,213): 'prop'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    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'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

KtUserType(253,265): 'SealedJClass'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

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

KtTypeReference(268,271): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(268,271): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(268,271): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

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'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtOperationReferenceExpression(291,293): 'is'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtTypeReference(294,303): 'SCOption1'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtUserType(294,303): 'SCOption1'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtNameReferenceExpression(294,303): 'SCOption1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtContainerNodeForControlStructureBody(305,342): '{'
  null

KtBlockExpression(305,342): '{'
  null

KtReturnExpression(315,336): 'return instance.prop1'
  KaSymbolResolutionSuccess:
    symbols = [
      /testSealedJClassInIf(instance: SealedJClass): kotlin.Int
    ]

KtDotQualifiedExpression(322,336): 'instance.prop1'
  KaSymbolResolutionSuccess:
    symbols = [
      var prop1: kotlin.Int
    ]

KtNameReferenceExpression(322,330): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtNameReferenceExpression(331,336): 'prop1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      var prop1: kotlin.Int
    ]

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'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtOperationReferenceExpression(360,362): 'is'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtTypeReference(363,372): 'SCOption2'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtUserType(363,372): 'SCOption2'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtNameReferenceExpression(363,372): 'SCOption2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtContainerNodeForControlStructureBody(374,411): '{'
  null

KtBlockExpression(374,411): '{'
  null

KtReturnExpression(384,405): 'return instance.prop2'
  KaSymbolResolutionSuccess:
    symbols = [
      /testSealedJClassInIf(instance: SealedJClass): kotlin.Int
    ]

KtDotQualifiedExpression(391,405): 'instance.prop2'
  KaSymbolResolutionSuccess:
    symbols = [
      var prop2: kotlin.Int
    ]

KtNameReferenceExpression(391,399): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtNameReferenceExpression(400,405): 'prop2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      var prop2: kotlin.Int
    ]

KtReturnExpression(416,424): 'return 0'
  KaSymbolResolutionSuccess:
    symbols = [
      /testSealedJClassInIf(instance: SealedJClass): kotlin.Int
    ]

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'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

KtUserType(476,488): 'SealedJClass'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

KtNameReferenceExpression(476,488): 'SealedJClass'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

KtTypeReference(491,494): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(491,494): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(491,494): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

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

KtNameReferenceExpression(503,511): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

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

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

KtTypeReference(522,531): 'SCOption1'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtUserType(522,531): 'SCOption1'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtNameReferenceExpression(522,531): 'SCOption1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtDotQualifiedExpression(535,549): 'instance.prop1'
  KaSymbolResolutionSuccess:
    symbols = [
      var prop1: kotlin.Int
    ]

KtNameReferenceExpression(535,543): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtNameReferenceExpression(544,549): 'prop1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      var prop1: kotlin.Int
    ]

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

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

KtTypeReference(557,566): 'SCOption2'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtUserType(557,566): 'SCOption2'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtNameReferenceExpression(557,566): 'SCOption2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtDotQualifiedExpression(570,584): 'instance.prop2'
  KaSymbolResolutionSuccess:
    symbols = [
      var prop2: kotlin.Int
    ]

KtNameReferenceExpression(570,578): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtNameReferenceExpression(579,584): 'prop2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      var prop2: kotlin.Int
    ]

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'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

KtUserType(625,637): 'SealedJClass'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

KtNameReferenceExpression(625,637): 'SealedJClass'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass
    ]

KtTypeReference(640,643): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(640,643): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(640,643): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

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'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtOperationReferenceExpression(666,668): 'is'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtTypeReference(669,678): 'SCOption1'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtUserType(669,678): 'SCOption1'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtNameReferenceExpression(669,678): 'SCOption1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption1
    ]

KtDotQualifiedExpression(682,696): 'instance.prop1'
  KaSymbolResolutionSuccess:
    symbols = [
      var prop1: kotlin.Int
    ]

KtNameReferenceExpression(682,690): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtNameReferenceExpression(691,696): 'prop1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      var prop1: kotlin.Int
    ]

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'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtOperationReferenceExpression(710,712): 'is'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtTypeReference(713,722): 'SCOption2'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtUserType(713,722): 'SCOption2'
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtNameReferenceExpression(713,722): 'SCOption2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /SealedJClass.SCOption2
    ]

KtDotQualifiedExpression(726,740): 'instance.prop2'
  KaSymbolResolutionSuccess:
    symbols = [
      var prop2: kotlin.Int
    ]

KtNameReferenceExpression(726,734): 'instance'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      instance: SealedJClass
    ]

KtNameReferenceExpression(735,740): 'prop2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      var prop2: kotlin.Int
    ]

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

KtConstantExpression(753,754): '0'
  null
