Como o Resharper sabe "Expressão é sempre verdadeira"?

Confira o seguinte código:

private void Foo(object bar)
{
   Type type = bar.GetType();

    if (type != null) // Expression is always true
    {   
    }
}

Reivindicações de compartilhador de novotype nunca seránull. Isso é óbvio para mim, porque sempre haverá um tipo parabar, mas como o Resharper sabe disso? Como pode saber que o resultado de um método nunca seránull.

Type não é uma estrutura, então não pode ser isso. E se o método foi escrito por mim, o valor de retorno certamente poderia sernull (não necessariamente GetType, mas outra coisa).

O Resharper é inteligente o suficiente para saber que, somente para esse método específico, o resultado nunca seránull ? (Como se houvesse uma lista codificada de métodos .Net conhecidos que nunca retornarão nulos)

questionAnswers(4)

yourAnswerToTheQuestion