KtFile: 'typeParametersComplex.kt'
  NO_CANDIDATES

KtPackageDirective(0,0): ''
  NO_CANDIDATES

KtImportList(0,0): ''
  NO_CANDIDATES

KtClass(78,229): 'sealed class SealedGeneric<T> {'
  NO_CANDIDATES

KtDeclarationModifierList(78,84): 'sealed'
  NO_CANDIDATES

KtTypeParameterList(104,107): '<T>'
  NO_CANDIDATES

KtTypeParameter(105,106): 'T'
  NO_CANDIDATES

KtClassBody(108,229): '{'
  NO_CANDIDATES

KtClass(114,168): 'class SGOption1<T>(val prop1: Int): SealedGeneric<T>()'
  NO_CANDIDATES

KtTypeParameterList(129,132): '<T>'
  NO_CANDIDATES

KtTypeParameter(130,131): 'T'
  NO_CANDIDATES

KtPrimaryConstructor(132,148): '(val prop1: Int)'
  NO_CANDIDATES

KtParameterList(132,148): '(val prop1: Int)'
  NO_CANDIDATES

KtParameter(133,147): 'val prop1: Int'
  NO_CANDIDATES

KtTypeReference(144,147): 'Int'
  NO_CANDIDATES

KtUserType(144,147): 'Int'
  NO_CANDIDATES

KtNameReferenceExpression(144,147): 'Int'
  NO_CANDIDATES

KtSuperTypeList(150,168): 'SealedGeneric<T>()'
  NO_CANDIDATES

KtSuperTypeCallEntry(150,168): 'SealedGeneric<T>()'
  KaApplicableCallCandidate:
    candidate = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = <constructor>(): SealedGeneric<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (T)
      }
      valueArgumentMapping = {}
    isInBestCandidates = true

KtConstructorCalleeExpression(150,166): 'SealedGeneric<T>'
  KaApplicableCallCandidate:
    candidate = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = <constructor>(): SealedGeneric<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (T)
      }
      valueArgumentMapping = {}
    isInBestCandidates = true

KtTypeReference(150,166): 'SealedGeneric<T>'
  NO_CANDIDATES

KtUserType(150,166): 'SealedGeneric<T>'
  NO_CANDIDATES

KtNameReferenceExpression(150,163): 'SealedGeneric'
  KaApplicableCallCandidate:
    candidate = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = <constructor>(): SealedGeneric<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (T)
      }
      valueArgumentMapping = {}
    isInBestCandidates = true

KtTypeArgumentList(163,166): '<T>'
  NO_CANDIDATES

KtTypeProjection(164,165): 'T'
  NO_CANDIDATES

KtTypeReference(164,165): 'T'
  NO_CANDIDATES

KtUserType(164,165): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(164,165): 'T'
  NO_CANDIDATES

KtValueArgumentList(166,168): '()'
  NO_CANDIDATES

KtClass(173,227): 'class SGOption2<T>(val prop2: Int): SealedGeneric<T>()'
  NO_CANDIDATES

KtTypeParameterList(188,191): '<T>'
  NO_CANDIDATES

KtTypeParameter(189,190): 'T'
  NO_CANDIDATES

KtPrimaryConstructor(191,207): '(val prop2: Int)'
  NO_CANDIDATES

KtParameterList(191,207): '(val prop2: Int)'
  NO_CANDIDATES

KtParameter(192,206): 'val prop2: Int'
  NO_CANDIDATES

KtTypeReference(203,206): 'Int'
  NO_CANDIDATES

KtUserType(203,206): 'Int'
  NO_CANDIDATES

KtNameReferenceExpression(203,206): 'Int'
  NO_CANDIDATES

KtSuperTypeList(209,227): 'SealedGeneric<T>()'
  NO_CANDIDATES

