// A test that the must-call type of an object tested against null
// is always empty.

import java.io.*;
import org.checkerframework.checker.mustcall.qual.*;

class NullableTransfer {

  void test(@Owning InputStream is) {
    if (is == null) {
      @MustCall({}) InputStream is2 = is;
    } else {
      // :: error: (assignment)
      @MustCall({}) InputStream is3 = is;
      @MustCall("close") InputStream is4 = is;
    }
  }
}
