KtFile: 'expectedTypeEnum.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,115): 'enum class MyEnum {'
  null

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(96,115): '{'
  null

KtEnumEntry(102,113): 'EnumValue1;'
  null

KtNamedFunction(117,140): 'fun <X> id(x: X): X = x'
  null

KtTypeParameterList(121,124): '<X>'
  null

KtTypeParameter(122,123): 'X'
  null

KtParameterList(127,133): '(x: X)'
  null

KtParameter(128,132): 'x: X'
  null

KtTypeReference(131,132): 'X'
  null

KtUserType(131,132): 'X'
  null

KtNameReferenceExpression(131,132): 'X'
  null

KtTypeReference(135,136): 'X'
  null

KtUserType(135,136): 'X'
  null

KtNameReferenceExpression(135,136): 'X'
  null

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

KtNamedFunction(141,167): 'fun <T> receive(arg: T) {}'
  null

KtTypeParameterList(145,148): '<T>'
  null

KtTypeParameter(146,147): 'T'
  null

KtParameterList(156,164): '(arg: T)'
  null

KtParameter(157,163): 'arg: T'
  null

KtTypeReference(162,163): 'T'
  null

KtUserType(162,163): 'T'
  null

KtNameReferenceExpression(162,163): 'T'
  null

KtBlockExpression(165,167): '{}'
  null

KtNamedFunction(169,268): 'fun testExpectedType() {'
  null

KtParameterList(189,191): '()'
  null

KtBlockExpression(192,268): '{'
  null

KtProperty(198,229): 'val r1: MyEnum = id(EnumValue1)'
  null

KtTypeReference(206,212): 'MyEnum'
  null

KtUserType(206,212): 'MyEnum'
  null

KtNameReferenceExpression(206,212): 'MyEnum'
  null

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

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

KtValueArgumentList(217,229): '(EnumValue1)'
  null

KtValueArgument(218,228): 'EnumValue1'
  null

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

KtCallExpression(235,266): 'receive<MyEnum>(id(EnumValue1))'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receive(arg: T): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = arg
            receiverType = null
            returnType = MyEnum
            symbol = arg: T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receive
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        id(EnumValue1) -> (KaVariableSignature:
          name = arg
          receiverType = null
          returnType = MyEnum
          symbol = arg: T
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(235,242): 'receive'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /receive(arg: T): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = arg
            receiverType = null
            returnType = MyEnum
            symbol = arg: T
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /receive
      typeArgumentsMapping = {
        T -> (MyEnum)
      }
      valueArgumentMapping = {
        id(EnumValue1) -> (KaVariableSignature:
          name = arg
          receiverType = null
          returnType = MyEnum
          symbol = arg: T
          contextParameters = []
          callableId = null)
      }

KtTypeArgumentList(242,250): '<MyEnum>'
  null

KtTypeProjection(243,249): 'MyEnum'
  null

KtTypeReference(243,249): 'MyEnum'
  null

KtUserType(243,249): 'MyEnum'
  null

KtNameReferenceExpression(243,249): 'MyEnum'
  null

KtValueArgumentList(250,266): '(id(EnumValue1))'
  null

KtValueArgument(251,265): 'id(EnumValue1)'
  null

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

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

KtValueArgumentList(253,265): '(EnumValue1)'
  null

KtValueArgument(254,264): 'EnumValue1'
  null

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