KtSuperTypeCallEntry(209,227): 'SealedGeneric<T>()'
  KaApplicableCallCandidate:
    candidate = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = <constructor>(): SealedGeneric<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (T)
      }
      valueArgumentMapping = {}
    isInBestCandidates = true

KtConstructorCalleeExpression(209,225): 'SealedGeneric<T>'
  KaApplicableCallCandidate:
    candidate = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = <constructor>(): SealedGeneric<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (T)
      }
      valueArgumentMapping = {}
    isInBestCandidates = true

KtTypeReference(209,225): 'SealedGeneric<T>'
  NO_CANDIDATES

KtUserType(209,225): 'SealedGeneric<T>'
  NO_CANDIDATES

KtNameReferenceExpression(209,222): 'SealedGeneric'
  KaApplicableCallCandidate:
    candidate = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = <constructor>(): SealedGeneric<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (T)
      }
      valueArgumentMapping = {}
    isInBestCandidates = true

KtTypeArgumentList(222,225): '<T>'
  NO_CANDIDATES

KtTypeProjection(223,224): 'T'
  NO_CANDIDATES

KtTypeReference(223,224): 'T'
  NO_CANDIDATES

KtUserType(223,224): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(223,224): 'T'
  NO_CANDIDATES

KtValueArgumentList(225,227): '()'
  NO_CANDIDATES

KtNamedFunction(230,758): 'fun testTypeParams(instance1: SealedGeneric<*>, instance2: SealedGeneric<out CharSequence>): Int {'
  NO_CANDIDATES

KtParameterList(248,321): '(instance1: SealedGeneric<*>, instance2: SealedGeneric<out CharSequence>)'
  NO_CANDIDATES

KtParameter(249,276): 'instance1: SealedGeneric<*>'
  NO_CANDIDATES

KtTypeReference(260,276): 'SealedGeneric<*>'
  NO_CANDIDATES

KtUserType(260,276): 'SealedGeneric<*>'
  NO_CANDIDATES

KtNameReferenceExpression(260,273): 'SealedGeneric'
  NO_CANDIDATES

KtTypeArgumentList(273,276): '<*>'
  NO_CANDIDATES

KtTypeProjection(274,275): '*'
  NO_CANDIDATES

KtParameter(278,320): 'instance2: SealedGeneric<out CharSequence>'
  NO_CANDIDATES

KtTypeReference(289,320): 'SealedGeneric<out CharSequence>'
  NO_CANDIDATES

KtUserType(289,320): 'SealedGeneric<out CharSequence>'
  NO_CANDIDATES

KtNameReferenceExpression(289,302): 'SealedGeneric'
  NO_CANDIDATES

KtTypeArgumentList(302,320): '<out CharSequence>'
  NO_CANDIDATES

KtTypeProjection(303,319): 'out CharSequence'
  NO_CANDIDATES

KtDeclarationModifierList(303,306): 'out'
  NO_CANDIDATES

KtTypeReference(307,319): 'CharSequence'
  NO_CANDIDATES

KtUserType(307,319): 'CharSequence'
  NO_CANDIDATES

KtNameReferenceExpression(307,319): 'CharSequence'
  NO_CANDIDATES

KtTypeReference(323,326): 'Int'
  NO_CANDIDATES

KtUserType(323,326): 'Int'
  NO_CANDIDATES

KtNameReferenceExpression(323,326): 'Int'
  NO_CANDIDATES

KtBlockExpression(327,758): '{'
  NO_CANDIDATES

KtIfExpression(333,407): 'if (instance1 is SGOption1<String>) {'
  NO_CANDIDATES

KtContainerNode(337,367): 'instance1 is SGOption1<String>'
  NO_CANDIDATES

KtIsExpression(337,367): 'instance1 is SGOption1<String>'
  NO_CANDIDATES

KtNameReferenceExpression(337,346): 'instance1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance1
        receiverType = null
        returnType = SealedGeneric<*>
        symbol = instance1: SealedGeneric<*>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(347,349): 'is'
  NO_CANDIDATES

