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 {'
  KaInapplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /take(action: (T) -> kotlin.Unit): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = action
            receiverType = null
            returnType = (ERROR CLASS: Cannot infer argument for type parameter T) -> kotlin.Unit
            symbol = action: (T) -> kotlin.Unit
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /take
      typeArgumentsMapping = {
        T -> (ERROR CLASS: Cannot infer argument for type parameter T)
      }
      valueArgumentMapping = {
        {
            lambdaParam: Foo.Bar ->
        } -> (KaVariableSignature:
          name = action
          receiverType = null
          returnType = (ERROR CLASS: Cannot infer argument for type parameter T) -> kotlin.Unit
          symbol = action: (T) -> kotlin.Unit
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<EXPECTED_PARAMETER_TYPE_MISMATCH: Parameter type mismatch: actual type is '??? (Unresolved qualified name: Foo.Bar)', but 'uninferred T (of fun <T> take)' was expected.>
    isInBestCandidates = true

KtNameReferenceExpression(145,149): 'take'
  KaInapplicableCallCandidate:
    candidate = KaSimpleFunctionCall:
      contextArgumentMapping = {}
      contextArguments = []
      dispatchReceiver = null
      extensionReceiver = null
      signature = KaFunctionSignature:
        receiverType = null
        returnType = kotlin.Unit
        symbol = /take(action: (T) -> kotlin.Unit): kotlin.Unit
        valueParameters = [
          KaVariableSignature:
            name = action
            receiverType = null
            returnType = (ERROR CLASS: Cannot infer argument for type parameter T) -> kotlin.Unit
            symbol = action: (T) -> kotlin.Unit
            contextParameters = []
            callableId = null
        ]
        contextParameters = []
        callableId = /take
      typeArgumentsMapping = {
        T -> (ERROR CLASS: Cannot infer argument for type parameter T)
      }
      valueArgumentMapping = {
        {
            lambdaParam: Foo.Bar ->
        } -> (KaVariableSignature:
          name = action
          receiverType = null
          returnType = (ERROR CLASS: Cannot infer argument for type parameter T) -> kotlin.Unit
          symbol = action: (T) -> kotlin.Unit
          contextParameters = []
          callableId = null)
      }
    diagnostic = ERROR<EXPECTED_PARAMETER_TYPE_MISMATCH: Parameter type mismatch: actual type is '??? (Unresolved qualified name: Foo.Bar)', but 'uninferred T (of fun <T> take)' 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
