KtFile: 'noContextSensitiveResolutionShouldHappen.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

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

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(96,108): '{'
  null

KtEnumEntry(102,104): 'X,'
  null

KtEnumEntry(105,106): 'Y'
  null

KtClass(110,143): 'enum class WrongEnum {'
  null

KtDeclarationModifierList(110,114): 'enum'
  null

KtClassBody(131,143): '{'
  null

KtEnumEntry(137,139): 'A,'
  null

KtEnumEntry(140,141): 'B'
  null

KtNamedFunction(145,166): 'fun foo(a: MyEnum) {}'
  null

KtParameterList(152,163): '(a: MyEnum)'
  null

KtParameter(153,162): 'a: MyEnum'
  null

KtTypeReference(156,162): 'MyEnum'
  null

KtUserType(156,162): 'MyEnum'
  null

KtNameReferenceExpression(156,162): 'MyEnum'
  null

KtBlockExpression(164,166): '{}'
  null

KtNamedFunction(168,213): 'fun baz() {'
  null

KtParameterList(175,177): '()'
  null

KtBlockExpression(178,213): '{'
  null

KtCallExpression(184,190): 'foo(X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(184,187): 'foo'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        X -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(187,190): '(X)'
  null

KtValueArgument(188,189): 'X'
  null

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

KtCallExpression(195,211): 'foo(WrongEnum.X)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        WrongEnum.X -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(195,198): 'foo'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo(a: MyEnum): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyEnum
            symbol = a: MyEnum
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        WrongEnum.X -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyEnum
          symbol = a: MyEnum
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(198,211): '(WrongEnum.X)'
  null

KtValueArgument(199,210): 'WrongEnum.X'
  null

KtDotQualifiedExpression(199,210): 'WrongEnum.X'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtNameReferenceExpression(199,208): 'WrongEnum'
  null

KtNameReferenceExpression(209,210): 'X'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'X'.>

KtClass(215,248): '@DslMarker'
  null

KtDeclarationModifierList(215,236): '@DslMarker'
  null

KtAnnotationEntry(215,225): '@DslMarker'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.DslMarker
        symbol = <constructor>(): kotlin.DslMarker
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(216,225): 'DslMarker'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.DslMarker
        symbol = <constructor>(): kotlin.DslMarker
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(216,225): 'DslMarker'
  null

KtUserType(216,225): 'DslMarker'
  null

KtNameReferenceExpression(216,225): 'DslMarker'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.DslMarker
        symbol = <constructor>(): kotlin.DslMarker
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtClass(250,264): '@MyDsl'
  null

KtDeclarationModifierList(250,256): '@MyDsl'
  null

KtAnnotationEntry(250,256): '@MyDsl'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyDsl
        symbol = <constructor>(): MyDsl
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(251,256): 'MyDsl'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyDsl
        symbol = <constructor>(): MyDsl
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(251,256): 'MyDsl'
  null

KtUserType(251,256): 'MyDsl'
  null

KtNameReferenceExpression(251,256): 'MyDsl'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyDsl
        symbol = <constructor>(): MyDsl
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtClass(266,280): '@MyDsl'
  null

KtDeclarationModifierList(266,272): '@MyDsl'
  null

KtAnnotationEntry(266,272): '@MyDsl'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyDsl
        symbol = <constructor>(): MyDsl
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtConstructorCalleeExpression(267,272): 'MyDsl'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyDsl
        symbol = <constructor>(): MyDsl
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtTypeReference(267,272): 'MyDsl'
  null

KtUserType(267,272): 'MyDsl'
  null

KtNameReferenceExpression(267,272): 'MyDsl'
  KaCallResolutionSuccess:
    call = KaAnnotationCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyDsl
        symbol = <constructor>(): MyDsl
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtProperty(282,308): 'val A.X: String get() = ""'
  null

KtTypeReference(286,287): 'A'
  null

KtUserType(286,287): 'A'
  null

KtNameReferenceExpression(286,287): 'A'
  null

KtTypeReference(291,297): 'String'
  null

KtUserType(291,297): 'String'
  null

KtNameReferenceExpression(291,297): 'String'
  null

KtPropertyAccessor(298,308): 'get() = ""'
  null

KtParameterList(301,303): '()'
  null

KtStringTemplateExpression(306,308): '""'
  null

KtNamedFunction(310,364): 'fun A.foo() {'
  null

KtTypeReference(314,315): 'A'
  null

KtUserType(314,315): 'A'
  null

KtNameReferenceExpression(314,315): 'A'
  null

KtParameterList(319,321): '()'
  null

KtBlockExpression(322,364): '{'
  null

KtNamedFunction(328,362): 'fun B.bar() {'
  null

KtTypeReference(332,333): 'B'
  null

KtUserType(332,333): 'B'
  null

KtNameReferenceExpression(332,333): 'B'
  null

KtParameterList(337,339): '()'
  null

KtBlockExpression(340,362): '{'
  null

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

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

KtValueArgumentList(353,356): '(X)'
  null

KtValueArgument(354,355): 'X'
  null

KtNameReferenceExpression(354,355): 'X'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleVariableAccessCall:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaImplicitReceiverValue:
          symbol = KaReceiverParameterSymbol:
            anchorPsi: KtTypeReference
            annotations: []
            callableId: null
            contextParameters: []
            contextReceivers: []
            isActual: false
            isCompanion: false
            isDelegated: false
            isExpect: false
            isExtension: false
            isExternal: false
            isVal: true
            location: LOCAL
            modality: FINAL
            name: <receiver>
            origin: SOURCE
            owningCallableSymbol: KaNamedFunctionSymbol(/foo)
            psi: KtTypeReference
            realPsi: KtTypeReference
            receiverParameter: null
            returnType: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: A
            typeParameters: []
            visibility: PUBLIC
          type = A
        isContextSensitive = false
        kind = Read
        signature = KaVariableSignature:
          name = X
          receiverType = A
          returnType = kotlin.String
          symbol = val X: kotlin.String
          contextParameters = []
          callableId = /X
        typeArgumentsMapping = {}
    ]
    diagnostic = ERROR<DSL_SCOPE_VIOLATION: 'val A.X: String' cannot be called in this context with an implicit receiver. Use an explicit receiver if necessary.>