KtTypeReference(350,367): 'SGOption1<String>'
  NO_CANDIDATES

KtUserType(350,367): 'SGOption1<String>'
  NO_CANDIDATES

KtNameReferenceExpression(350,359): 'SGOption1'
  NO_CANDIDATES

KtTypeArgumentList(359,367): '<String>'
  NO_CANDIDATES

KtTypeProjection(360,366): 'String'
  NO_CANDIDATES

KtTypeReference(360,366): 'String'
  NO_CANDIDATES

KtUserType(360,366): 'String'
  NO_CANDIDATES

KtNameReferenceExpression(360,366): 'String'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(369,407): '{'
  NO_CANDIDATES

KtBlockExpression(369,407): '{'
  NO_CANDIDATES

KtReturnExpression(379,401): 'return instance1.prop1'
  NO_CANDIDATES

KtDotQualifiedExpression(386,401): 'instance1.prop1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance1
          isSafeNavigation = false
          type = SealedGeneric<*>
        type = SealedGeneric.SGOption1<kotlin.String>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption1.prop1
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(386,395): 'instance1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance1
        receiverType = null
        returnType = SealedGeneric<*>
        symbol = instance1: SealedGeneric<*>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(396,401): 'prop1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance1
          isSafeNavigation = false
          type = SealedGeneric<*>
        type = SealedGeneric.SGOption1<kotlin.String>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption1.prop1
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtIfExpression(412,481): 'if (instance1 is SGOption1<*>) {'
  NO_CANDIDATES

KtContainerNode(416,441): 'instance1 is SGOption1<*>'
  NO_CANDIDATES

KtIsExpression(416,441): 'instance1 is SGOption1<*>'
  NO_CANDIDATES

KtNameReferenceExpression(416,425): 'instance1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance1
        receiverType = null
        returnType = SealedGeneric<*>
        symbol = instance1: SealedGeneric<*>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(426,428): 'is'
  NO_CANDIDATES

KtTypeReference(429,441): 'SGOption1<*>'
  NO_CANDIDATES

KtUserType(429,441): 'SGOption1<*>'
  NO_CANDIDATES

KtNameReferenceExpression(429,438): 'SGOption1'
  NO_CANDIDATES

KtTypeArgumentList(438,441): '<*>'
  NO_CANDIDATES

KtTypeProjection(439,440): '*'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(443,481): '{'
  NO_CANDIDATES

KtBlockExpression(443,481): '{'
  NO_CANDIDATES

KtReturnExpression(453,475): 'return instance1.prop1'
  NO_CANDIDATES

KtDotQualifiedExpression(460,475): 'instance1.prop1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance1
          isSafeNavigation = false
          type = SealedGeneric<*>
        type = SealedGeneric.SGOption1<*>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption1.prop1
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(460,469): 'instance1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance1
        receiverType = null
        returnType = SealedGeneric<*>
        symbol = instance1: SealedGeneric<*>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(470,475): 'prop1'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance1
          isSafeNavigation = false
          type = SealedGeneric<*>
        type = SealedGeneric.SGOption1<*>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop1
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop1: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption1.prop1
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtIfExpression(486,566): 'if (instance2 is SGOption2<CharSequence>) {'
  NO_CANDIDATES

KtContainerNode(490,526): 'instance2 is SGOption2<CharSequence>'
  NO_CANDIDATES

KtIsExpression(490,526): 'instance2 is SGOption2<CharSequence>'
  NO_CANDIDATES

KtNameReferenceExpression(490,499): 'instance2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance2
        receiverType = null
        returnType = SealedGeneric<out kotlin.CharSequence>
        symbol = instance2: SealedGeneric<out kotlin.CharSequence>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(500,502): 'is'
  NO_CANDIDATES

KtTypeReference(503,526): 'SGOption2<CharSequence>'
  NO_CANDIDATES

