KtFile: 'innerClassInGeneric.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,265): 'sealed class A<T> {'
  null

KtDeclarationModifierList(78,84): 'sealed'
  null

KtTypeParameterList(92,95): '<T>'
  null

KtTypeParameter(93,94): 'T'
  null

KtClassBody(96,265): '{'
  null

KtClass(102,168): 'inner class B1 : A<String>() {'
  null

KtDeclarationModifierList(102,107): 'inner'
  null

KtSuperTypeList(119,130): 'A<String>()'
  null

KtSuperTypeCallEntry(119,130): 'A<String>()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.String>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.String)
      }
      valueArgumentMapping = {}

KtConstructorCalleeExpression(119,128): 'A<String>'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.String>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.String)
      }
      valueArgumentMapping = {}

KtTypeReference(119,128): 'A<String>'
  null

KtUserType(119,128): 'A<String>'
  null

KtNameReferenceExpression(119,120): 'A'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.String>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.String)
      }
      valueArgumentMapping = {}

KtTypeArgumentList(120,128): '<String>'
  null

KtTypeProjection(121,127): 'String'
  null

KtTypeReference(121,127): 'String'
  null

KtUserType(121,127): 'String'
  null

KtNameReferenceExpression(121,127): 'String'
  null

KtValueArgumentList(128,130): '()'
  null

KtClassBody(131,168): '{'
  null

KtNamedFunction(141,162): 'fun foo(): T = TODO()'
  null

KtParameterList(148,150): '()'
  null

KtTypeReference(152,153): 'T'
  null

KtUserType(152,153): 'T'
  null

KtNameReferenceExpression(152,153): 'T'
  null

KtCallExpression(156,162): 'TODO()'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(): kotlin.Nothing
        valueParameters = []
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtNameReferenceExpression(156,160): 'TODO'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(): kotlin.Nothing
        valueParameters = []
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(160,162): '()'
  null

KtClass(174,240): 'inner class B2 : A<String>() {'
  null

KtDeclarationModifierList(174,179): 'inner'
  null

KtSuperTypeList(191,202): 'A<String>()'
  null

KtSuperTypeCallEntry(191,202): 'A<String>()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.String>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.String)
      }
      valueArgumentMapping = {}

KtConstructorCalleeExpression(191,200): 'A<String>'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.String>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.String)
      }
      valueArgumentMapping = {}

KtTypeReference(191,200): 'A<String>'
  null

KtUserType(191,200): 'A<String>'
  null

KtNameReferenceExpression(191,192): 'A'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.String>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.String)
      }
      valueArgumentMapping = {}

KtTypeArgumentList(192,200): '<String>'
  null

KtTypeProjection(193,199): 'String'
  null

KtTypeReference(193,199): 'String'
  null

KtUserType(193,199): 'String'
  null

KtNameReferenceExpression(193,199): 'String'
  null

KtValueArgumentList(200,202): '()'
  null

KtClassBody(203,240): '{'
  null

KtNamedFunction(213,234): 'fun foo(): T = TODO()'
  null

KtParameterList(220,222): '()'
  null

KtTypeReference(224,225): 'T'
  null

KtUserType(224,225): 'T'
  null

KtNameReferenceExpression(224,225): 'T'
  null

KtCallExpression(228,234): 'TODO()'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(): kotlin.Nothing
        valueParameters = []
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtNameReferenceExpression(228,232): 'TODO'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Nothing
        symbol = kotlin/TODO(): kotlin.Nothing
        valueParameters = []
        contextParameters = []
        callableId = kotlin/TODO
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(232,234): '()'
  null

KtClass(245,263): 'class C : A<Int>()'
  null

KtSuperTypeList(255,263): 'A<Int>()'
  null

KtSuperTypeCallEntry(255,263): 'A<Int>()'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.Int)
      }
      valueArgumentMapping = {}

KtConstructorCalleeExpression(255,261): 'A<Int>'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.Int)
      }
      valueArgumentMapping = {}

KtTypeReference(255,261): 'A<Int>'
  null

KtUserType(255,261): 'A<Int>'
  null

KtNameReferenceExpression(255,256): 'A'
  KaCallResolutionSuccess:
    call = KaDelegatedConstructorCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      kind = SUPER_CALL
      signature = KaFunctionSignature:
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = <constructor>(): A<T>
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {
        T -> (kotlin.Int)
      }
      valueArgumentMapping = {}

KtTypeArgumentList(256,261): '<Int>'
  null

KtTypeProjection(257,260): 'Int'
  null

KtTypeReference(257,260): 'Int'
  null

KtUserType(257,260): 'Int'
  null

KtNameReferenceExpression(257,260): 'Int'
  null

KtValueArgumentList(261,263): '()'
  null

KtNamedFunction(267,475): 'fun foo(x: A<Int>) {'
  null

KtParameterList(274,285): '(x: A<Int>)'
  null

KtParameter(275,284): 'x: A<Int>'
  null

