KtFile: 'main.kt'
  null

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

KtNameReferenceExpression(33,37): 'main'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      main
    ]

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

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

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

KtNameReferenceExpression(46,50): 'test'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test
    ]

KtNameReferenceExpression(51,54): 'Foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

KtImportDirective(55,74): 'import test.Foo.BAR'
  null

KtDotQualifiedExpression(62,74): 'test.Foo.BAR'
  null

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

KtNameReferenceExpression(62,66): 'test'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test
    ]

KtNameReferenceExpression(67,70): 'Foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

KtNameReferenceExpression(71,74): 'BAR'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo.BAR
    ]

KtNamedFunction(76,103): 'fun expectsFoo(foo: Foo) {}'
  null

KtParameterList(90,100): '(foo: Foo)'
  null

KtParameter(91,99): 'foo: Foo'
  null

KtTypeReference(96,99): 'Foo'
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

KtUserType(96,99): 'Foo'
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

KtNameReferenceExpression(96,99): 'Foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

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

KtNamedFunction(105,160): 'fun usage(): Foo {'
  null

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

KtTypeReference(118,121): 'Foo'
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

KtUserType(118,121): 'Foo'
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

KtNameReferenceExpression(118,121): 'Foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo
    ]

KtBlockExpression(122,160): '{'
  null

KtCallExpression(128,143): 'expectsFoo(BAR)'
  KaSymbolResolutionSuccess:
    symbols = [
      main/expectsFoo(foo: test.Foo): kotlin.Unit
    ]

KtNameReferenceExpression(128,138): 'expectsFoo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      main/expectsFoo(foo: test.Foo): kotlin.Unit
    ]

KtValueArgumentList(138,143): '(BAR)'
  null

KtValueArgument(139,142): 'BAR'
  null

KtNameReferenceExpression(139,142): 'BAR'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: ImportCanBeRemoved
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo.BAR
    ]

KtReturnExpression(148,158): 'return BAR'
  KaSymbolResolutionSuccess:
    symbols = [
      main/usage(): test.Foo
    ]

KtNameReferenceExpression(155,158): 'BAR'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: ImportCanBeRemoved
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      test/Foo.BAR
    ]