KtUserType(503,526): 'SGOption2<CharSequence>'
  NO_CANDIDATES

KtNameReferenceExpression(503,512): 'SGOption2'
  NO_CANDIDATES

KtTypeArgumentList(512,526): '<CharSequence>'
  NO_CANDIDATES

KtTypeProjection(513,525): 'CharSequence'
  NO_CANDIDATES

KtTypeReference(513,525): 'CharSequence'
  NO_CANDIDATES

KtUserType(513,525): 'CharSequence'
  NO_CANDIDATES

KtNameReferenceExpression(513,525): 'CharSequence'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(528,566): '{'
  NO_CANDIDATES

KtBlockExpression(528,566): '{'
  NO_CANDIDATES

KtReturnExpression(538,560): 'return instance2.prop2'
  NO_CANDIDATES

KtDotQualifiedExpression(545,560): 'instance2.prop2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance2
          isSafeNavigation = false
          type = SealedGeneric<out kotlin.CharSequence>
        type = SealedGeneric.SGOption2<kotlin.CharSequence>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption2.prop2
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(545,554): 'instance2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance2
        receiverType = null
        returnType = SealedGeneric<out kotlin.CharSequence>
        symbol = instance2: SealedGeneric<out kotlin.CharSequence>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(555,560): 'prop2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance2
          isSafeNavigation = false
          type = SealedGeneric<out kotlin.CharSequence>
        type = SealedGeneric.SGOption2<kotlin.CharSequence>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption2.prop2
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtIfExpression(571,654): 'if (instance2 is SGOption2<in CharSequence>) {'
  NO_CANDIDATES

KtContainerNode(575,614): 'instance2 is SGOption2<in CharSequence>'
  NO_CANDIDATES

KtIsExpression(575,614): 'instance2 is SGOption2<in CharSequence>'
  NO_CANDIDATES

KtNameReferenceExpression(575,584): 'instance2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance2
        receiverType = null
        returnType = SealedGeneric<out kotlin.CharSequence>
        symbol = instance2: SealedGeneric<out kotlin.CharSequence>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(585,587): 'is'
  NO_CANDIDATES

KtTypeReference(588,614): 'SGOption2<in CharSequence>'
  NO_CANDIDATES

KtUserType(588,614): 'SGOption2<in CharSequence>'
  NO_CANDIDATES

KtNameReferenceExpression(588,597): 'SGOption2'
  NO_CANDIDATES

KtTypeArgumentList(597,614): '<in CharSequence>'
  NO_CANDIDATES

KtTypeProjection(598,613): 'in CharSequence'
  NO_CANDIDATES

KtDeclarationModifierList(598,600): 'in'
  NO_CANDIDATES

KtTypeReference(601,613): 'CharSequence'
  NO_CANDIDATES

KtUserType(601,613): 'CharSequence'
  NO_CANDIDATES

KtNameReferenceExpression(601,613): 'CharSequence'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(616,654): '{'
  NO_CANDIDATES

KtBlockExpression(616,654): '{'
  NO_CANDIDATES

KtReturnExpression(626,648): 'return instance2.prop2'
  NO_CANDIDATES

KtDotQualifiedExpression(633,648): 'instance2.prop2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance2
          isSafeNavigation = false
          type = SealedGeneric<out kotlin.CharSequence>
        type = it(SealedGeneric.SGOption2<in kotlin.CharSequence> & SealedGeneric<out kotlin.CharSequence>)
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption2.prop2
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(633,642): 'instance2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance2
        receiverType = null
        returnType = SealedGeneric<out kotlin.CharSequence>
        symbol = instance2: SealedGeneric<out kotlin.CharSequence>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(643,648): 'prop2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance2
          isSafeNavigation = false
          type = SealedGeneric<out kotlin.CharSequence>
        type = it(SealedGeneric.SGOption2<in kotlin.CharSequence> & SealedGeneric<out kotlin.CharSequence>)
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption2.prop2
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtIfExpression(659,743): 'if (instance2 is SGOption2<out CharSequence>) {'
  NO_CANDIDATES