KtTypeReference(278,284): 'A<Int>'
  null

KtUserType(278,284): 'A<Int>'
  null

KtNameReferenceExpression(278,279): 'A'
  null

KtTypeArgumentList(279,284): '<Int>'
  null

KtTypeProjection(280,283): 'Int'
  null

KtTypeReference(280,283): 'Int'
  null

KtUserType(280,283): 'Int'
  null

KtNameReferenceExpression(280,283): 'Int'
  null

KtBlockExpression(286,475): '{'
  null

KtWhenExpression(292,383): 'when {'
  null

KtWhenEntry(307,325): 'x is A<*>.B1 -> {}'
  null

KtWhenConditionWithExpression(307,319): 'x is A<*>.B1'
  null

KtIsExpression(307,319): 'x is A<*>.B1'
  null

KtNameReferenceExpression(307,308): 'x'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = x
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = x: A<kotlin.Int>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(309,311): 'is'
  null

KtTypeReference(312,319): 'A<*>.B1'
  null

KtUserType(312,319): 'A<*>.B1'
  null

KtUserType(312,316): 'A<*>'
  null

KtNameReferenceExpression(312,313): 'A'
  null

KtTypeArgumentList(313,316): '<*>'
  null

KtTypeProjection(314,315): '*'
  null

KtNameReferenceExpression(317,319): 'B1'
  null

KtBlockExpression(323,325): '{}'
  null

KtWhenEntry(334,354): 'x is A<Int>.B2 -> {}'
  null

KtWhenConditionWithExpression(334,348): 'x is A<Int>.B2'
  null

KtIsExpression(334,348): 'x is A<Int>.B2'
  null

KtNameReferenceExpression(334,335): 'x'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = x
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = x: A<kotlin.Int>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(336,338): 'is'
  null

KtTypeReference(339,348): 'A<Int>.B2'
  null

KtUserType(339,348): 'A<Int>.B2'
  null

KtUserType(339,345): 'A<Int>'
  null

KtNameReferenceExpression(339,340): 'A'
  null

KtTypeArgumentList(340,345): '<Int>'
  null

KtTypeProjection(341,344): 'Int'
  null

KtTypeReference(341,344): 'Int'
  null

KtUserType(341,344): 'Int'
  null

KtNameReferenceExpression(341,344): 'Int'
  null

KtNameReferenceExpression(346,348): 'B2'
  null

KtBlockExpression(352,354): '{}'
  null

KtWhenEntry(363,377): 'x is A.C -> {}'
  null

KtWhenConditionWithExpression(363,371): 'x is A.C'
  null

KtIsExpression(363,371): 'x is A.C'
  null

KtNameReferenceExpression(363,364): 'x'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = x
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = x: A<kotlin.Int>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(365,367): 'is'
  null

KtTypeReference(368,371): 'A.C'
  null

KtUserType(368,371): 'A.C'
  null

KtUserType(368,369): 'A'
  null

KtNameReferenceExpression(368,369): 'A'
  null

KtNameReferenceExpression(370,371): 'C'
  null

KtBlockExpression(375,377): '{}'
  null

KtWhenExpression(389,473): 'when {'
  null

KtWhenEntry(404,417): 'x is B1 -> {}'
  null

KtWhenConditionWithExpression(404,411): 'x is B1'
  null

KtIsExpression(404,411): 'x is B1'
  null

KtNameReferenceExpression(404,405): 'x'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = x
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = x: A<kotlin.Int>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(406,408): 'is'
  null

KtTypeReference(409,411): 'B1'
  null

KtUserType(409,411): 'B1'
  null

KtNameReferenceExpression(409,411): 'B1'
  null

KtBlockExpression(415,417): '{}'
  null

KtWhenEntry(426,439): 'x is B2 -> {}'
  null

KtWhenConditionWithExpression(426,433): 'x is B2'
  null

KtIsExpression(426,433): 'x is B2'
  null

KtNameReferenceExpression(426,427): 'x'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = x
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = x: A<kotlin.Int>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(428,430): 'is'
  null

KtTypeReference(431,433): 'B2'
  null

KtUserType(431,433): 'B2'
  null

KtNameReferenceExpression(431,433): 'B2'
  null

KtBlockExpression(437,439): '{}'
  null

KtWhenEntry(448,460): 'x is C -> {}'
  null

KtWhenConditionWithExpression(448,454): 'x is C'
  null

KtIsExpression(448,454): 'x is C'
  null

KtNameReferenceExpression(448,449): 'x'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = x
        receiverType = null
        returnType = A<kotlin.Int>
        symbol = x: A<kotlin.Int>
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}

KtOperationReferenceExpression(450,452): 'is'
  null

KtTypeReference(453,454): 'C'
  null

KtUserType(453,454): 'C'
  null

KtNameReferenceExpression(453,454): 'C'
  null

KtBlockExpression(458,460): '{}'
  null
