public FlowState(TypeSystem typeSystem)
 {
     this.typeSystem = typeSystem;
     Clear();
 }
 /// <summary>
 /// Creates a new NullCheckingEngine instance for the specified compilation.
 /// Note: for Roslyn's flow analysis to be useful to the inference, the given compilation should have as many reference types
 /// annotated as nullable as possible. This can be accomplished by using <see cref="AllNullableSyntaxRewriter.MakeAllReferenceTypesNullable"/>.
 /// </summary>
 public NullCheckingEngine(CSharpCompilation compilation)
 {
     this.compilation = compilation;
     this.typeSystem  = new TypeSystem(compilation);
 }