KtContainerNode(663,703): 'instance2 is SGOption2<out CharSequence>'
  NO_CANDIDATES

KtIsExpression(663,703): 'instance2 is SGOption2<out CharSequence>'
  NO_CANDIDATES

KtNameReferenceExpression(663,672): 'instance2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance2
        receiverType = null
        returnType = SealedGeneric<out kotlin.CharSequence>
        symbol = instance2: SealedGeneric<out kotlin.CharSequence>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(673,675): 'is'
  NO_CANDIDATES

KtTypeReference(676,703): 'SGOption2<out CharSequence>'
  NO_CANDIDATES

KtUserType(676,703): 'SGOption2<out CharSequence>'
  NO_CANDIDATES

KtNameReferenceExpression(676,685): 'SGOption2'
  NO_CANDIDATES

KtTypeArgumentList(685,703): '<out CharSequence>'
  NO_CANDIDATES

KtTypeProjection(686,702): 'out CharSequence'
  NO_CANDIDATES

KtDeclarationModifierList(686,689): 'out'
  NO_CANDIDATES

KtTypeReference(690,702): 'CharSequence'
  NO_CANDIDATES

KtUserType(690,702): 'CharSequence'
  NO_CANDIDATES

KtNameReferenceExpression(690,702): 'CharSequence'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(705,743): '{'
  NO_CANDIDATES

KtBlockExpression(705,743): '{'
  NO_CANDIDATES

KtReturnExpression(715,737): 'return instance2.prop2'
  NO_CANDIDATES

KtDotQualifiedExpression(722,737): 'instance2.prop2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance2
          isSafeNavigation = false
          type = SealedGeneric<out kotlin.CharSequence>
        type = SealedGeneric.SGOption2<out kotlin.CharSequence>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption2.prop2
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(722,731): 'instance2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = instance2
        receiverType = null
        returnType = SealedGeneric<out kotlin.CharSequence>
        symbol = instance2: SealedGeneric<out kotlin.CharSequence>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtNameReferenceExpression(732,737): 'prop2'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaExplicitReceiverValue:
          expression = instance2
          isSafeNavigation = false
          type = SealedGeneric<out kotlin.CharSequence>
        type = SealedGeneric.SGOption2<out kotlin.CharSequence>
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = prop2
        receiverType = null
        returnType = kotlin.Int
        symbol = val prop2: kotlin.Int
        contextParameters = []
        callableId = /SealedGeneric.SGOption2.prop2
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtReturnExpression(748,756): 'return 0'
  NO_CANDIDATES

KtConstantExpression(755,756): '0'
  NO_CANDIDATES

KtNamedFunction(760,968): 'fun <T>testTypeParams2(a: SealedGeneric<T>) {'
  NO_CANDIDATES

KtTypeParameterList(764,767): '<T>'
  NO_CANDIDATES

KtTypeParameter(765,766): 'T'
  NO_CANDIDATES

KtParameterList(782,803): '(a: SealedGeneric<T>)'
  NO_CANDIDATES

KtParameter(783,802): 'a: SealedGeneric<T>'
  NO_CANDIDATES

KtTypeReference(786,802): 'SealedGeneric<T>'
  NO_CANDIDATES

KtUserType(786,802): 'SealedGeneric<T>'
  NO_CANDIDATES

KtNameReferenceExpression(786,799): 'SealedGeneric'
  NO_CANDIDATES

KtTypeArgumentList(799,802): '<T>'
  NO_CANDIDATES

KtTypeProjection(800,801): 'T'
  NO_CANDIDATES

KtTypeReference(800,801): 'T'
  NO_CANDIDATES

KtUserType(800,801): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(800,801): 'T'
  NO_CANDIDATES

