KtFile: 'extensions.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,185): 'class MyClass {'
  null

KtClassBody(92,185): '{'
  null

KtObjectDeclaration(98,183): 'companion object {'
  null

KtDeclarationModifierList(98,107): 'companion'
  null

KtClassBody(115,183): '{'
  null

KtProperty(125,177): 'val MyClass.Companion.bar: MyClass get() = MyClass()'
  null

KtTypeReference(129,146): 'MyClass.Companion'
  null

KtUserType(129,146): 'MyClass.Companion'
  null

KtUserType(129,136): 'MyClass'
  null

KtNameReferenceExpression(129,136): 'MyClass'
  null

KtNameReferenceExpression(137,146): 'Companion'
  null

KtTypeReference(152,159): 'MyClass'
  null

KtUserType(152,159): 'MyClass'
  null

KtNameReferenceExpression(152,159): 'MyClass'
  null

KtPropertyAccessor(160,177): 'get() = MyClass()'
  null

KtParameterList(163,165): '()'
  null

KtCallExpression(168,177): 'MyClass()'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass
        symbol = <constructor>(): MyClass
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

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

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

KtNamedFunction(187,209): 'fun foo(a: MyClass) {}'
  null

KtParameterList(194,206): '(a: MyClass)'
  null

KtParameter(195,205): 'a: MyClass'
  null

KtTypeReference(198,205): 'MyClass'
  null

KtUserType(198,205): 'MyClass'
  null

KtNameReferenceExpression(198,205): 'MyClass'
  null

KtBlockExpression(207,209): '{}'
  null

KtNamedFunction(211,259): 'fun main() {'
  null

KtParameterList(219,221): '()'
  null

KtBlockExpression(222,259): '{'
  null

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

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

KtValueArgumentList(231,244): '(MyClass.bar)'
  null

KtValueArgument(232,243): 'MyClass.bar'
  null

KtDotQualifiedExpression(232,243): 'MyClass.bar'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleVariableAccessCall:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = MyClass
          isSafeNavigation = false
          type = MyClass.Companion
        isContextSensitive = false
        kind = Read
        signature = KaVariableSignature:
          name = bar
          receiverType = MyClass2.Companion
          returnType = MyClass2
          symbol = val bar: MyClass2
          contextParameters = []
          callableId = /bar
        typeArgumentsMapping = {}
    ]
    diagnostic = ERROR<UNRESOLVED_REFERENCE_WRONG_RECEIVER: Candidate 'val MyClass2.Companion.bar: MyClass2' is inapplicable because of a receiver type mismatch.>

KtNameReferenceExpression(232,239): 'MyClass'
  null

KtNameReferenceExpression(240,243): 'bar'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleVariableAccessCall:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = KaExplicitReceiverValue:
          expression = MyClass
          isSafeNavigation = false
          type = MyClass.Companion
        isContextSensitive = false
        kind = Read
        signature = KaVariableSignature:
          name = bar
          receiverType = MyClass2.Companion
          returnType = MyClass2
          symbol = val bar: MyClass2
          contextParameters = []
          callableId = /bar
        typeArgumentsMapping = {}
    ]
    diagnostic = ERROR<UNRESOLVED_REFERENCE_WRONG_RECEIVER: Candidate 'val MyClass2.Companion.bar: MyClass2' is inapplicable because of a receiver type mismatch.>

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

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

KtValueArgumentList(252,257): '(bar)'
  null

KtValueArgument(253,256): 'bar'
  null

KtNameReferenceExpression(253,256): 'bar'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'bar'.>

KtClass(261,300): 'class MyClass2 {'
  null

KtClassBody(276,300): '{'
  null

KtObjectDeclaration(282,298): 'companion object'
  null

KtDeclarationModifierList(282,291): 'companion'
  null

KtProperty(302,357): 'val MyClass2.Companion.bar: MyClass2 get() = MyClass2()'
  null

KtTypeReference(306,324): 'MyClass2.Companion'
  null

KtUserType(306,324): 'MyClass2.Companion'
  null

KtUserType(306,314): 'MyClass2'
  null

KtNameReferenceExpression(306,314): 'MyClass2'
  null

KtNameReferenceExpression(315,324): 'Companion'
  null

KtTypeReference(330,338): 'MyClass2'
  null

KtUserType(330,338): 'MyClass2'
  null

KtNameReferenceExpression(330,338): 'MyClass2'
  null

KtPropertyAccessor(339,357): 'get() = MyClass2()'
  null

KtParameterList(342,344): '()'
  null

KtCallExpression(347,357): 'MyClass2()'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass2
        symbol = <constructor>(): MyClass2
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtNameReferenceExpression(347,355): 'MyClass2'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = MyClass2
        symbol = <constructor>(): MyClass2
        valueParameters = []
        contextParameters = []
        callableId = null
      typeArgumentsMapping = {}
      valueArgumentMapping = {}

KtValueArgumentList(355,357): '()'
  null

KtNamedFunction(359,383): 'fun foo2(a: MyClass2) {}'
  null

KtParameterList(367,380): '(a: MyClass2)'
  null

KtParameter(368,379): 'a: MyClass2'
  null

KtTypeReference(371,379): 'MyClass2'
  null

KtUserType(371,379): 'MyClass2'
  null

KtNameReferenceExpression(371,379): 'MyClass2'
  null

KtBlockExpression(381,383): '{}'
  null

KtNamedFunction(385,437): 'fun main2() {'
  null

KtParameterList(394,396): '()'
  null

KtBlockExpression(397,437): '{'
  null

KtCallExpression(403,421): 'foo2(MyClass2.bar)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo2(a: MyClass2): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyClass2
            symbol = a: MyClass2
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo2
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        MyClass2.bar -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyClass2
          symbol = a: MyClass2
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(403,407): 'foo2'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo2(a: MyClass2): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyClass2
            symbol = a: MyClass2
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo2
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        MyClass2.bar -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyClass2
          symbol = a: MyClass2
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(407,421): '(MyClass2.bar)'
  null

KtValueArgument(408,420): 'MyClass2.bar'
  null

KtDotQualifiedExpression(408,420): 'MyClass2.bar'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = KaExplicitReceiverValue:
        expression = MyClass2
        isSafeNavigation = false
        type = MyClass2.Companion
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = bar
        receiverType = MyClass2.Companion
        returnType = MyClass2
        symbol = val bar: MyClass2
        contextParameters = []
        callableId = /bar
      typeArgumentsMapping = {}

KtNameReferenceExpression(408,416): 'MyClass2'
  null

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

KtCallExpression(426,435): 'foo2(bar)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo2(a: MyClass2): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyClass2
            symbol = a: MyClass2
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo2
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        bar -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyClass2
          symbol = a: MyClass2
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(426,430): 'foo2'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /foo2(a: MyClass2): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = a
            receiverType = null
            returnType = MyClass2
            symbol = a: MyClass2
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /foo2
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        bar -> (KaVariableSignature:
          name = a
          receiverType = null
          returnType = MyClass2
          symbol = a: MyClass2
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(430,435): '(bar)'
  null

KtValueArgument(431,434): 'bar'
  null

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