KtFile: 'GenericClassNameBeforeOneUnresolvedClass.kt'
  NO_CANDIDATES

KtPackageDirective(0,0): ''
  NO_CANDIDATES

KtImportList(0,0): ''
  NO_CANDIDATES

KtClass(1,13): 'class Foo<T>'
  NO_CANDIDATES

KtTypeParameterList(10,13): '<T>'
  NO_CANDIDATES

KtTypeParameter(11,12): 'T'
  NO_CANDIDATES

KtClass(15,48): 'class C {'
  NO_CANDIDATES

KtClassBody(23,48): '{'
  NO_CANDIDATES

KtProperty(29,46): 'val prop: Foo.Bar'
  NO_CANDIDATES

KtTypeReference(39,46): 'Foo.Bar'
  NO_CANDIDATES

KtUserType(39,46): 'Foo.Bar'
  NO_CANDIDATES

KtUserType(39,42): 'Foo'
  NO_CANDIDATES

KtNameReferenceExpression(39,42): 'Foo'
  NO_CANDIDATES

KtNameReferenceExpression(43,46): 'Bar'
  NO_CANDIDATES

KtNamedFunction(50,94): 'fun testFun() {'
  NO_CANDIDATES

KtParameterList(61,63): '()'
  NO_CANDIDATES

KtBlockExpression(64,94): '{'
  NO_CANDIDATES

KtProperty(70,92): 'val localProp: Foo.Bar'
  NO_CANDIDATES

KtTypeReference(85,92): 'Foo.Bar'
  NO_CANDIDATES

KtUserType(85,92): 'Foo.Bar'
  NO_CANDIDATES

KtUserType(85,88): 'Foo'
  NO_CANDIDATES

KtNameReferenceExpression(85,88): 'Foo'
  NO_CANDIDATES

KtNameReferenceExpression(89,92): 'Bar'
  NO_CANDIDATES

KtNamedFunction(96,132): 'fun <T> take(action: (T) -> Unit) {}'
  NO_CANDIDATES

KtTypeParameterList(100,103): '<T>'
  NO_CANDIDATES

KtTypeParameter(101,102): 'T'
  NO_CANDIDATES

KtParameterList(108,129): '(action: (T) -> Unit)'
  NO_CANDIDATES

KtParameter(109,128): 'action: (T) -> Unit'
  NO_CANDIDATES

KtTypeReference(117,128): '(T) -> Unit'
  NO_CANDIDATES

KtFunctionType(117,128): '(T) -> Unit'
  NO_CANDIDATES

KtParameterList(117,120): '(T)'
  NO_CANDIDATES

KtParameter(118,119): 'T'
  NO_CANDIDATES

KtTypeReference(118,119): 'T'
  NO_CANDIDATES

KtUserType(118,119): 'T'
  NO_CANDIDATES

KtNameReferenceExpression(118,119): 'T'
  NO_CANDIDATES

KtTypeReference(124,128): 'Unit'
  NO_CANDIDATES

KtUserType(124,128): 'Unit'
  NO_CANDIDATES

KtNameReferenceExpression(124,128): 'Unit'
  NO_CANDIDATES

KtBlockExpression(130,132): '{}'
  NO_CANDIDATES

KtProperty(134,181): 'val prop = take {'
  NO_CANDIDATES

KtCallExpression(145,181): 'take {'
  KaInapplicableCallCandidateInfo:
    candidate = KaSimpleFunctionCall:
      argumentMapping = {
        {
            lambdaParam: Foo.Bar ->
        } -> (KaVariableSignature:
          name = action
          receiverType = null
          returnType = kotlin.Function1<ERROR CLASS: Cannot infer argument for type parameter T, kotlin.Unit>
          symbol = action: kotlin.Function1<T, kotlin.Unit>
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /take(action: kotlin.Function1<T, kotlin.Unit>): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = action
              receiverType = null
              returnType = kotlin.Function1<ERROR CLASS: Cannot infer argument for type parameter T, kotlin.Unit>
              symbol = action: kotlin.Function1<T, kotlin.Unit>
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /take
      typeArgumentsMapping = {
        T -> (ERROR CLASS: Cannot infer argument for type parameter T)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'Function1<ERROR CLASS: Symbol not found for Foo.Bar, Unit>', but 'Function1<uninferred T (of fun <T> take), Unit>' was expected.>
    isInBestCandidates = true

KtNameReferenceExpression(145,149): 'take'
  KaInapplicableCallCandidateInfo:
    candidate = KaSimpleFunctionCall:
      argumentMapping = {
        {
            lambdaParam: Foo.Bar ->
        } -> (KaVariableSignature:
          name = action
          receiverType = null
          returnType = kotlin.Function1<ERROR CLASS: Cannot infer argument for type parameter T, kotlin.Unit>
          symbol = action: kotlin.Function1<T, kotlin.Unit>
          contextParameters = []
          callableId = null)
      }
      isImplicitInvoke = false
      partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /take(action: kotlin.Function1<T, kotlin.Unit>): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = action
              receiverType = null
              returnType = kotlin.Function1<ERROR CLASS: Cannot infer argument for type parameter T, kotlin.Unit>
              symbol = action: kotlin.Function1<T, kotlin.Unit>
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /take
      typeArgumentsMapping = {
        T -> (ERROR CLASS: Cannot infer argument for type parameter T)
      }
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'Function1<ERROR CLASS: Symbol not found for Foo.Bar, Unit>', but 'Function1<uninferred T (of fun <T> take), Unit>' was expected.>
    isInBestCandidates = true

KtLambdaArgument(150,181): '{'
  NO_CANDIDATES

KtLambdaExpression(150,181): '{'
  NO_CANDIDATES

KtFunctionLiteral(150,181): '{'
  NO_CANDIDATES

KtParameterList(156,176): 'lambdaParam: Foo.Bar'
  NO_CANDIDATES

KtParameter(156,176): 'lambdaParam: Foo.Bar'
  NO_CANDIDATES

KtTypeReference(169,176): 'Foo.Bar'
  NO_CANDIDATES

KtUserType(169,176): 'Foo.Bar'
  NO_CANDIDATES

KtUserType(169,172): 'Foo'
  NO_CANDIDATES

KtNameReferenceExpression(169,172): 'Foo'
  NO_CANDIDATES

KtNameReferenceExpression(173,176): 'Bar'
  NO_CANDIDATES

KtBlockExpression(180,180): ''
  NO_CANDIDATES