KtBlockExpression(804,968): '{'
  NO_CANDIDATES

KtWhenExpression(810,885): 'when(a) {'
  NO_CANDIDATES

KtNameReferenceExpression(815,816): 'a'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = a: SealedGeneric<T>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(828,849): 'is SGOption1<*> -> ""'
  NO_CANDIDATES

KtWhenConditionIsPattern(828,843): 'is SGOption1<*>'
  NO_CANDIDATES

KtTypeReference(831,843): 'SGOption1<*>'
  NO_CANDIDATES

KtUserType(831,843): 'SGOption1<*>'
  NO_CANDIDATES

KtNameReferenceExpression(831,840): 'SGOption1'
  NO_CANDIDATES

KtTypeArgumentList(840,843): '<*>'
  NO_CANDIDATES

KtTypeProjection(841,842): '*'
  NO_CANDIDATES

KtStringTemplateExpression(847,849): '""'
  NO_CANDIDATES

KtWhenEntry(858,879): 'is SGOption2<*> -> ""'
  NO_CANDIDATES

KtWhenConditionIsPattern(858,873): 'is SGOption2<*>'
  NO_CANDIDATES

KtTypeReference(861,873): 'SGOption2<*>'
  NO_CANDIDATES

KtUserType(861,873): 'SGOption2<*>'
  NO_CANDIDATES

KtNameReferenceExpression(861,870): 'SGOption2'
  NO_CANDIDATES

KtTypeArgumentList(870,873): '<*>'
  NO_CANDIDATES

KtTypeProjection(871,872): '*'
  NO_CANDIDATES

KtStringTemplateExpression(877,879): '""'
  NO_CANDIDATES

KtWhenExpression(891,966): 'when(a) {'
  NO_CANDIDATES

KtNameReferenceExpression(896,897): 'a'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = SealedGeneric<T>
        symbol = a: SealedGeneric<T>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(909,930): 'is SGOption1<T> -> ""'
  NO_CANDIDATES

KtWhenConditionIsPattern(909,924): 'is SGOption1<T>'
  NO_CANDIDATES

KtTypeReference(912,924): 'SGOption1<T>'
  NO_CANDIDATES

KtUserType(912,924): 'SGOption1<T>'
  NO_CANDIDATES

KtNameReferenceExpression(912,921): 'SGOption1'
  NO_CANDIDATES

KtTypeArgumentList(921,924): '<T>'
  NO_CANDIDATES

KtTypeProjection(922,923): 'T'
  NO_CANDIDATES

KtTypeReference(922,923): 'T'
  NO_CANDIDATES

KtUserType(922,923): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(922,923): 'T'
  NO_CANDIDATES

KtStringTemplateExpression(928,930): '""'
  NO_CANDIDATES

KtWhenEntry(939,960): 'is SGOption2<T> -> ""'
  NO_CANDIDATES

KtWhenConditionIsPattern(939,954): 'is SGOption2<T>'
  NO_CANDIDATES

KtTypeReference(942,954): 'SGOption2<T>'
  NO_CANDIDATES

KtUserType(942,954): 'SGOption2<T>'
  NO_CANDIDATES

KtNameReferenceExpression(942,951): 'SGOption2'
  NO_CANDIDATES

KtTypeArgumentList(951,954): '<T>'
  NO_CANDIDATES

KtTypeProjection(952,953): 'T'
  NO_CANDIDATES

KtTypeReference(952,953): 'T'
  NO_CANDIDATES

KtUserType(952,953): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(952,953): 'T'
  NO_CANDIDATES

KtStringTemplateExpression(958,960): '""'
  NO_CANDIDATES

KtNamedFunction(970,1140): 'fun testTypeParams2(a: SealedGeneric<String>, b: SealedGeneric<String> ) {'
  NO_CANDIDATES

KtParameterList(989,1042): '(a: SealedGeneric<String>, b: SealedGeneric<String> )'
  NO_CANDIDATES

