null-state analysis
The compiler tracking whether each reference might be null at each point.
Flow analysis assigns each reference expression a null state (not-null or maybe-null) and warns on dereferences and assignments that may be null.
Examples
After
if (name is null) return;, the compiler knowsnameisn't null, soname.Lengthgets no warning.