KtFile: 'main.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(28,205): 'sealed class MyClass {'
  null

KtDeclarationModifierList(28,34): 'sealed'
  null

KtClassBody(49,205): '{'
  null

KtObjectDeclaration(55,148): 'companion object {'
  null

KtDeclarationModifierList(55,64): 'companion'
  null

KtClassBody(72,148): '{'
  null

KtProperty(82,107): 'val FOO: MyClass = TODO()'
  null

KtTypeReference(91,98): 'MyClass'
  null

KtUserType(91,98): 'MyClass'
  null

KtNameReferenceExpression(91,98): 'MyClass'
  null

KtCallExpression(101,107): '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(101,105): '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(105,107): '()'
  null

KtProperty(116,142): 'val FOR_TYPE_MISMATCH = ""'
  null

KtStringTemplateExpression(140,142): '""'
  null

KtObjectDeclaration(154,176): 'object Bar : MyClass()'
  null

KtSuperTypeList(167,176): 'MyClass()'
  null

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

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

KtTypeReference(167,174): 'MyClass'
  null

KtUserType(167,174): 'MyClass'
  null

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

KtValueArgumentList(174,176): '()'
  null

KtObjectDeclaration(181,203): 'object ForTypeMismatch'
  null

KtNamedFunction(207,231): 'fun expectInt(x: Int) {}'
  null

KtParameterList(220,228): '(x: Int)'
  null

KtParameter(221,227): 'x: Int'
  null

KtTypeReference(224,227): 'Int'
  null

KtUserType(224,227): 'Int'
  null

KtNameReferenceExpression(224,227): 'Int'
  null

KtBlockExpression(229,231): '{}'
  null

KtNamedFunction(233,265): 'fun expectMyClass(x: MyClass) {}'
  null

KtParameterList(250,262): '(x: MyClass)'
  null

KtParameter(251,261): 'x: MyClass'
  null

KtTypeReference(254,261): 'MyClass'
  null

KtUserType(254,261): 'MyClass'
  null

KtNameReferenceExpression(254,261): 'MyClass'
  null

KtBlockExpression(263,265): '{}'
  null

KtNamedFunction(267,295): 'fun <X> id(x: X): X = TODO()'
  null

KtTypeParameterList(271,274): '<X>'
  null

KtTypeParameter(272,273): 'X'
  null

KtParameterList(277,283): '(x: X)'
  null

KtParameter(278,282): 'x: X'
  null

KtTypeReference(281,282): 'X'
  null

KtUserType(281,282): 'X'
  null

KtNameReferenceExpression(281,282): 'X'
  null

KtTypeReference(285,286): 'X'
  null

KtUserType(285,286): 'X'
  null

KtNameReferenceExpression(285,286): 'X'
  null

KtCallExpression(289,295): '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(289,293): '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(293,295): '()'
  null

KtNamedFunction(297,640): 'fun MyClass.foo() {'
  null

KtTypeReference(301,308): 'MyClass'
  null

KtUserType(301,308): 'MyClass'
  null

KtNameReferenceExpression(301,308): 'MyClass'
  null

KtParameterList(312,314): '()'
  null

KtBlockExpression(315,640): '{'
  null

KtCallExpression(321,341): 'expectInt(MAX_VALUE)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectInt(x: kotlin.Int): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = kotlin.Int
            symbol = x: kotlin.Int
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectInt
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        MAX_VALUE -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = kotlin.Int
          symbol = x: kotlin.Int
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(321,330): 'expectInt'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectInt(x: kotlin.Int): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = kotlin.Int
            symbol = x: kotlin.Int
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectInt
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        MAX_VALUE -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = kotlin.Int
          symbol = x: kotlin.Int
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(330,341): '(MAX_VALUE)'
  null

KtValueArgument(331,340): 'MAX_VALUE'
  null

KtNameReferenceExpression(331,340): 'MAX_VALUE'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = MAX_VALUE
        isSafeNavigation = false
        type = kotlin.Int.Companion
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = MAX_VALUE
        receiverType = null
        returnType = kotlin.Int
        symbol = val MAX_VALUE: kotlin.Int
        contextParameters = []
        callableId = kotlin/Int.Companion.MAX_VALUE
      typeArgumentsMapping = {}

KtCallExpression(347,365): 'expectMyClass(FOO)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        FOO -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(347,360): 'expectMyClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        FOO -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(360,365): '(FOO)'
  null

KtValueArgument(361,364): 'FOO'
  null

KtNameReferenceExpression(361,364): 'FOO'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = FOO
        isSafeNavigation = false
        type = MyClass.Companion
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = FOO
        receiverType = null
        returnType = MyClass
        symbol = val FOO: MyClass
        contextParameters = []
        callableId = /MyClass.Companion.FOO
      typeArgumentsMapping = {}

KtCallExpression(370,392): 'expectMyClass(id(FOO))'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(FOO) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(370,383): 'expectMyClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(FOO) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(383,392): '(id(FOO))'
  null

KtValueArgument(384,391): 'id(FOO)'
  null

KtCallExpression(384,391): 'id(FOO)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        FOO -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(384,386): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        FOO -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(386,391): '(FOO)'
  null

KtValueArgument(387,390): 'FOO'
  null

KtNameReferenceExpression(387,390): 'FOO'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = FOO
        isSafeNavigation = false
        type = MyClass.Companion
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = FOO
        receiverType = null
        returnType = MyClass
        symbol = val FOO: MyClass
        contextParameters = []
        callableId = /MyClass.Companion.FOO
      typeArgumentsMapping = {}

KtCallExpression(398,430): 'expectMyClass(FOR_TYPE_MISMATCH)'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          FOR_TYPE_MISMATCH -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'String', but 'MyClass' was expected.>

KtNameReferenceExpression(398,411): 'expectMyClass'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          FOR_TYPE_MISMATCH -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'String', but 'MyClass' was expected.>

KtValueArgumentList(411,430): '(FOR_TYPE_MISMATCH)'
  null

KtValueArgument(412,429): 'FOR_TYPE_MISMATCH'
  null

KtNameReferenceExpression(412,429): 'FOR_TYPE_MISMATCH'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = FOR_TYPE_MISMATCH
        isSafeNavigation = false
        type = MyClass.Companion
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = FOR_TYPE_MISMATCH
        receiverType = null
        returnType = kotlin.String
        symbol = val FOR_TYPE_MISMATCH: kotlin.String
        contextParameters = []
        callableId = /MyClass.Companion.FOR_TYPE_MISMATCH
      typeArgumentsMapping = {}

KtCallExpression(435,471): 'expectMyClass(id(FOR_TYPE_MISMATCH))'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(FOR_TYPE_MISMATCH) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'String', but 'MyClass' was expected.>

KtNameReferenceExpression(435,448): 'expectMyClass'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(FOR_TYPE_MISMATCH) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'String', but 'MyClass' was expected.>

KtValueArgumentList(448,471): '(id(FOR_TYPE_MISMATCH))'
  null

KtValueArgument(449,470): 'id(FOR_TYPE_MISMATCH)'
  null

KtCallExpression(449,470): 'id(FOR_TYPE_MISMATCH)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        FOR_TYPE_MISMATCH -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(449,451): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        FOR_TYPE_MISMATCH -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(451,470): '(FOR_TYPE_MISMATCH)'
  null

KtValueArgument(452,469): 'FOR_TYPE_MISMATCH'
  null

KtNameReferenceExpression(452,469): 'FOR_TYPE_MISMATCH'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = FOR_TYPE_MISMATCH
        isSafeNavigation = false
        type = MyClass.Companion
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = FOR_TYPE_MISMATCH
        receiverType = null
        returnType = kotlin.String
        symbol = val FOR_TYPE_MISMATCH: kotlin.String
        contextParameters = []
        callableId = /MyClass.Companion.FOR_TYPE_MISMATCH
      typeArgumentsMapping = {}

KtCallExpression(477,495): 'expectMyClass(Bar)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Bar -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(477,490): 'expectMyClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        Bar -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(490,495): '(Bar)'
  null

KtValueArgument(491,494): 'Bar'
  null

KtNameReferenceExpression(491,494): 'Bar'
  null

KtCallExpression(500,522): 'expectMyClass(id(Bar))'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(Bar) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(500,513): 'expectMyClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /expectMyClass(x: MyClass): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /expectMyClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        id(Bar) -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: MyClass
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(513,522): '(id(Bar))'
  null

KtValueArgument(514,521): 'id(Bar)'
  null

KtCallExpression(514,521): 'id(Bar)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        Bar -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(514,516): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        Bar -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(516,521): '(Bar)'
  null

KtValueArgument(517,520): 'Bar'
  null

KtNameReferenceExpression(517,520): 'Bar'
  null

KtCallExpression(528,558): 'expectMyClass(ForTypeMismatch)'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          ForTypeMismatch -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyClass.ForTypeMismatch', but 'MyClass' was expected.>

KtNameReferenceExpression(528,541): 'expectMyClass'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          ForTypeMismatch -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyClass.ForTypeMismatch', but 'MyClass' was expected.>

KtValueArgumentList(541,558): '(ForTypeMismatch)'
  null

KtValueArgument(542,557): 'ForTypeMismatch'
  null

KtNameReferenceExpression(542,557): 'ForTypeMismatch'
  null

KtCallExpression(563,597): 'expectMyClass(id(ForTypeMismatch))'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(ForTypeMismatch) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyClass.ForTypeMismatch', but 'MyClass' was expected.>

KtNameReferenceExpression(563,576): 'expectMyClass'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /expectMyClass(x: MyClass): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = x
              receiverType = null
              returnType = MyClass
              symbol = x: MyClass
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /expectMyClass
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          id(ForTypeMismatch) -> (KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: MyClass
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'MyClass.ForTypeMismatch', but 'MyClass' was expected.>

KtValueArgumentList(576,597): '(id(ForTypeMismatch))'
  null

KtValueArgument(577,596): 'id(ForTypeMismatch)'
  null

KtCallExpression(577,596): 'id(ForTypeMismatch)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        ForTypeMismatch -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(577,579): 'id'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = /id(x: X): X
        valueParameters = [
          KaVariableSignature:
            name = x
            receiverType = null
            returnType = MyClass
            symbol = x: X
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /id
      typeArgumentsMapping = {
        X -> (MyClass)
      }
      valueArgumentMapping = {
        ForTypeMismatch -> (KaVariableSignature:
          name = x
          receiverType = null
          returnType = MyClass
          symbol = x: X
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(579,596): '(ForTypeMismatch)'
  null

KtValueArgument(580,595): 'ForTypeMismatch'
  null

KtNameReferenceExpression(580,595): 'ForTypeMismatch'
  null

KtDotQualifiedExpression(603,638): 'JavaClass.expectJavaClass(INSTANCE)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = JavaClass
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /JavaClass.expectJavaClass(j: JavaClass!): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = j
            receiverType = null
            returnType = JavaClass!
            symbol = j: JavaClass!
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /JavaClass.expectJavaClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        INSTANCE -> (KaVariableSignature:
          name = j
          receiverType = null
          returnType = JavaClass!
          symbol = j: JavaClass!
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(603,612): 'JavaClass'
  null

KtCallExpression(613,638): 'expectJavaClass(INSTANCE)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = JavaClass
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /JavaClass.expectJavaClass(j: JavaClass!): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = j
            receiverType = null
            returnType = JavaClass!
            symbol = j: JavaClass!
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /JavaClass.expectJavaClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        INSTANCE -> (KaVariableSignature:
          name = j
          receiverType = null
          returnType = JavaClass!
          symbol = j: JavaClass!
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(613,628): 'expectJavaClass'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = JavaClass
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /JavaClass.expectJavaClass(j: JavaClass!): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = j
            receiverType = null
            returnType = JavaClass!
            symbol = j: JavaClass!
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /JavaClass.expectJavaClass
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        INSTANCE -> (KaVariableSignature:
          name = j
          receiverType = null
          returnType = JavaClass!
          symbol = j: JavaClass!
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(628,638): '(INSTANCE)'
  null

KtValueArgument(629,637): 'INSTANCE'
  null

KtNameReferenceExpression(629,637): 'INSTANCE'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaExplicitReceiverValue:
        expression = INSTANCE
        isSafeNavigation = false
        type = kotlin.Unit
      extensionReceiver = null
      isContextSensitive = true
      kind = Read
      signature = KaVariableSignature:
        name = INSTANCE
        receiverType = null
        returnType = JavaClass!
        symbol = var INSTANCE: JavaClass!
        contextParameters = []
        callableId = /JavaClass.INSTANCE
      typeArgumentsMapping = {}