KtParameter(990,1014): 'a: SealedGeneric<String>'
  NO_CANDIDATES

KtTypeReference(993,1014): 'SealedGeneric<String>'
  NO_CANDIDATES

KtUserType(993,1014): 'SealedGeneric<String>'
  NO_CANDIDATES

KtNameReferenceExpression(993,1006): 'SealedGeneric'
  NO_CANDIDATES

KtTypeArgumentList(1006,1014): '<String>'
  NO_CANDIDATES

KtTypeProjection(1007,1013): 'String'
  NO_CANDIDATES

KtTypeReference(1007,1013): 'String'
  NO_CANDIDATES

KtUserType(1007,1013): 'String'
  NO_CANDIDATES

KtNameReferenceExpression(1007,1013): 'String'
  NO_CANDIDATES

KtParameter(1016,1040): 'b: SealedGeneric<String>'
  NO_CANDIDATES

KtTypeReference(1019,1040): 'SealedGeneric<String>'
  NO_CANDIDATES

KtUserType(1019,1040): 'SealedGeneric<String>'
  NO_CANDIDATES

KtNameReferenceExpression(1019,1032): 'SealedGeneric'
  NO_CANDIDATES

KtTypeArgumentList(1032,1040): '<String>'
  NO_CANDIDATES

KtTypeProjection(1033,1039): 'String'
  NO_CANDIDATES

KtTypeReference(1033,1039): 'String'
  NO_CANDIDATES

KtUserType(1033,1039): 'String'
  NO_CANDIDATES

KtNameReferenceExpression(1033,1039): 'String'
  NO_CANDIDATES

KtBlockExpression(1043,1140): '{'
  NO_CANDIDATES

KtWhenExpression(1049,1118): 'when(a) {'
  NO_CANDIDATES

KtNameReferenceExpression(1054,1055): 'a'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = SealedGeneric<kotlin.String>
        symbol = a: SealedGeneric<kotlin.String>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtWhenEntry(1067,1085): 'is SGOption1 -> ""'
  NO_CANDIDATES

KtWhenConditionIsPattern(1067,1079): 'is SGOption1'
  NO_CANDIDATES

KtTypeReference(1070,1079): 'SGOption1'
  NO_CANDIDATES

KtUserType(1070,1079): 'SGOption1'
  NO_CANDIDATES

KtNameReferenceExpression(1070,1079): 'SGOption1'
  NO_CANDIDATES

KtStringTemplateExpression(1083,1085): '""'
  NO_CANDIDATES

KtWhenEntry(1094,1112): 'is SGOption2 -> ""'
  NO_CANDIDATES

KtWhenConditionIsPattern(1094,1106): 'is SGOption2'
  NO_CANDIDATES

KtTypeReference(1097,1106): 'SGOption2'
  NO_CANDIDATES

KtUserType(1097,1106): 'SGOption2'
  NO_CANDIDATES

KtNameReferenceExpression(1097,1106): 'SGOption2'
  NO_CANDIDATES

KtStringTemplateExpression(1110,1112): '""'
  NO_CANDIDATES

KtBinaryExpressionWithTypeRHS(1124,1138): 'b as SGOption1'
  NO_CANDIDATES

KtNameReferenceExpression(1124,1125): 'b'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = SealedGeneric<kotlin.String>
        symbol = b: SealedGeneric<kotlin.String>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(1126,1128): 'as'
  NO_CANDIDATES

KtTypeReference(1129,1138): 'SGOption1'
  NO_CANDIDATES

KtUserType(1129,1138): 'SGOption1'
  NO_CANDIDATES

KtNameReferenceExpression(1129,1138): 'SGOption1'
  NO_CANDIDATES

KtNamedFunction(1142,1269): 'fun testTypeParams3(a: SealedGeneric<*>, b: SealedGeneric<*>) {'
  NO_CANDIDATES

