KtFile: 'main.kt'
  null

KtPackageDirective(25,37): 'package main'
  null

KtNameReferenceExpression(33,37): 'main'
  null

KtImportList(39,72): 'import test.Foo'
  null

KtImportDirective(39,54): 'import test.Foo'
  null

KtDotQualifiedExpression(46,54): 'test.Foo'
  null

KtNameReferenceExpression(46,50): 'test'
  null

KtNameReferenceExpression(51,54): 'Foo'
  null

KtImportDirective(55,72): 'import test.Foo.*'
  null

KtDotQualifiedExpression(62,70): 'test.Foo'
  null

KtNameReferenceExpression(62,66): 'test'
  null

KtNameReferenceExpression(67,70): 'Foo'
  null

KtNamedFunction(74,101): 'fun expectsFoo(foo: Foo) {}'
  null

KtParameterList(88,98): '(foo: Foo)'
  null

KtParameter(89,97): 'foo: Foo'
  null

KtTypeReference(94,97): 'Foo'
  null

KtUserType(94,97): 'Foo'
  null

KtNameReferenceExpression(94,97): 'Foo'
  null

KtBlockExpression(99,101): '{}'
  null

KtNamedFunction(103,158): 'fun usage(): Foo {'
  null

KtParameterList(112,114): '()'
  null

KtTypeReference(116,119): 'Foo'
  null

KtUserType(116,119): 'Foo'
  null

KtNameReferenceExpression(116,119): 'Foo'
  null

KtBlockExpression(120,158): '{'
  null

KtCallExpression(126,141): 'expectsFoo(BAR)'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = main/expectsFoo(foo: test.Foo): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = foo
            receiverType = null
            returnType = test.Foo
            symbol = foo: test.Foo
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = main/expectsFoo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        BAR -> (KaVariableSignature:
          name = foo
          receiverType = null
          returnType = test.Foo
          symbol = foo: test.Foo
          contextParameters = []
          callableId = null)
      }

KtNameReferenceExpression(126,136): 'expectsFoo'
  KaCallResolutionSuccess:
    call = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = main/expectsFoo(foo: test.Foo): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = foo
            receiverType = null
            returnType = test.Foo
            symbol = foo: test.Foo
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = main/expectsFoo
      typeArgumentsMapping = {}
      valueArgumentMapping = {
        BAR -> (KaVariableSignature:
          name = foo
          receiverType = null
          returnType = test.Foo
          symbol = foo: test.Foo
          contextParameters = []
          callableId = null)
      }

KtValueArgumentList(136,141): '(BAR)'
  null

KtValueArgument(137,140): 'BAR'
  null

KtNameReferenceExpression(137,140): 'BAR'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = BAR
        receiverType = null
        returnType = test.Foo
        symbol = test/Foo.BAR
        contextParameters = []
        callableId = test/Foo.BAR
      typeArgumentsMapping = {}

KtReturnExpression(146,156): 'return BAR'
  null

KtNameReferenceExpression(153,156): 'BAR'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = BAR
        receiverType = null
        returnType = test.Foo
        symbol = test/Foo.BAR
        contextParameters = []
        callableId = test/Foo.BAR
      typeArgumentsMapping = {}
