KtFile: 'GenericClassNameBeforeOneUnresolvedClass.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

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

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

KtTypeParameter(11,12): 'T'
  null

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

KtClassBody(23,48): '{'
  null

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

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

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

KtUserType(39,42): 'Foo'
  null

KtNameReferenceExpression(39,42): 'Foo'
  null

KtNameReferenceExpression(43,46): 'Bar'
  null

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

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

KtBlockExpression(64,94): '{'
  null

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

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

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

KtUserType(85,88): 'Foo'
  null

KtNameReferenceExpression(85,88): 'Foo'
  null

KtNameReferenceExpression(89,92): 'Bar'
  null

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

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

KtTypeParameter(101,102): 'T'
  null

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

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

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

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

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

KtParameter(118,119): 'T'
  null

KtTypeReference(118,119): 'T'
  null

KtUserType(118,119): 'T'
  null

KtNameReferenceExpression(118,119): 'T'
  null

KtTypeReference(124,128): 'Unit'
  null

KtUserType(124,128): 'Unit'
  null

KtNameReferenceExpression(124,128): 'Unit'
  null

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

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

KtCallExpression(145,181): 'take {'
  KaCallResolutionError:
    candidateCalls = [
      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.>

KtNameReferenceExpression(145,149): 'take'
  KaCallResolutionError:
    candidateCalls = [
      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.>

KtLambdaArgument(150,181): '{'
  null

KtLambdaExpression(150,181): '{'
  null

KtFunctionLiteral(150,181): '{'
  null

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

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

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

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

KtUserType(169,172): 'Foo'
  null

KtNameReferenceExpression(169,172): 'Foo'
  null

KtNameReferenceExpression(173,176): 'Bar'
  null

KtBlockExpression(180,180): ''
  null