KtParameterList(1161,1203): '(a: SealedGeneric<*>, b: SealedGeneric<*>)'
  NO_CANDIDATES

KtParameter(1162,1181): 'a: SealedGeneric<*>'
  NO_CANDIDATES

KtTypeReference(1165,1181): 'SealedGeneric<*>'
  NO_CANDIDATES

KtUserType(1165,1181): 'SealedGeneric<*>'
  NO_CANDIDATES

KtNameReferenceExpression(1165,1178): 'SealedGeneric'
  NO_CANDIDATES

KtTypeArgumentList(1178,1181): '<*>'
  NO_CANDIDATES

KtTypeProjection(1179,1180): '*'
  NO_CANDIDATES

KtParameter(1183,1202): 'b: SealedGeneric<*>'
  NO_CANDIDATES

KtTypeReference(1186,1202): 'SealedGeneric<*>'
  NO_CANDIDATES

KtUserType(1186,1202): 'SealedGeneric<*>'
  NO_CANDIDATES

KtNameReferenceExpression(1186,1199): 'SealedGeneric'
  NO_CANDIDATES

KtTypeArgumentList(1199,1202): '<*>'
  NO_CANDIDATES

KtTypeProjection(1200,1201): '*'
  NO_CANDIDATES

KtBlockExpression(1204,1269): '{'
  NO_CANDIDATES

KtBinaryExpressionWithTypeRHS(1210,1232): 'a as SGOption1<String>'
  NO_CANDIDATES

KtNameReferenceExpression(1210,1211): 'a'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = a
        receiverType = null
        returnType = SealedGeneric<*>
        symbol = a: SealedGeneric<*>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(1212,1214): 'as'
  NO_CANDIDATES

KtTypeReference(1215,1232): 'SGOption1<String>'
  NO_CANDIDATES

KtUserType(1215,1232): 'SGOption1<String>'
  NO_CANDIDATES

KtNameReferenceExpression(1215,1224): 'SGOption1'
  NO_CANDIDATES

KtTypeArgumentList(1224,1232): '<String>'
  NO_CANDIDATES

KtTypeProjection(1225,1231): 'String'
  NO_CANDIDATES

KtTypeReference(1225,1231): 'String'
  NO_CANDIDATES

KtUserType(1225,1231): 'String'
  NO_CANDIDATES

KtNameReferenceExpression(1225,1231): 'String'
  NO_CANDIDATES

KtIfExpression(1237,1267): 'if (b is SGOption1<String>) {}'
  NO_CANDIDATES

KtContainerNode(1241,1263): 'b is SGOption1<String>'
  NO_CANDIDATES

KtIsExpression(1241,1263): 'b is SGOption1<String>'
  NO_CANDIDATES

KtNameReferenceExpression(1241,1242): 'b'
  KaApplicableCallCandidate:
    candidate = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = b
        receiverType = null
        returnType = SealedGeneric<*>
        symbol = b: SealedGeneric<*>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
    isInBestCandidates = true

KtOperationReferenceExpression(1243,1245): 'is'
  NO_CANDIDATES

KtTypeReference(1246,1263): 'SGOption1<String>'
  NO_CANDIDATES

KtUserType(1246,1263): 'SGOption1<String>'
  NO_CANDIDATES

KtNameReferenceExpression(1246,1255): 'SGOption1'
  NO_CANDIDATES

KtTypeArgumentList(1255,1263): '<String>'
  NO_CANDIDATES

KtTypeProjection(1256,1262): 'String'
  NO_CANDIDATES

KtTypeReference(1256,1262): 'String'
  NO_CANDIDATES

KtUserType(1256,1262): 'String'
  NO_CANDIDATES

KtNameReferenceExpression(1256,1262): 'String'
  NO_CANDIDATES

KtContainerNodeForControlStructureBody(1265,1267): '{}'
  NO_CANDIDATES

KtBlockExpression(1265,1267): '{}'
  NO_CANDIDATES
